]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Add loongson tests.
[grub2.git] / ChangeLog
CommitLineData
eac49cff
VS
12012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Add loongson tests.
4
5 * tests/util/grub-shell.in: Handle loongson.
6 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7 drivers.
8 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9 Reboot instead of shutdown if REBOOT is defined.
10
0321415e
VS
112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
14 sized ports since unlike on real hardware qemu supports only 32-bit
15 regs.
16
3f2bdd8f
VS
172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * Makefile.util.def (grub-mkrescue): Enable on loongson.
20 * util/grub-mkrescue.in: Handle loongson.
21
29a049c9
VS
222012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
25 Set is_part appropriately.
26 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
27 names. Canonicalize partition without full disk.
28
4abde346
VS
292012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Revert usb-quiesce since it's wrong.
32
33 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
34 (grub_ofdisk_init): Don't do quiesce.
35
61f1d93b
VS
362012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
39 PowerMac workaround to Xserves as well.
40 Information supplied by: Benjamin Herrenschmidt.
41
a09eb541
VS
422012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Don't assume that beginning address is also the entry point on ppc.
45
46 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
47 (grub_linux_boot): Use linux_entry.
48 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
49 (grub_linux_load64): Likewise.
50
505b3c9b
VS
512012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
54
cbe0b4ef
VS
552012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
58 needlessly lose the console.
59
3006e981
VS
602012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
63 space.
64
4e5a96b0
VS
652012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
66
7da036bb
VS
67 Remove non-functional EFI grub_get_rtc. Put a better fatal message
68 than current grub_get_rtc() not implemented when booted with
69 coreboot without TSC.
70
71 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
72 Add machine/time.h to kernel headers on loongson.
73 * grub-core/Makefile.core.def (kernel): Remove
74 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
75 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
76 (grub_get_rtc): Likewise.
77 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
78 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
79 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
80 * grub-core/kern/i386/tsc.c (grub_tsc_init)
81 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
82 rather than installing known non-working time source.
83 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
84 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
85 * include/grub/time.h: Don't include machine/time.h.
86 * include/grub/efi/time.h: Removed.
87 * include/grub/i386/efi/time.h: Likewise.
88 * include/grub/i386/ieee1275/time.h: Likewise.
89 * include/grub/powerpc/ieee1275/time.h: Likewise.
90 * include/grub/sparc64/ieee1275/time.h: Likewise.
91 * include/grub/x86_64/efi/time.h: Likewise.
92
932012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
96
97 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
98 value.
99 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
100 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
101 with dotless variants when any combining above is present.
102
5561c22d
VS
1032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
106 text and not binary.
107
96f7e60e
VS
1082012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
109
110 Stop polling as soon as we have the packet we were waiting for.
111
112 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
113 All users updated.
114 * grub-core/net/arp.c (have_pending): New var.
115 (pending_req): Likewise.
116 (grub_net_arp_send_request): Fill pending_req and use have_pending as
117 stop indicator.
118 (grub_net_arp_receive): Set have_pending.
119 * grub-core/net/dns.c (recv_data): New field stop.
120 (recv_hook): Set stop.
121 (grub_net_dns_lookup): Init stop and use as stop condition.
122 * grub-core/net/http.c (http_establish): Use headers_recv as stop
123 condition.
124 * grub-core/net/net.c (grub_net_poll_cards): New argument
125 stop_condition. Stop when it goes true.
126 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
127 indicator.
128 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
129
3e747239
VS
1302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Keep TX and RX buffers on EFI rather than always allocate new ones.
133
134 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
135 card. All users updated.
136 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
137 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
138 (get_card_packet): Likewise.
139 (grub_efinet_findcards): Init new fields.
140
f695e99a
VS
1412012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
144 compilation error on sparc64.
145
9e5e66d1
VS
1462012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
147
148 Use ITC on IA64 rather than broken routine based on daytime.
149
150 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
151 ia64.
152 (grub_get_rtc) [__ia64__]: Likewise.
153 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
154 (get_itc): New function.
155 (grub_rtc_get_time_ms): Likewise.
156 (grub_machine_init): Calibrate ITC.
157 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
158 Keep only on non-ia64. Don't export since it's broken and used only
159 if TSC is unavailable.
160
a1767404
VS
1612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
164 even if it's used.
165 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
166 Skip if parent is unused.
167
34b2bced
VS
1682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
171
5e619f40
VS
1722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Fix wildcard escaping.
175
176 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
177 * grub-core/script/execute.c (wildcard_escape): .. to here.
178 Don't escape dot.
179 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
180 * grub-core/script/execute.c (wildcard_unescape): .. to here.
181 Don't escape dot.
182 * grub-core/script/execute.c (gettext_append): Always escape.
183 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
184 * grub-core/script/yylex.l: Don't cut away the escaping.
185 * tests/grub_script_echo1.in: Add tests with wildcard.
186
c8ca5855
VS
1872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
190 (ftdi_hw_configure): Likewise.
191 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
192 define.
193 (real_config): Handle 1.5 stop bits.
194 (pl2303_hw_configure): Likewise.
195
7183452c
VS
1962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * Makefile.am: Add ppc linux bootcheck.
199 * grub-core/tests/boot/linux-ppc.cfg: New file.
200 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
201
f57c84cd
VS
2022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * tests/grub_script_expansion.in: Skip network protocols.
205
ecfc6207
VS
2062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
209
8d03d284
VS
2102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
213 --rom-directory.
214 Add -graft-points.
215
61c42af0
VS
2162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
217
218 ESCC serial driver for conducting sautomated tests in qemu.
219 Not tested on real hardware.
220
221 * include/grub/serial.h (grub_serial_port): New field escc_desc.
222 * grub-core/term/ieee1275/escc.c: New file.
223 * grub-core/Makefile.core.def (escc): New module.
224
08fd1291
VS
2252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
228 invalid on error.
229 (serial_hw_fetch): Don't read invalid handle.
230 (serial_hw_put): Don't write into invalid handle.
231
08dafeea
VS
2322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
233
234 Add a 1.5 stop bits value.
235
236 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
237 * include/grub/serial.h (grub_serial_stop_bits_t): Add
238 GRUB_SERIAL_STOP_BITS_1_5.
239
9068fdcf
VS
2402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
243 value rather than let it uninited.
244
f4d5820f
VS
2452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/commands/wildcard.c (+check_file): New function.
248 (wildcard_expand): Don't expand to non-existing files, expand with
249 suffix and not attempt to expand if not needed.
250
3d2de9a7
VS
2512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
254 out of partitions containing other partitions.
255
c5c81ff9
VS
2562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
259 on some qemu versions with GRUB.
260
261 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
262 define.
263 (grub_openbsd_bootarg_pcibios): New struct.
264 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
265 Add PCIINFO.
266
08a14e0b
VS
2672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * tests/util/grub-shell.in: Trim firmware output on EFI.
270
cede3ca3
VS
2712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
274 and coreboot since it's already in kernel.
275
558d3a60
VS
2762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
279 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
280 to here. New return value start. All users updated.
281 Recursively scan linear mappings.
282 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
283 proto.
284 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
285 Use grub_util_get_dm_node_linear_info.
286 * util/getroot.c (convert_system_partition_to_system_disk): Use
287 grub_util_info rather than grub_dprintf.
288 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
289
60fde14d
VS
2902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
293
294 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
295 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
296
24bd8838
VS
2972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/grub/types.h (grub_set_unaligned64): New function.
300 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
301 (setup): Likewise.
302
7bc06a49
VS
3032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
306 (grub_ofdisk_fini): Quiesce USB devices.
307
49cea015
VS
3082012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
311 caches.
312
8dcbe03b
VS
3132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
316
5b258735
VS
3172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/disk/pata.c (grub_pata_pio_read)
320 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
321 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
322
37ba07eb
VS
3232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
324
325 Extend automated tests to qemu-mips.
326
327 * Makefile.am: reorganise tests and enable qemu-mips.
328 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
329 * grub-core/tests/boot/linux.init-mips.S: New file.
330 * tests/partmap_test.in: Handle ata0 disks.
331 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
332 non-pc i386.
333
070038f8
VS
3342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
337 ia64.
338 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
339 quotes while on it.
340
004be2cd
VS
3412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
344 (grub_halt): Likewise.
345 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
346
b1622487
VS
3472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/term/serial.c (grub_serial_register)
350 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
351 the behaviour in line with x86 platforms.
352
b7b4ab33
VS
3532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
356 (grub_ata_strncpy): Likewise.
357 (grub_ata_identify): Add missing byteswaps.
358
5e3535ae
VS
3592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
362 byte-swap.
363 (screen_read_char): Likewise.
364 (grub_vga_text_cls): Likewise.
365
c21b17e6
VS
3662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
369 filenames.
370 (make_file_path): Likewise.
371
bf293dec
VS
3722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
375 machines.
376 Tested by: Paulo Flabiano Smorigo.
377 Crucial information about API supplied by: Coleen <Last name unknown>.
378 Reviewed by: Coleen <Last name unknown>.
379
81f6ef0e
VS
3802012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * util/grub-mkimage.c: Disable -Wcast-align.
383
7284143a
VS
3842012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
387 as they are fatal.
388
b99f3e00
VS
3892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
392
944f752d
VS
3932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * util/grub-probe.c (escape_of_path): Fix double free.
396
6cce6f38
VS
3972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/commands/videoinfo.c (hook): Show pitch.
400
1e1eb50e
VS
4012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * util/grub.d/20_linux_xen.in: Skip xen-syms.
404
1c715b5a
VS
4052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
408 (probe): Add ieee1275 to OFW devices.
409
007ae52d
VS
4102012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
413
4557a36d
VS
4142012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
415
416 Handle IBM OFW path.
417
418 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
419 available.
420 (of_path_of_scsi): Handle vdevice.
421
efbeefe9
VS
4222012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
425 Allocate in multiples of 16 to avoid adding a few bytes free region the
426 windows bugs upon.
427
15a940bb
VS
4282012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
431 Allocate in multiples of 16 to avoid adding a few bytes free region the
432 windows bugs upon.
433 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
434
6e5efd60
VS
4352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
438 resolutions.
439 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
440 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
441
0d3d137e
IS
4422012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
443
444 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
445
45dbe300
VS
4462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
449 resulted in \\ at the end of the line.
450
6d8db947
VS
4512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
454 (grub_parser_cmdline_state): Likewise.
455 (grub_parser_split_cmdline): Likewise.
456
de89d338
VS
4572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
460 /dev/root and /dev/dm-*.
461
00d41dee
VS
4622012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
465 fix partially stale display.
466
f95d1f11
VS
4672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/normal/menu_entry.c (backward_char): Use right line for
470 substraction.
471
6297e197
VS
4722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
475 Fix MBR remapping workaround.
476 (grub_util_biosdisk_read) [__linux__]: Likewise.
477
8a7ecad3
VS
4782012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * util/grub-install.in: Check for ieee1275 and not ieee1276.
481
2b34f944
VS
4822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * configure.ac: Bump to beta6.
485
684aef11
CW
4862012-05-31 Christer Weinigel <christer@weinigel.se>
487
488 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
489
05b0bb91
VS
4902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
493 (grub_cmd_linux): Likewise.
494
bda36bfa
CW
4952012-05-31 Christer Weinigel <christer@weinigel.se>
496
497 Fix EHCI low-speed.
498
499 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
500 (GRUB_EHCI_MULT_TWO): Likewise.
501 (GRUB_EHCI_MULT_THREE): Likewise.
502 (GRUB_EHCI_CMASK_MASK): New enum value.
503 (GRUB_EHCI_SMASK_MASK): Likewise.
504 (GRUB_EHCI_CMASK_OFF): Likewise.
505 (GRUB_EHCI_SMASK_OFF): Likewise.
506 (grub_ehci_pci_iter): Enable periodic schedule.
507 (grub_ehci_parse_notrun): Likewise.
508 (grub_ehci_restore_hw): Likewise.
509 (grub_ehci_setup_qh): Set flags for low speed transfers.
510 (grub_ehci_find_qh): Use periodic list for low speed.
511 (grub_ehci_setup_transfer): Check periodic queue as well.
512 (grub_ehci_check_transfer): Likewise.
513 (grub_ehci_cancel_transfer): Cancel periodic transfer.
514
e12bcb1c
PFS
5152012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
516
517 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
518 parameter is used.
519
bcc75fb3
PJ
5202012-05-31 Peter Jones <pjones@redhat.com>
521
522 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
523 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
524 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
525
f19cb95e
VS
5262012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
529 uninited variable. Allocate at least setup_sects.
530
a4e5ca80
VS
5312012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Fix handling of EFI with big memory maps.
534
535 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
536 (real_mode_mem): Likewise.
537 (real_mode_target): Likewise.
538 (real_mode_pages): Likewise.
539 (prot_mode_pages): Likewise.
540 (linux_params): New var.
541 (linux_cmdline): Likewise.
542 (free_pages): Don't set real mode variables.
543 (allocate_pages): Don't allocate real mode memory.
544 (grub_e820_add_region): Remove the limit.
545 (grub_linux_boot): Allocate and copy real mode memory.
546 (grub_linux_unload): Free linux_cmdline.
547 (grub_cmd_linux): Use temporary storage for parameters.
548 (grub_cmd_initrd): Likewise.
549 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
550 (linux_kernel_params): Make it 1K big.
551
ddb73558
VS
5522012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * Makefile.util.def: Remove -Wno-format.
555 * grub-core/Makefile.core.def: Likewise.
556
1c4afb60
VS
5572012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * tests/cmp_unit_test.c: Add missing failure message.
560 * tests/example_unit_test.c: Likewise.
561 * tests/printf_unit_test.c: Likewise.
562
941e3a6d
VS
5632012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
566 relaxation of protective MBR requirements.
567
b105df76
VS
5682012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * configure.ac: Add condition for COND_HOST_XNU.
571 * Makefile.util.def (10_xnu): New script.
572 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
573
84e1569e
VS
5742012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
577 objconv bug.
578
130c0f77
VS
5792012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
582 Binary on other platforms stays identical.
583
6fd0b143
VS
5842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
587 Apple.
588
0af1751d
VS
5892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
592
176d5f7d
VS
5932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
596 rather than defining size_t ourselves to avoid conflict.
597
7de5e20a
VS
5982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
601 initialisation to avoid __bzero reference.
602
f7143efe
VS
6032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
606 version.
607 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
608 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
609 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
610 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
611 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
612
e6ad0555
VS
6132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
616 * grub-core/kern/misc.c: Likewise.
617 * grub-core/loader/i386/xnu.c: Likewise.
618 * include/grub/i386/tsc.h: Likewise.
619 * include/grub/symbol.h: Likewise.
620
4a5a3c4a
VS
6212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
624 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
625 on older compiler.
626
037f6d90
VS
6272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
630 Implement Apple flavour.
631 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
632
f7194551
VS
6332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
636 (memmove) [__APPLE__]: Likewise.
637 (memcpy) [__APPLE__]: Likewise.
638 (memset) [__APPLE__]: Likewise.
639 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
640 (memmove) [__APPLE__]: Likewise.
641 (memcpy) [__APPLE__]: Likewise.
642 (memset) [__APPLE__]: Likewise.
643
85a730ca
VS
6442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
647 dependency discard.
648
40e80b94
VS
6492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/normal/main.c (read_config_file): Provide config_file and
652 config_directory.
653 * util/grub.d/41_custom.in: Use config_directoy when available.
654
9da59c32
VS
6552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
658 (grub_bfs_dir): Likewise.
659
2787ae53
PJ
6602012-05-27 Peter Jones <pjones@redhat.com>
661
662 The old code gives arguments to a printf function which can't work
663 correctly, and the compiler complains.
664
665 * grub-core/tests/example_functional_test.c (example_test): Add
666 missing text.
667 * grub-core/tests/lib/test.c (add_failure): Rewrite.
668 * include/grub/test.h (grub_test_assert_helper): New declaration.
669 (grub_test_assert): Use grub_test_assert_helper.
670
526ef13d
VS
6712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
674 (exfctest): ... this to avoid overlong filenames.
675 All users updated.
676
20dd511c
VS
6772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Handle "." and ".." on squashfs.
680
681 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
682 Make inode numbers into stack.
683 (grub_squash_read_symlink): Use stack.
684 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
685 (make_root_node): Fill stack.
686 (grub_squash_open): Use stack.
687
1d80c62a
VS
6882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
691 freeing.
692
d336f652
VS
6932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
696 stderr on test calls.
697
8b43f587
VS
6982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
701
80a3dc3f
VS
7022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
705
47e297d4
VS
7062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
709 "..".
710
df042ccb
VS
7112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
714 (grub_hfsplus_iterate_dir): Add "." and "..".
715
fc977f48
VS
7162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/fs/cpio.c (canonicalize): Handle "..".
719 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
720
f3250e5f
VS
7212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
724 (find_path): Handle "." and "..".
725
fd8ed4c5
VS
7262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
729 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
730 (grub_affs_iterate_dir): Handle hardlinks.
731
4ce776d2
MG
7322012-05-26 Matthew Garrett <mjg@redhat.com>
733
734 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
735 (grub_efi_console_fini): Likewise.
736 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
737 (grub_video_gop_fill_mode_info): Rename to ...
738 (grub_video_gop_fill_real_mode_info): ... this.
739 (grub_video_gop_fill_mode_info): New function.
740 (grub_video_gop_setup): Setup double framebuffer.
741 (grub_video_gop_get_info_and_fini): Use original framebuffer.
742 Free offscreen.
743 (grub_video_gop_swap_buffers): Copy framebuffer.
744 (grub_video_gop_fini): Free offscreen buffer.
745 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
746 New enum.
747 (grub_efi_gop_blt_pixel): New struct.
748
683031ba
VS
7492012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * gentpl.py: Remove error disabling for objconv.
752
c2deb798
VS
7532012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * configure.ac: Remove -Wunitialized as it's not available on older
756 compilers.
757
7582012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
759
760 Fix extent overflow comparator.
761
762 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
763 (grub_hfsplus_read_block): Set type.
764 (grub_hfsplus_cmp_extkey): Compare type.
765
d6b1fd36
VS
7662012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
769
0a9aa0f6
VS
7702012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
773 than 0.
774
8360e159
VS
7752012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
778 (dejavu_bold_14.pf2): New target.
779
501b9e4b
VS
7802012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * configure.ac: Fix djvu font detection.
783
7026b0e2
VS
7842012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
787 ext* instead of ext2.
788
c2a51ade
VS
7892012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
792 name with \0.
793
8f803a5d
JU
7942012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
795
796 * docs/grub-dev.texi: Remove dot from .png.
797
13c6353f
VS
7982012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
801 protective entry in any slot.
802 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
803 if protective entry is found in any slot.
804
805 Protective entry in non-first slot make no sense but is a widespread
806 brain damage.
807
4cf6be1b
VS
8082012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
811
937d1c44
VS
8122012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
815 with old reiserfs.
816 (grub_reiserfs_open): Don't free root.
817
021d90ec
VS
8182012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
821 after freeing for safety.
822
967b2b64
VS
8232012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
826 Reported by: Jordan Uggla.
827
34274d02
JU
8282012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
829
967b2b64
VS
830 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
831 actual implementation. Specifically, clarify that the grub menu will
832 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
833 passed.
34274d02 834
dcaaae9d
BH
8352012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
836
837 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
838 of r0.
839
7086ad52
VS
8402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Remove unjustified hard dependency of normal.mod on gfxterm.
843
844 * include/grub/term.h (grub_term_output): New member fullscreen.
845 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
846 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
847 (grub_gfxterm): Set .fullscreen.
848 * grub-core/normal/menu.c (menu_init): Use fullscreen.
849 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
850
37ed2c9b
VS
8512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
854 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 855 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 856
a4469c88
VS
8572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
860
4e461486
VS
8612012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
864 a bad FS.
865
aa78f5c4
VS
8662012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
869 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
870
197626b5
VS
8712012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
874 (grub_jfs_mount): Fill caseins.
875 (grub_jfs_find_file): Respect caseins.
876
8ad3f28c
VS
8772012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
880 through UTF-16.
881
0c6c324e
VS
8822012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
885 New argument origpath. All users updated.
886
c6666ba6
VS
8872012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
890 (read_attr): Ensure that we read start of possibly compressed block.
891
e28e5fe5
VS
8922012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
895 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
896 All users updated.
897
5fc23ab2
VS
8982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
901 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
902 (dejavu.pf2): Replace with ...
903 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
904 this.
905
79dbc21c
VS
9062012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * util/grub.d/20_linux_xen.in: Add missing line.
909
d2fcfb0c
VS
9102012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
913 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
914 (grub_utf16_to_utf8): Likewise.
915
5560e9d6
VS
9162012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
919 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
920 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
921 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
923 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
924
9252012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
926
927 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
928 a bad FS.
929
5560e9d6 9302012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
931
932 * grub-core/fs/udf.c (read_string): Bail out on size=0.
933 (grub_udf_read_symlink): Handle read_string failure.
934
5eae3175
VS
9352012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
938 comment.
939
c1ad82db
VS
9402012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Fix handling of UDF symlinks.
943
944 * grub-core/fs/udf.c (read_string): New argument outbuf.
945 All users updated.
946 (grub_ufs_read_symlink): Rename to ...
947 (grub_udf_read_symlink): ... this. All users updated.
948 Handle symlinks with more than one component.
949
33eca6e0
VS
9502012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
953 symlinks. Replace leading colon with a slash.
954
57f4a70b
VS
9552012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
958 filename.
959
38c8ee20
VS
9602012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
963 match in inner node.
964
2e57f28f
VS
9652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
968 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
969 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
970 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
971 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
972 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
973 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
974 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
975 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
976
fe8c2f11
VS
9772012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
978
979 Use grub-probe and not cmp to check that disk is empty.
980
981 * util/grub-install.in: Use grub-probe for zero-check.
982 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
983 (probe): Handle PRINT_ZERO_CHECK.
984 (argp_parser): Handle -t zero_check.
985
9862012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
987
988 Flush block cache on adding disk to device map.
989
990 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
991 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
992 adding.
993 (read_device_map): Likewise.
994 (open_device): Flush on opening.
995
690434e8
VS
9962012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
999 (handle_symlink): Fix off-by-one error.
1000 Canonicalize the target.
1001 (grub_cpio_dir): Canonicalize the name.
1002 Fix memory leak.
1003 Set directory.
1004 (grub_cpio_open): Canonicalize the name.
1005
742d2be6
VS
10062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1009 handling.
1010
3244fe96
VS
10112012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1014 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1015
8aeb1837
VS
10162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1019 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1020 All users updated.
8aeb1837 1021
9133fd05
VS
10222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1025 counterpart.
1026
6d521c5b
VS
10272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Fix UFS1 big file support.
1030
1031 * grub-core/fs/ufs.c (INODE): Removed.
1032 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1033 64-bit.
1034 (INODE_MODE): Simplify.
1035 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1036 (grub_ufs_lookup_symlink): Don't use INODE.
1037
21b82e17
VS
10382012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1041
1042 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1043 (grub_minix_data): Replace log_block_size with block_size.
1044 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1045 (grub_minix_mount): Fill block_size.
1046
10472012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1048
1049 * configure.ac: Bump to beta5.
1050
f417ed04
VS
10512012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Fix wrapped HFS+ handling.
1054
1055 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1056 blocks_start. All users updated.
1057 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1058 wrapping offset.
1059 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1060
607d282b
VS
10612012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 Fix long symlinks on reiserfs.
1064
1065 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1066 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1067 (grub_reiserfs_iterate_dir): Save size for non-directories.
1068 (grub_reiserfs_open): Don't reread stat block as we already know the
1069 size.
1070 (grub_reiserfs_read): Split into...
1071 (grub_reiserfs_read_real): ... and ...
1072 (grub_reiserfs_read): ...this.
1073
ae16024d
VS
10742012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 Fix non-indexed JFS.
1077
1078 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1079 (grub_jfs_data): New field namecomponentlen.
1080 (grub_jfs_mount): Fill namecomponentlen.
1081 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1082
eea1e26e
VS
10832012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1086 * tests/grub_script_echo1.in: Add tests.
1087
df760f77
VS
10882012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * util/grub-install.in: Ignore empty devicetree directory.
1091
5efb817d
B
10922012-05-08 Bean <bean123ch@gmail.com>
1093
1094 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1095 All users updated.
1096 (free_rsm): Free header as well.
1097 (free_old_fragments): Fix memory leak.
1098 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1099 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1100 (destroy_pq): Likewise.
1101 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1102
668ea6d2
VS
11032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1106 resulting hash as a precaution.
1107
1739b1fe
VS
11082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1111 '_' in variable names.
1112 * grub-core/net/net.c (grub_net_network_level_interface_register):
1113 Likewise.
1114
6ae485aa
VS
11152012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Fix AFFS with non-512B blocks.
1118
1119 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1120 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1121 (grub_affs_data): Replace blocksize with log_blocksize.
1122 (grub_affs_read_block): Fix non-512B blocks.
1123 (grub_affs_read_symlink): Likewise.
1124 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1125 (grub_affs_read): Fix non-512B blocks.
1126 (grub_affs_label): Likewise.
1127 (grub_affs_mtime): Likewise.
1128 (grub_affs_mount): Fix block detection routine.
1129
d20fab84
VS
11302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Add filesystem mtime to AFFS.
1133
1134 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1135 (aftime2ctime): New function.
1136 (grub_affs_dir): Use aftime2ctime.
1137 (grub_affs_label): Fix return value.
1138 (grub_affs_mtime): New function.
1139 (grub_affs_fs): Add mtime.
1140
e87b10f5
VS
11412012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1144 UTF-8.
1145
7dceec9b
VS
11462012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1149 UTF-8.
1150
2f48221f
VS
11512012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1154
dacd85cf
VS
11552012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1158 flags.
1159 (FLAGS_CASE_SENSITIVE): New enum value.
1160 (cache_entry): New struct.
1161 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1162 cache_size and cache.
1163 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1164 Add log_blocksize and fshelp_flags.
1165 (grub_sfs_read_extent): Handle non-512 blocks.
1166 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1167 (grub_sfs_read_file): Handle non-512 blocks.
1168 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1169 fshelp_flags.
1170 (grub_sfs_read_symlink): Handle non-512 blocks.
1171 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1172 (grub_sfs_dir): Free cache.
1173 (grub_sfs_close): Likewise.
1174
24e9a854
VS
11752012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1178 filesystems.
1179
62ace64d
VS
11802012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1183
83b2e89c
VS
11842012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1187
75ccaea3
VS
11882012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1191 (grub_sfs_read_extent): Likewise.
1192 (grub_sfs_read_block): Likewise.
1193 (grub_sfs_mount): Likewise.
1194 (grub_sfs_iterate_dir): Likewise.
1195 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1196 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1197
1b8463f2
VS
11982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Fix errors on compressed NTFS with 512B clusters.
1201
1202 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1203 types.
1204 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1205 not 0.
1206 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1207 Relax check for inline extents.
1208 (ntfscomp): Return correct -1 on error and not 0.
1209
4f8e368f
VS
12102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * util/grub-install.in: Fix handling of prefix containing spaces.
1213
6f5d5ee8
VS
12142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1217 (grub_squash_read_data): Fix offset byte-swapping.
1218
ce41ab7a
VS
12192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1222 per common usage and preffered in several parts of code.
1223 (grub_memcmp): Likewise.
1224 (grub_strncmp): Likewise.
1225 * include/grub/misc.h (grub_strcasecmp): Likewise.
1226 (grub_strncasecmp): Likewise.
1227 * Makefile.util.def (cmp_test): New test.
1228 (grub_script_strcmp): Likewise.
1229 * tests/cmp_unit_test.c: New file.
1230 * tests/grub_script_strcmp.in: Likewise.
1231 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1232
49717bf4
VS
12332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * include/grub/pci.h: Move enums into no-asm part.
1236
0a308f64
VS
12372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1240
1796965f
ST
12412012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1242
1243 * util/getroot.c (find_hurd_root_device): Try to make error message
1244 and comments to translators clearer.
1245
4e9b2819
VS
12462012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1249
076aeb50
VS
12502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1253 btrfs.
1254
19424d94
VS
12552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * docs/grub.cfg: Update.
1258
ebb73076
VS
12592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * docs/grub.texi (PXE): Remove not present variables.
1262
9a1b669c
VS
12632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/net/net.c (defserver_set_env): New function.
1266 (defserver_get_env): Likewise.
1267 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1268
d38bf7d3
VS
12692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1272 entries.
1273
12742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1275
1276 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1277 * grub-core/kern/emu/hostdisk.c: Likewise.
1278
e5e4ca48
ST
12792012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1280
1281 Handle hurd userspace partitions.
1282
1283 * util/getroot.c (find_hurd_root_device): New function.
1284 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1285
56bb5dd5
VS
12862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1289 names.
1290 Reported by: Bastian Blank.
1291
9e8bc27a
VS
12922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1295 crossing page boundary.
1296
aa01499d
VS
12972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Fix B-tree search in BFS, especially in presence of non-ASCII
1300 characters.
1301
1302 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1303 (find_in_b_tree): Use standard bsearch + btree algorithm.
1304
57006035
VS
13052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1308 and so on.
1309
9d34bb85
MG
13102012-05-03 Matthew Garrett <mjg@redhat.com>
13112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 Suspend broadcom cards in order to stop their DMA.
1314
1315 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1316 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1317 (pci): Don't build on x86 EFI.
1318 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1319 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1320 New function.
1321 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1322 stop_broadcom if running on EFI.
1323 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1324 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1325 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1326 (grub_pci_find_capability): New proto.
1327
01aab997
VS
13282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * docs/grub.texi: Remove dot from the extension as it apparently
1331 doesn't work with some makeinfo versions.
1332
fbd8dca6
VS
13332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1336 with GRUB expectance.
1337
dab797f4
VS
13382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1341
1516bfb4
VS
13422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1345 zero after directory block since last entry may be not 0-terminated if
1346 it ends on block boundary. Use continue instead of if spanning whole
1347 loop.
1348
a3a0eace
VS
13492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Support 4K sectors UDF inline files.
1352
1353 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1354 (grub_udf_extended_file_entry): Likewise.
1355 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1356 All users updated.
1357 (get_fshelp_size): New function.
1358 (grub_udf_read_icb): Read whole block.
1359 (grub_udf_iterate_dir): Likewise.
1360 (grub_udf_dir): Likewise.
1361 (grub_udf_open): Likewise.
1362
c82f16c1
VS
13632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1366
59fd2aac
VS
13672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1370 inline symlinks in addition to workaround.
1371
3b4afb4d
VS
13722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1375
f45c794a
VS
13762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1379
f25cecbd
VS
13802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1383
bb9a34e8
VS
13842012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Fix reiserfs big seek times.
1387
1388 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1389 exact. All users updated.
1390 (grub_reiserfs_read): Use nearest btree search for seeking.
1391 Fix return value on error.
1392
dc478aea
VS
13932012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1396 entries.
1397 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1398 * docs/grub.texi: Update menuentry description.
1399
8db10f47
VS
14002012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1403 crash when embedding onto filesystem.
1404
bcb288ed
VS
14052012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1408 name.
1409
a626fdd7
VS
14102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1413
b2f68477
VS
14142012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1417 commit.
1418
ba15b2af
B
14192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14202012-05-01 Bean <bean123ch@gmail.com>
1421
1422 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1423
a188012e
VS
14242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1427 Special behaviour for len = 0 to read whole file isn't used anywhere and
1428 can cause buffer ovewrflows in several places.
1429
f0a53ed2
VS
14302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1433
5ed554f0
VS
14342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 Handle RAIDZ on non-512B sectors.
1437
1438 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1439 max_children_ashift.
1440 (fill_vdev_info_real): Fill max_children_ashift.
1441 (read_device): Use max_children_ashift.
1442
ddc58357
VS
14432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1446
e3282399
VS
14472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1450 disk names.
1451 * docs/grub.texi: Update device.map parts.
1452
ee618bd4
VS
14532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Don't scan into non-diskfilter devices having diskfilter names.
1456
1457 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1458 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1459 handling.
1460 (scan_disk_hook): New function.
1461
bdf88864
B
14622012-04-29 Bean <bean123ch@gmail.com>
1463
1464 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1465 allocation.
1466
32745f51
MK
14672012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1468
1469 * configure.ac: Detect starfield theme font path
1470 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1471
bc95c8c0
VS
14722012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1475 geometry on serial consoles.
1476
147fbcab
VS
14772012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1480 because of network consoles.
1481
0f42c889
VS
14822012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1485 handling.
1486
4a3594c9
VS
14872012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1490 falls on Q syndrom.
1491
5cb53879
VS
14922012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1495 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1496
b282dfe5
VS
14972012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1500 Allocate at lest 8192 for temporary buffer as required for lzo.
1501
daa59f47
VS
15022012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1505 to cluster_bits, since it's already added in.
1506 (grub_fat_read_data): Likewise.
1507
986748ce
VS
15082012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1511 as long as cluster size is multiple of 512 bytes.
1512
a20f6ad0
VS
15132012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * util/grub-mkrescue.in: Fix locale directory.
1516
385f9abb
VS
15172012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/kern/emu/hostdisk.c (map): Make static.
1520
1c557d30
B
15212012-04-23 Bean <bean123ch@gmail.com>
1522
1523 * util/grub-fstest.c (fstest): Add missing break.
1524
524b5d3a
ST
15252012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1526
1527 Fix hurd build.
1528
1529 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1530 not define nr variable.
fe4824e9 1531 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1532 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1533 grub_find_device): Do not define.
524b5d3a 1534
9a06490c
VS
15352012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Fix kfreebsd compile and behaviour.
1538
1539 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1540 format-security.
1541 * util/getroot.c: Fix wait.h include.
1542 (grub_guess_root_devices): Error if grub_find_device fails.
1543 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1544 (grub_util_get_dev_abstraction): Likewise.
1545 (grub_util_pull_device): Likewise.
1546 (grub_util_get_grub_dev): Likewise.
1547 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1548
48143d96
VS
15492012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Fix and unify wholedisk detection.
1552
1553 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1554 is_part. All users updated.
1555 (device_is_wholedisk): Removed.
1556 (grub_util_biosdisk_get_grub_dev): Use is_part.
1557
ebbd24f3
VS
15582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1561 mode.
1562
56f7aa1e
VS
15632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * configure.ac: Bump to beta4.
1566
9c815e01
VS
15672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1570 --fs-uuid --set UUID syntax.
1571
59e2651a
VS
15722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1575 disunification.
1576
54e03cfc
VS
15772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1580
81092a75
MK
15812012-04-18 Mads Kiilerich <mads@kiilerich.com>
1582
1583 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1584
f8315e14
MG
15852012-04-18 Mike Gilbert <floppym@gentoo.org>
1586
1587 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1588
1501ac21
B
15892012-04-18 Bean <bean123ch@gmail.com>
1590
1591 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1592 place.
1593
cb7f944e
VS
15942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1597 users updated.
1598 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1599 corresponding to GRUB partitions.
1600 (grub_util_biosdisk_write): Likewise.
1601
b72d44a1
VS
16022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Scan mdraid before LVM.
1605
1606 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1607 (grub_diskfilter_register_front): ... this.
1608 (grub_diskfilter_register_back): New function.
1609 All users of grub_diskfilter_register updated.
1610
33d918b8
VS
16112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * util/grub-install.in: Fix an automatic target detection bug.
1614
c6ca973d
VS
16152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * util/grub-install.in: New option --efi-directory.
1618
b41be562
VS
16192012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1622 boot services if we have no other choice.
1623
16242012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1627 document it.
1628 * tests/util/grub-shell.in: Update to --directory.
1629
e0595a73
VS
16302012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1633
4ed80652
VS
16342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1637 (grub_minix_read_file): Likewise.
1638 (grub_minix_read_inode): Likewise.
1639 (grub_minix_find_file): Likewise.
1640 (grub_minix_dir): Likewise.
1641
56008077
VS
16422012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * util/grub-setup.c (setup): Fix partition handling and blocklist
1645 check.
1646
ee520775
VS
16472012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1650 redundant buggy overlap check.
1651
16fc9293
VS
16522012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1655 and grub-mknetdir.
1656
9bab65c4
VS
16572012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1660 kh.loadflags on pre-2.00 kernels.
1661
3c491b47
VS
16622012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Terminate UNDI and PXE before launching the payload to avoid problems
1665 with DMA.
1666
1667 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1668 (grub_loader_flags): ... this. All users updated.
1669 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1670 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1671 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1672 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1673 function.
1674 (grub_pxe_restore): Likewise.
1675 (fini_hnd): New var.
1676 (GRUB_MOD_INIT): Register shutdown hook.
1677 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1678 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1679 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1680 (grub_loader_set): Rename second argument to flags.
1681
851ffada
VS
16822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1685 written bytes.
1686 (grub_get_num_of_utf8_bytes): New function.
1687 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1688 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1689 executing it.
1690 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1691 (grub_ucs4_to_utf8): Change return type.
1692
491c57a8
VS
16932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1696 warning.
851ffada
VS
1697 * grub-core/fs/bfs.c (hop_level): Likewise.
1698 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1699
756773df
VS
17002012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/lib/adler32.c: Recode due to license unclearness.
1703
fd556a96
VS
17042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1707 (test_header): Likewise.
1708
9f9d3f69
VS
17092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 Fix --help formatting.
1712
1713 * util/grub-mkconfig_lib.in (print_option_help): New function.
1714 (grub_fmt): Likewise.
1715 * util/grub-install.in: Use print_option_help and grub_fmt.
1716 * util/grub-kbdcomp.in: Likewise.
1717 * util/grub-mkconfig.in: Likewise.
1718 * util/grub-mknetdir.in: Likewise.
1719 * util/grub-mkrescue.in: Likewise.
1720 * util/grub-mkstandalone.in: Likewise.
1721 * util/grub-reboot.in: Likewise.
1722 * util/grub-set-default.in: Likewise.
1723 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1724
561ec77e
VS
17252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * linguas.sh: Remove autogenerated *.po.
1728
7ec2b021
VS
17292012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * po/README: Move language fetcing to ...
1732 * linguas.sh: ... here.
1733 * po/README: Point to linguas.sh.
1734
a88f3270
VS
17352012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * po/README: Exclude ko.po due to disclaimer problems.
1738
d61357ce
VS
17392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1742 len = 0.
1743 (grub_gettext_translate_real): Handle 0th string.
1744 (grub_gettext_translate): Ensure that "" isn't translated.
1745
505e41dc
VS
17462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1749 TRANSLATORS comment.
1750 (grub_diskfilter_print_partmap): Propagate changing of error into
1751 warning.
1752
e44092db
VS
17532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1756 to uint64_t to prevent overflow.
1757 (grub_diskfilter_lv): Increase start_extent and extent_count
1758 to uint64_t to prevent overflow.
1759
9b83956a
VS
17602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * configure.ac: Increase version.
1763
da0d5b3f
VS
17642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1767
1768 * po/Rules-translit: New file.
1769 * po/arabic.sed: Likewise.
1770 * po/cyrillic.sed: Likewise.
1771 * po/greek.sed: Likewise.
1772 * po/hebrew.sed: Likewise.
1773 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1774 * po/Makefile.in.in: Add extra_dist4.
1775
ac66b453
VS
17762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1779
1780 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1781 modify names. Introduce MODE_BIGENDIAN.
1782 * grub-core/fs/minix_be.c: New file.
1783 * grub-core/fs/minix2_be.c: Likewise
1784 * grub-core/fs/minix3_be.c: Likewise.
1785 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1786 minix3_be.
1787 * grub-core/Makefile.core.def (minix_be): New module.
1788 (minix2_be): Likewise.
1789 (minix3_be): Likewise.
1790
17912012-04-01 Felix <email@hamburg.de>
1792
1793 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1794 (devs): Add MBP 2011.
1795
0a2d5a82
VS
17962012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1799
d1625889
VS
18002012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/normal/cmdline.c (print_completion): New field
1803 prompt_len.
1804 (grub_cmdline_get): Handle width properly.
1805
6d36a236
VS
18062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1809
9576977e
VS
18102012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1813 after 29th of February.
9576977e 1814
d73ff15d
VS
18152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Fix exfat endianness handling.
1818
1819 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1820 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1821 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1822 Byte-swap utf16 when necessary.
1823 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1824
bbb39a45
AB
18252012-03-31 Anton Blanchard <anton@samba.org>
18262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Fix btrfs endianness handling.
1829
1830 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1831 (lower_bound): Make root uint64_t. Use root in le.
1832 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1833 (find_path): Fix template key init.
1834 (grub_btrfs_dir): Fix mtime byteswap.
1835 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1836
354e0af7
VS
18372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1840 recursion_depth. Break infinite resursions. All users updated.
1841
4e75f21c
VS
18422012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1845 after free.
1846 Reported by: Peter Jones.
1847
25581802
AB
18482012-03-31 Anton Blanchard <anton@samba.org>
1849
1850 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1851 8 bit values.
1852
08fbf92e
VS
18532012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * util/grub-install.in: Fix nvram call for PreP.
1856
5d1182a6
VS
18572012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1860 the error when some elements are missing into a warning.
1861
3f8cdd90
VS
18622012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1865
51006716
CW
18662012-03-28 Colin Watson <cjwatson@ubuntu.com>
1867
1868 * docs/grub.texi (Invoking grub-probe): New section.
1869 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1870
e1bd676b
VS
18712012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 Fix tab and wide character handling in editor and menu.
1874
1875 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1876 agglomerate control characters with combining marks.
1877 (bidi_line_wrap): Allow break on tab.
1878 (grub_unicode_get_comb_start): New function.
1879 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1880 and tab correctly.
1881 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1882 with a space.
1883 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1884 fixed_tab_size. All users updated.
1885 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1886 (grub_term_getcharwidth): Handle \t.
1887 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1888 and copy.
1889
22e6a774
VS
18902012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Handle big-endian mdraid.
1893
1894 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1895 * grub-core/Makefile.core.def (mdraid09_be): New module.
1896 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1897 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1898 * grub-core/disk/mdraid_linux_be.c: New file.
1899
3c0eae66
VS
19002012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1903
b6cf74c9
VS
19042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1907 missing quotes which caused confusion among translators.
1908
83c93b9c
VS
19092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * util/grub-mkconfig_lib.in: Fix typo.
1912
ac6fd218
VS
19132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1916 spaces.
1917 * tests/grub_script_leading_whitespace.in: New file.
1918 * Makefile.util.def (grub_script_leading_whitespace): New test.
1919
ba287dd8
VS
19202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1923 to work.
1924
d2d58d0a
VS
19252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1928 starts with control character.
1929
0382d9bb
VS
19302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1933 overflow.
1934 (grub_gdb_outbuf): Likewise.
1935
d83ff9f9
VS
19362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1939 zero terminator. Fixes a crash.
1940
2282da4a
VS
19412012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1944 beyond 4 GiB.
1945 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1946 images independently of preffered adderss field.
1947
0ae4f0bd
VS
19482012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1951 * grub-core/commands/regexp.c: Likewise.
1952 * grub-core/loader/i386/linux.c: Likewise.
1953 * grub-core/partmap/msdos.c: Likewise.
1954 * grub-core/script/execute.c: Likewise.
1955 * grub-core/term/gfxterm.c: Likewise.
1956
546fbe9b
VS
19572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 Add variable parsing in $"..." and fix several mismatches with bash.
1960
1961 * Makefile.util.def (grub_script_gettext): New test.
1962 * grub-core/script/execute.c (parse_string): New function.
1963 (gettext_append): Likewise.
1964 (grub_script_arglist_to_argv): Use gettext_append.
1965 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1966 * tests/grub_script_gettext.in: New file.
1967
9fdb2d7b
VS
19682012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Fix handling of leading spaces in scripts.
1971
1972 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1973 spaces.
1974 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1975 other than skipping \r. All users updated.
1976 * tests/grub_script_echo1.in: Add space-related tests.
1977 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1978
1a1ac4f6
VS
19792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1982
b63d89b6
VS
19832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * configure.ac: Bump up the version to beta2.
1986
17f38c0f
VS
19872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Fix gettext reload bugs (e.g. inability to disable gettext
1990 once enabled).
1991
1992 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1993 main_context and secondary_context. All functions updated.
1994 (grub_gettext_translate): Rename to ...
1995 (grub_gettext_translate_real): ... this. Return NULL on failed
1996 translate.
1997 (grub_gettext_translate): Handle secondary context.
1998 (grub_gettext_delete_list): Close file and zero-out the context.
1999 (grub_mofile_open): Don't call grub_gettext_delete_list.
2000 Don't close file.
2001 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2002 if locale="" to avoid pointless error message.
2003 (grub_gettext_env_write_lang): Update lang even if load fails.
2004 Handle secondary context.
2005 (grub_gettext_reread_prefix): New function.
2006 (read_main): Likewise.
2007 (read_secondary): Likewise.
2008 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2009 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2010 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2011 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2012
8e56f870
VS
20132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * configure.ac: Decrease warning level to avoid spurious warnings and
2016 to be able to compile with GCC 4.2.
2017 * Makefile.util.def: Remove -Wno-error=logical-op.
2018
82f6d455
WB
20192012-03-10 William Bittner <william.bittner@gmail.com>
2020
2021 * util/import_unicode.py: Add missing brackets around string for
2022 python 3 support.
2023
1ecd61a4
VS
20242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Fix efi chainloader on network root.
2027
2028 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2029 network devices.
2030 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2031 New function.
2032
14361ee8
VS
20332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2036 unused show_text member.
2037 * docs/grub.texi: Document "text" property.
2038
922aabf3
VS
20392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2042 in dprintf.
2043
ec316771
VS
20442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 Fix IMSM handling on Fedora.
2047
2048 * util/getroot.c (grub_util_is_imsm): New function.
2049 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2050
0f021838
VS
20512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * Makefile.am: Strip gold section.
2054 * conf/Makefile.common: Likewise.
2055 * gentpl.py: Likewise.
2056 * grub-core/Makefile.core.def: Likewise.
2057 * grub-core/genmod.sh.in: Likewise.
2058
1039c8eb
VS
20592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2062 * util/grub.d/20_linux_xen.in: Likewise.
2063 Based on Debian patch.
2064
6dd412cd
VS
20652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * util/grub.d/10_linux.in: Fix syntax error resulting in
2068 Richard Laager's patch.
2069 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2070
3fd8bae5
VS
20712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2074 dependencies.
2075
7eea1671
RL
20762012-03-10 Richard Laager <rlaager@wiktel.com>
2077
2078 * util/grub.d/10_linux.in: Fix ZFS root passing.
2079
e8e0566b
VS
20802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2083 * grub-core/commands/xnu_uuid.c: Likewise.
2084 * grub-core/loader/efi/appleloader.c: Likewise.
2085 * grub-core/script/execute.c: Likewise.
2086 * grub-core/script/main.c: Likewise.
2087 * util/grub-mkfont.c: Likewise.
2088
1acc5b1f
VS
20892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * util/grub-mkfont.c (options): Use more appropriate "select" that
2092 "set" for face index.
2093
35d70620
VS
20942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * util/grub-editenv.c (options): Gettextize command summaries.
2097
c9eb96b5
VS
20982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2101 "out of memory" error messagge.
2102
1f493136
VS
21032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2106 of diskfilter for diskfilter on diskfilter support.
2107
6d790129
VS
21082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2111
005f46c9
VS
21122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2115 themes/starfield.
2116
c8f778a0
VS
21172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2120
de1e64eb
VS
21212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2124
c6d54211
VS
21252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2128 of error message.
2129
dd390777
VS
21302012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2133
5fd1c522
VS
21342012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2137 message.
c6d54211 2138 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2139
fae01f6c
VS
21402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2143 Gettextize.
2144 * util/grub-mount.c (options): Likewise.
2145
292fdaff
VS
21462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2149 gettextize.
2150 * grub-core/commands/search_wrap.c (options): Likewise.
2151
ecdbae77
VS
21522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2155
52bfedfa
VS
21562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2159 size calculation.
2160 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2161 none is known.
2162
55b20e58
VS
21632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2166 "temporary" since it's used in identifier and is limited in space.
2167
fda9d101
VS
21682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * po/POTFILES.in: Regenerate. Include *.h since they contain
2171 translatable strings as well.
2172
6a0295e2
VS
21732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2176 byte-swap on big-endian.
2177 Reported by: Lennart Sorensen
2178
807fb77c
VS
21792012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2182 (allocate_pages): Improve dprintf.
2183 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2184 code32_start. Fill code32_start and kernel_alignment in params.
2185 (grub_cmd_initrd): Use prot_init_space.
2186
61ac50ba
VS
21872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2190
abdd26dd
VS
21912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * util/grub-install.in: Add missing dot at the end of sentence.
2194
6e69da9c
VS
21952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2198 * grub-core/commands/videotest.c: Likewise.
2199 * grub-core/loader/i386/linux.c: Likewise.
2200
4a929343
VS
22012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2204 sentence.
2205 Reported by: Milo Casagrande.
2206
bb51c6c6
VS
22072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2210 * grub-core/commands/gptsync.c: Likewise.
2211 * grub-core/commands/hashsum.c: Likewise.
2212 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2213 * grub-core/commands/legacycfg.c: Likewise.
2214 * grub-core/io/gzio.c: Likewise.
2215 * grub-core/net/net.c: Likewise.
2216 * grub-core/term/gfxterm.c: Likewise.
2217 * grub-core/term/terminfo.c: Likewise.
2218 * grub-core/tests/test_blockarg.c: Likewise.
2219 * grub-core/video/video.c: Likewise.
2220 * util/grub-install.in: Likewise.
2221 * util/grub-mkfont.c: Likewise.
2222
b2b149cb
VS
22232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2226
c7c080ad
VS
22272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2230 Reported by: David Prévot.
c7c080ad 2231
f2e243c0
VS
22322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2235 description.
2236
09963c76
VS
22372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * util/grub-script-check.c (main): Fix a syntax error message which was
2240 unclear.
2241
a50514a8
VS
22422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2245
4650daec
VS
22462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2249 messages.
2250
22512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2252
2253 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2254 without argument.
2255 * util/grub-mount.c (options): Likewise.
2256
bbc5a342
VS
22572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2260
ef292a87
VS
22612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/net/http.c: Add TRANSLATORS comments.
2264 * grub-core/normal/cmdline.c: Likewise.
2265 * grub-core/normal/misc.c: Likewise.
2266 * grub-core/partmap/msdos.c: Likewise.
2267 * grub-core/parttool/msdospart.c: Likewise.
2268 * grub-core/script/execute.c: Likewise.
2269 * grub-core/script/main.c: Likewise.
2270 * grub-core/term/terminfo.c: Likewise.
2271 * grub-core/video/bitmap.c: Likewise.
2272 * util/grub-install.in: Likewise.
2273 * util/grub-mkimage.c: Likewise.
2274 * util/grub-mklayout.c: Likewise.
2275 * util/grub-setup.c: Likewise.
2276
0fc19bd0
VS
22772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2280 with similar messages in grub-fstest.
2281
d95862ef
VS
22822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * util/grub-install.in: Unify "option requires an argument" message
2285 with similar messages in other files.
2286 * util/grub-mkconfig.in: Likewise.
2287
b7308f90
VS
22882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * util/grub-set-default.in: Replace printf with gettext_printf (the
2291 string in in question is already translated from grub-reboot)
2292
559dc587
VS
22932012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * configure.ac: Bump up the version to beta1.
2296
1a11761f
VS
22972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2300 case when min_align = 0.
2301
24539abd
VS
23022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2305 and fix a case when line_start overflows.
2306
32bd735b
VS
23072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * util/grub-reboot.in (usage): Mention id posibility.
2310 * util/grub-set-default.in (usage): Likewise.
2311
1a2fd1e6
VS
23122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2315 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2316 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2317 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2318 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2319 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2320 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2321
90eeab76
VS
23222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/commands/menuentry.c (options): Remove
2325 GRUB_ARG_OPTION_REPEATABLE.
2326 Reported by: Andreas Vogel
2327
5ad1be82
AV
23282012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2329
2330 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2331
cb055286
HE
23322012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2333
2334 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2335 error.
2336
93b1cd79
VS
23372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 Use sort -V by the idea of Georgi Georgiev.
2340
2341 * util/grub-mkconfig_lib.in (version_sort): New function.
2342 (version_test_numeric): Use version_sort.
2343
0cdc126c
VS
23442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Use submenus in grub-mkconfig.
2347
2348 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2349 * util/grub-mkconfig_lib.in (grub_quote): New function.
2350 (gettext_printf): Use gettext and not gettext_quoted to fix several
2351 messages.
2352 * util/grub.d/10_hurd.in: Use submenus.
2353 * util/grub.d/10_kfreebsd.in: Likewise.
2354 * util/grub.d/10_linux.in: Likewise.
2355 * util/grub.d/10_netbsd.in: Likewise.
2356 * util/grub.d/20_linux_xen.in: Likewise.
2357 * util/grub.d/30_os-prober.in: Likewise.
2358 * util/grub.d/10_illumos.in: Add missing quoting.
2359 * util/grub.d/10_windows.in: Likewise.
2360
d9bef9bc
VS
23612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 Fix menu title instability bug.
2364
2365 * grub-core/commands/menuentry.c (options): New option --id.
2366 (grub_normal_add_menu_entry): New argument id. All users updated.
2367 (grub_cmd_menuentry): Handle --id.
2368 (grub_menu_init): Accept unknown arguments.
2369 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2370 feature_menuentry_options.
2371 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2372 saved_entry.
2373 (get_entry_number): Match with id as well.
2374 * include/grub/menu.h (grub_menu_entry): New member id.
2375 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2376 * util/grub.d/00_header.in: Define menuentry_id_option.
2377 * util/grub.d/10_hurd.in: Define id.
2378 * util/grub.d/10_illumos.in: Likewise.
2379 * util/grub.d/10_kfreebsd.in: Likewise.
2380 * util/grub.d/10_linux.in: Likewise.
2381 * util/grub.d/10_netbsd.in: Likewise.
2382 * util/grub.d/10_windows.in: Likewise.
2383 * util/grub.d/20_linux_xen.in: Likewise.
2384 * util/grub.d/30_os-prober.in: Likewise.
2385
23862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2387
2388 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2389 "scope" with "body".
2390
7c8d0ce7
VS
23912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2394 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2395 prot_size and prot_file_size.
2396
49de079b
VS
23972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2400 All users updated. If easily=1 require raid-5/-6 to be full.
2401 (is_node_readable): Likewise.
2402 (scan_devices): Scan incomplete but readable LVs at the end.
2403 (grub_diskfilter_memberlist): Pull missing devices.
2404 (insert_array): Skip scanning until device is complete or scan is
2405 done otherwise.
2406 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2407 check.
2408 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2409 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2410
aff05d45
MG
24112012-03-03 Matthew Garrett <mjg@redhat.com>
24122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Avoid EFI boot services when loading Linux.
2415
2416 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2417 avoid_efi_bootservices. All users updated.
2418 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2419 argument avoid_efi_bootservices. All users updated.
2420 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2421 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2422 align, min_align, relocatable, prefered_address. All users updated.
2423 Allocate avoiding boot services if kernel is relocatable.
2424 (grub_cmd_linux): Check if kernel is relocatable.
2425 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2426 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2427 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2428 avoid_efi_boot_services.
2429 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2430 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2431 (linux_kernel_params): Likewise.
2432
3935dde2
MG
24332012-03-03 Matthew Garrett <mjg@redhat.com>
24342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 Use EDID on EFI.
2437
2438 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2439 datasize_out.
2440 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2441 modes. Set gop_handle.
2442 (grub_video_gop_get_edid): New function.
2443 (grub_gop_get_preferred_mode): Likewise.
2444 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2445 (grub_video_efi_gop_adapter): Set .get_edid.
2446 * include/grub/efi/edid.h: New file.
2447 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2448
32107ec0
VS
24492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * util/grub-install.in: Load efivars unconditionally.
2452
e70a2c50
VS
24532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * po/Rules-piglatin: Change suffix from .po-update-en to
2456 .po-update-en-piglatin.
2457
8f9cace1
VS
24582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 Add a pig farm.
2461
2462 * po/piglatin.sed: New file.
2463 * po/en@piglatin.header: Likewise.
2464 * po/Rules-piglatin: Likewise.
2465 * po/README: Add en@piglatin to autogenerated languages.
2466
8f95d002
VS
24672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2470 "Command for ...".
2471 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2472 "Check" since we don't check anything.
2473 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2474 is 64-bit one.
2475 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2476 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2477 (grub_md_sha512_real): Likewise.
2478
805a8dcc
VS
24792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/commands/gptsync.c: Fix typographic quoting.
2482 * grub-core/commands/ieee1275/suspend.c: Likewise.
2483 * grub-core/commands/parttool.c: Likewise.
2484 * grub-core/commands/search_wrap.c: Likewise.
2485 * grub-core/commands/videoinfo.c: Likewise.
2486 * grub-core/gfxmenu/gui_label.c: Likewise.
2487 * grub-core/hello/hello.c: Likewise.
2488 * grub-core/kern/emu/main.c: Likewise.
2489 * grub-core/net/net.c: Likewise.
2490 * grub-core/normal/menu.c: Likewise.
2491 * grub-core/normal/menu_text.c: Likewise.
2492 * grub-core/normal/misc.c: Likewise.
2493 * util/grub-editenv.c: Likewise.
2494 * util/grub-install.in: Likewise.
2495 * util/grub-kbdcomp.in: Likewise.
2496 * util/grub-mkconfig.in: Likewise.
2497 * util/grub-mknetdir.in: Likewise.
2498 * util/grub-mkrescue.in: Likewise.
2499 * util/grub-mkstandalone.in: Likewise.
2500 * util/grub-reboot.in: Likewise.
2501 * util/grub-set-default.in: Likewise.
2502 * util/grub-setup.c: Likewise.
2503 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2504
40211ab8
VS
25052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2508 * grub-core/commands/keystatus.c: Likewise.
2509 * grub-core/commands/loadenv.c: Likewise.
2510 * grub-core/commands/probe.c: Likewise.
2511 * grub-core/commands/regexp.c: Likewise.
2512 * grub-core/commands/true.c: Likewise.
2513 * grub-core/commands/videoinfo.c: Likewise.
2514 * grub-core/disk/cryptodisk.c: Likewise.
2515 * grub-core/disk/ldm.c: Likewise.
2516 * grub-core/disk/loopback.c: Likewise.
2517 * grub-core/disk/luks.c: Likewise.
2518 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2519 * grub-core/kern/disk.c: Likewise.
2520 * grub-core/kern/emu/hostdisk.c: Likewise.
2521
0c7d99c7
VS
25222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2525 * util/grub-install.in: Add missing quote in the comment.
2526
e7d2559b
VS
25272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2530 * grub-core/commands/lsmmap.c: Likewise.
2531 * grub-core/commands/minicmd.c: Likewise.
2532 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2533 * grub-core/commands/regexp.c: Likewise.
2534 * grub-core/gdb/gdb.c: Likewise.
2535 * grub-core/term/gfxterm.c: Likewise.
2536 * util/grub-mkconfig.in: Likewise.
2537 * util/grub-mkfont.c: Likewise.
2538 * util/grub-mklayout.c: Likewise.
2539 * util/grub-mknetdir.in: Likewise.
2540 * util/grub-mkrescue.in: Likewise.
2541 * util/grub.d/30_os-prober.in: Likewise.
2542
49ce9e50
VS
25432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2546 with "Direct color" and "Packed" with "Packed pixel".
2547 (grub_cmd_videoinfo): Simplify legend.
2548
e4b791fa
VS
25492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2552 absolutely unclear error message.
2553
fd1265cb
VS
25542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * util/grub-mkstandalone.in: Remove confusing leftover print.
2557
8822a8a0
VS
25582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2561 comments.
2562 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2563 (GRUB_MOD_INIT): Likewise.
2564 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2565 VGA mode.
2566 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2567 comments.
2568 * util/grub-install.in (usage): Likewise.
2569 Spell ID in whole letters.
2570 Add missing ending dot.
2571 Quote variables.
2572 * util/grub-reboot.in: Fix capitalisation.
2573 * util/grub-set-default.in: Likewise.
2574
937fd0cc
VS
25752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2578 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2579 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2580 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2581 Disable -Werror for -Wdeprecated-declarations.
2582 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2583 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2584 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2585 (grub_util_get_grub_dev): Make luks handling dependent on
2586 HAVE_DEVICE_MAPPER and not __linux__.
2587 (get_win32_path): Fix format security.
2588 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2589 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2590 Don't try grub_find_zpool_from_dir.
2591 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2592 #ifdef-out paresdir.
2593
1bab1ae3
VS
25942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * util/grub-pe2elf.c (usage): Add missing noreturn.
2597 (write_section_data): Rename name to shname to avoid shadowing.
2598 (write_symbol_table): Rename name to symname to avoid shadowing.
2599 Fix write_reloc_section call.
2600
ef023e42
VS
26012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2604 to ensure that it's after the last byte of .text.
2605
48afcb75
VS
26062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * util/ieee1275/ofpath.c (my_isdigit): New function.
2609 (trailing_digits): Use my_isdigit.
2610 (strip_trailing_digits): Likewise.
2611
88d51eff
VS
26122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2615 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2616
17edc2ba
VS
26172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/kern/i386/pc/startup.S: Define __start.
2620
ad5518d7
VS
26212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2624 strip already transforms he format.
2625
9e95e1bf
VS
26262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2629
9cc3ee5c
VS
26302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * util/grub-install.in: Add missing gettext init.
2633 * util/grub-kbdcomp.in: Likewise.
2634 * util/grub-mkconfig.in: Likewise.
2635 * util/grub-mknetdir.in: Likewise.
2636 * util/grub-mkrescue.in: Likewise.
2637 * util/grub-mkstandalone.in: Likewise.
2638 * util/grub-reboot.in: Likewise.
2639 * util/grub-set-default.in: Likewise.
2640 * util/grub.d/00_header.in: Likewise.
2641 * util/grub.d/10_hurd.in: Likewise.
2642 * util/grub.d/10_windows.in: Likewise.
2643 * util/grub.d/30_os-prober.in: Likewise.
2644 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2645
49e08a06
VS
26462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * po/Rules-swiss: Fix header comment.
2649
3809cb41
AV
26502012-02-29 Andreas Vogel <anvoit>
2651
2652 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2653 resulted in leak of arguments.
2654
fa6ec573
VS
26552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2658 reed_solomon_size const definition instead of computing it since
2659 Apple assembler doesn't support the later.
2660
22899b9c
VS
26612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * gentpl.py (kernel): Rewrite Apple part.
2664
a132afc3
VS
26652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2668
9d742bd4
VS
26692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2672 ELF section gap.
2673 (load_image): Likewise.
2674
f04a9a21
VS
26752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * configure.ac: Fix a typo in previous commit.
2678
46cf439c
VS
26792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 Don't add -Wl,-N on Apple platform.
2682
2683 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2684 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2685
c4c48c54
VS
26862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/Makefile.core.def (lzma_decompress): Use
2689 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2690
31a12124
VS
26912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/genmod.sh.in: Rewrite the Apple part.
2694
4f3aa1af
VS
26952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2698 comparison.
2699
7bd8b0c7
VS
27002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * acinclude.m4 (grub_CHECK_PIC): New test.
2703 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2704
97304d7c
VS
27052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2708 to avoid the warning.
2709
fb883812
VS
27102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2713 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2714 after. All users updated.
2715
a121c964
VS
27162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Use the common size routine in hostfs so we can read disks as well.
2719
2720 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2721 (grub_util_get_fd_size): ... this. Return size in bytes.
2722 All users updated.
2723 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2724 grub_util_get_fd_size.
2725
c66d6410
VS
27262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2729 Add blocksize retrieval.
2730
dfc8aeb0
VS
27312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * configure.ac: Restore CFLAGS after efiemu check.
2734
403e25a5
VS
27352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2738 Apple bug.
2739
382775d1
VS
27402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2743
6fd4e6e4
VS
27442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2747 (grub_cmd_halt): Likewise.
2748
bea359d6
VS
27492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2752 for local arithmetics.
2753 Break %sp init into 2 instructions.
2754 Add 0 byte at the end.
2755
32eb6ee1
VS
27562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2759 before loops.
2760
e8377389
VS
27612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2764 for context.
2765
8cb17de7
VS
27662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/disk/ldm.c (make_vg): Init part.name.
2769 (grub_ldm_detect): Silence spurious warning.
2770 (grub_util_is_ldm): Likewise.
2771
595717e6
VS
27722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2775 sane value to avoid a spurious warning.
2776
c4b7e588
VS
27772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2780 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2781
59824957
VS
27822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2785 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2786
70115b99
VS
27872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2790 hardcoding the relevant info.
2791
56733740
VS
27922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2795 missing const qualifiers.
2796 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2797
43481481
VS
27982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * util/getroot.c [__APPLE__]: Add missing includes.
2801 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2802
3cb38f01
VS
28032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2806
d9dbf11e
VS
28072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2810 avoid conflicts.
2811
0c42a45d
VS
28122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2815
46c34eb0
VS
28162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2819 and grub_file_close call.
2820
99ce1597
VS
28212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Add LZSS Mach-O support (needed for new xnu kernelcache).
2824
2825 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2826 * grub-core/loader/lzss.c: New file.
2827 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2828 on Mach-O open failure.
2829 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2830 Don't free cmdsXX in uncompressedXX is set.
2831 (grub_macho_file): Init new fields.
2832 New argument is_64bit. All users updated.
2833 Handle compressed. Error out if no suitable architecture is found.
2834 Don't close file.
2835 (grub_macho_open): New argument is_64bit. All users updated.
2836 * grub-core/loader/macho32.c: Add defines for new fields.
2837 * grub-core/loader/macho64.c: Likewise.
2838 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2839 (grub_macho_parse): Handle compressed.
2840 Defer actual processing if compressed.
2841 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2842 "filename". All users updated.
2843 (grub_macho_size): New argument "filename". All users updated.
2844 (grub_macho_get_entry_point): Likewise.
2845 (grub_macho_load): Handle compressed.
2846 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2847 (GRUB_MACHO_LZSS_OFFSET): New define.
2848 (grub_decompress_lzss): New proto.
2849 * include/grub/machoload.h (grub_macho_file): New fields to handle
2850 compressed.
2851 (grub_macho_contains_macho64): Remove proto.
2852 (grub_macho_contains_macho32): Likewise.
2853 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2854
ebd17d6f
VS
28552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2858
2702b4e4
VS
28592012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 Fix make dist.
2862
2863 * Makefile.am (starfield_theme_files): New var.
2864 (starfield_DATA): Use starfield_theme_files.
2865 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2866 Add bootcheck-related files.
2867 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2868 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2869 and font_char_metrics.txt.
2870 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2871 (setjmp): Add lib/ia64/longjmp.S.
2872 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2873 * po/POTFILES.in: Regenerate.
2874 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2875 DISTFILES.common.extra1.
2876 * util/devicemap.c: Removed.
2877 * grub-core/lib/i386/relocator_backward.S: Likewise.
2878 * util/import_gcry.py: Remove unused files. Add extra_dist for
2879 ChangeLog.
2880
cf1adfdf
VS
28812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2884 grub_gettext_delete_list before changing grub_gettext_max to avoid
2885 running out of array bounds.
2886
28872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2888
2889 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2890 grub_vga_text_init/grub_vga_text_fini.
2891
cf1adfdf 28922012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2893
2894 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2895
541d92e9
VS
28962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * configure.ac: Bump to 2.00~beta0.
2899
7931dddf
VS
29002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2903 missing initialisation.
2904
f1b16fa3
VS
29052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2908
83ddae23
VS
29092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Support v2 xnu boot arguments.
2912
2913 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2914 New argument fsbfreq_out.
2915 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2916 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2917 be used.
2918 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2919 darwin_version.
2920 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2921 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2922 (grub_xnu_boot_params): Rename to ...
2923 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2924 (grub_xnu_boot_params_v2): New struct.
2925
dc693fe6
VS
29262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2929 zeroing of CRC field before computing CRC.
2930
5a6e39c2
VS
29312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2934 Change order of allocations to decrease fragmentation.
2935
6c21f5d7
VS
29362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2939
cfe456dc
CW
29402012-02-27 Colin Watson <cjwatson@ubuntu.com>
2941
2942 Use write-combining MTRR to speed up video with buggy BIOSes.
2943
2944 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2945 (cpuid): New define.
2946 (rdmsr): Likewise.
2947 (wrmsr): Likewise.
2948 (mtrr_base): Likewise.
2949 (mtrr_mask): Likewise.
2950 (grub_vbe_enable_mtrr_entry): New function.
2951 (grub_vbe_enable_mtrr): Likewise.
2952 (grub_vbe_disable_mtrr): Likewise.
2953 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2954 control off to BIOS.
2955 (grub_video_vbe_init): Fill mtrr.
2956 (grub_video_vbe_fini): Disable mtrr.
2957 (grub_video_vbe_get_info_and_fini): Likewise.
2958 (grub_video_vbe_setup): Enable mtrr.
2959
e3c78337
CW
29602012-02-27 Colin Watson <cjwatson@ubuntu.com>
2961
2962 * include/grub/partition.h (grub_partition_map): Change prototype of
2963 embed to take a maximum value for nsectors.
2964 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2965 * include/grub/fs.h (grub_fs): Likewise.
2966 * grub-core/partmap/msdos.c (embed_signatures): New array.
2967 (pc_partition_map_embed): Check for and avoid sectors matching any
2968 of the signatures in embed_signatures, up to max_nsectors.
2969 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2970 returned sector map to max_nsectors.
2971 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2972 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2973 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2974 * util/grub-setup.c (setup): Allow for the embedding area being
2975 split into multiple blocklists. Tell dest_partmap->embed the
2976 maximum number of sectors we care about.
2977
29782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2981 Specify blocklist_install and reserver_first_sector for all fs.
2982 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2983 blocklists.
2984
984b973f
VS
29852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * util/grub-install.in: Clarify strings.
2988 Fix source dir check.
2989
f122e0d6
RL
29902012-02-27 Richard Laager <rlaager@wiktel.com>
2991
2992 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2993 "zfs" and "fuse.zfs" as synonyms.
2994
071114bb
VS
29952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * configure.ac: Put platform and target_cpu substitutions back since
2998 they are used for directories.
2999
817e6abc
RL
30002012-02-27 Richard Laager <rlaager@wiktel.com>
30012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3004 * util/grub.d/20_linux_xen.in: Likewise.
3005
897b7419
RL
30062012-02-27 Richard Laager <rlaager@wiktel.com>
3007
3008 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3009 with full paths.
3010
a414bd15
RL
30112012-02-27 Richard Laager <rlaager@wiktel.com>
3012
3013 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3014 unescape.
3015
30ac48c4
VS
30162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 Don't use insecure popen in getroot.
3019
3020 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3021 (exec_pipe): ... here.
3022 (find_root_devices_from_poolname): Use exec_pipe.
3023
53f13848
VS
30242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Remove platform and target_cpu replacement.
3027
3028 * configure.ac: Remove platform and target_cpu substitutions.
3029 * tests/util/grub-shell.in: Use modinfo.
3030 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3031 explicitly.
3032
90cb2803
VS
30332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 Autodetect platform in grub-install but allow override.
3036
3037 * util/grub-install.in: Autodetect platform. Support --target and
3038 --directory. Read platform from modinfo.sh.
3039
b9136427
VS
30402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 Support btrfs multi-volume probe.
3043
3044 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3045 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3046 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3047 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3048 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3049 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3050 grub_find_root_devices_from_btrfs if on btrfs.
3051
c36e5cd1
VS
30522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Remove any awareness of *.c util files about target.
3055
3056 * Makefile.util.def (grub-setup): Split to ...
3057 (grub-bios-setup): ... and this.
3058 (grub-sparc64-setup): ... and this.
3059 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3060 * docs/man/grub-setup.h2m: Split into ...
3061 * docs/man/grub-sparc64-setup.h2m: ... this.
3062 * docs/man/grub-bios-setup.h2m: ... and this.
3063 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3064 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3065 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3066 (grub_target_addr_t): Remove.
3067 (grub_target_size_t): Remove.
3068 (grub_target_ssize_t): Remove.
3069 * util/grub-install.in: Use new grub-*-setup.
3070 * util/grub-mkimagexx.c (Elf_Word): New define.
3071 (Elf_Half): Likewise.
3072 (Elf_Section): Likewise.
3073 (ELF_ST_TYPE): Likewise.
3074 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3075 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3076
584b2f8a
VS
30772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 Replace grub_target_addr with more appropriate types.
3080
3081 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3082 grub_target_addr with grub_addr.
3083 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3084 grub_target_addr with grub_port.
3085 (grub_cmd_write): Likewise.
3086 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3087 grub_target_addr with grub_addr.
3088 (grub_cmd_write): Likewise.
3089 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3090
5a0dc6fb
VS
30912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3094 const qualifier for vendor_guid.
3095
786aff6e
VS
30962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3099 const qualifier.
3100 (efiemu_memequal): Likewise.
3101 (find_variable): Likewise.
3102
49017b17
VS
31032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Fix missing console prototype on qemu-mips.
3106
3107 * include/grub/mips/qemu_mips/console.h: New file.
3108
c5988629
MG
31092012-02-27 Matthew Garrett <mjg@redhat.com>
31102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3113 * include/grub/efi/efi.h: Likewise.
3114 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3115 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3116 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3117 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3118 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3119 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3120
e33f8d69
MG
31212012-02-27 Matthew Garrett <mjg@redhat.com>
3122
3123 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3124
fb312cd9
VS
31252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3128 error.
3129
7134247c
VS
31302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * configure.ac: Remove inappropriate use of program_transform_name
3133 on grubdir and bootdir but allow explicit specification of those
3134 variables.
3135
6a313124
VS
31362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * util/grub-mknetdir.in (grub_prefix): Removed.
3139 (subdir): Use @bootdirname@ and @grubdirname@.
3140
2311c5ca
VS
31412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3144
7d5d60f7
VS
31452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * po/POTFILES.in: Regenerated.
3148
8151bc82
VS
31492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 Remove improper use of program_transform_name on pkglibrootdir.
3152
3153 * configure.ac (pkglibrootdir): Removed.
3154 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3155 * util/grub-mkimage.c: Likewise.
3156
b4a6a533
VS
31572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3160 warning.
3161
668f304f
VS
31622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * util/grub-install.in: Use file identifier if no UUID is available
3165 or user explicitly prompted for it.
3166
665f2341
NP
31672012-02-27 Navdeep Parhar <nparhar@gmail.com>
3168
3169 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3170 (freebsd_get_zfs): New function.
3171 (grub_freebsd_boot): Pass zfs UUID.
3172 (grub_cmd_freebsd): Set zfs UUID.
3173
8151bc82 31742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3175
3176 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3177 pkglibrootdir.
3178
e4c498a1
MG
31792012-02-27 Mike Gilbert <floppym@gentoo.org>
3180
3181 Add configure flag to control libzfs integration.
3182
3183 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3184
1e9a9a3f
VS
31852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3188 device.
3189 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3190 small devices.
3191
036985b8
VS
31922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3195 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3196 be used on non-modules.
3197
3198 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3199 Rename to grub_boot_init.
3200 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3201 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3202 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3203 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3204 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3205 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3206 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3207 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3208 includes.
3209 (grub_machine_init): Remove empty inits.
3210 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3211 includes.
3212 (grub_machine_init): Remove empty inits.
3213 * grub-core/term/arc/console.c: Remove explicit proto.
3214 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3215 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3216 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3217 grub_at_keyboard_fini.
3218 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3219 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3220 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3221 grub_gfxterm_fini.
3222 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3223 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3224 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3225 grub_vgatext_fini.
3226 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3227 * grub-core/term/serial.c (GRUB_MOD_INIT)
3228 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3229 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3230 grub_serial_fini.
3231 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3232 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3233 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3234 grub_terminfo_fini.
3235 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3236 (GRUB_MOD_FINI): Likewise.
3237 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3238 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3239 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3240 grub_video_radeon_fuloong2e_fini.
3241 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3242 [LOONGSON]: Rename to grub_video_sis315pro_init.
3243 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3244 grub_video_sis315pro_fini.
3245 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3246 [LOONGSON]: Rename to grub_video_sm712_init.
3247 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3248 grub_video_sm712_fini.
3249 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3250 (grub_at_keyboard_fini): Likewise.
3251 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3252 Don't declare grub_{modname}_init.
3253 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3254 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3255 New proto.
3256 (grub_keylayouts_fini) [!EMU]: Likewise.
3257 * include/grub/serial.h (grub_serial_init) [!EMU]:
3258 New proto.
3259 (grub_serial_fini) [!EMU]: Likewise.
3260 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3261 New proto.
3262 (grub_terminfo_fini) [!EMU]: Likewise.
3263 * include/grub/video.h (grub_font_init) [!EMU]:
3264 New proto.
3265 (grub_font_fini) [!EMU]: Likewise.
3266 (grub_gfxterm_init) [!EMU]: Likewise.
3267 (grub_gfxterm_fini) [!EMU]: Likewise.
3268 (grub_video_sm712_init) [!EMU]: Likewise.
3269 (grub_video_sm712_fini) [!EMU]: Likewise.
3270 (grub_video_sis315pro_init) [!EMU]: Likewise.
3271 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3272 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3273 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3274
d5534665
VS
32752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Make nand a prefix for nand devices.
3278
3279 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3280
10133b5f
VS
32812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3284 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3285
8e307a62
VS
32862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * include/grub/env.h (grub_env_find): Remove prototype.
3289 * grub-core/kern/env.c (grub_env_find): Make static.
3290 (grub_env_set): Remove useless set.
3291
a4c65f34
VS
32922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/kern/i386/realmode.S: Remove useless align.
3295
d87893d5
VS
32962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * include/grub/dl.h (grub_dl_load_file): Don't export.
3299
50159add
VS
33002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3303 grub_dprintf.
3304
b2582b84
VS
33052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3308 grub_errors.
3309 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3310 not reloading whole superblock but only the part which is really needed.
3311 Remove useless grub_errors.
3312 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3313 grub_errors.
3314
e2a83395
VS
33152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Don't export grub_get_rtc.
3318
3319 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3320 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3321
e7d2a906
VS
33222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3325
6cf1363b
VS
33262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3329 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3330
eece3349
VS
33312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Remove prio_list.
3334
3335 * include/grub/list.h (grub_prio_list): Removed.
3336 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3337 GRUB_COMMAND_PRIO_MASK.
3338 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3339 GRUB_COMMAND_FLAG_ACTIVE.
3340 (grub_prio_list_insert): Removed.
3341 (grub_prio_list_remove): Likewise.
3342 (GRUB_AS_PRIO_LIST): Likewise.
3343 (GRUB_AS_PRIO_LIST_P): Likewise.
3344 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3345 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3346 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3347 * grub-core/kern/command.c (grub_register_command_prio): Inline
3348 the prio_list code.
3349 (grub_unregister_command): Likewise.
3350
94f064b4
VS
33512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 Fix interrupt mixup from previous commit.
3354
3355 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3356 (grub_realidt): New var.
3357 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3358 Load idt.
3359 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3360 New declaration.
3361 (grub_relocator16_boot): Set grub_relocator16_idt.
3362 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3363 (LOCAL(realidt)): ... this.
3364 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3365 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3366 (grub_realidt): New variable.
3367
27317084
VS
33682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3371 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3372 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3373 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3374 Gettextize.
3375 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3376 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3377 * po/POTFILES.in: Regenerate.
3378
47b40053
VS
33792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3382 errors.
3383
2b343101
VS
33842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3387 \0.
3388 (add_length): Likewise.
3389
ff27c3dd
LK
33902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
33912012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3392
3393 GDB serial and backtrace support.
3394
3395 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3396 (prot_to_real): Likewise.
3397 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3398 * grub-core/Makefile.core.def (backtrace): New module.
3399 (gdb): Likewise.
3400 * grub-core/gdb/cstub.c: New file.
3401 * grub-core/gdb/gdb.c: Likewise.
3402 * grub-core/gdb/i386/idt.c: Likewise.
3403 * grub-core/gdb/i386/machdep.S: Likewise.
3404 * grub-core/gdb/i386/signal.c: Likewise.
3405 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3406 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3407 * include/grub/backtrace.h: Likewise.
3408 * include/grub/gdb.h: Likewise.
3409 * include/grub/i386/gdb.h: Likewise.
3410
34112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3412
3413 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3414 New function.
3415 (add_length): Likewise.
3416 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3417 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3418 proto.
3419 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3420 __argp_get_display_len.
3421
ff27c3dd 34222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3423
3424 $"..." support in scripts.
3425
3426 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3427 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3428 * grub-core/script/yylex.l: Likewise.
3429 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3430 value.
3431
ff27c3dd 34322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3433
3434 * gentpl.py: Remove obsolete pkglib_DATA handling.
3435
ff27c3dd 34362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3437
3438 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3439 mailing list.
3440
3441 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3442 * util/grub-kbdcomp.in: Likewise.
3443 * util/grub-mkconfig.in: Likewise.
3444 * util/grub-mkconfig_lib.in: Likewise.
3445 * util/grub-mknetdir.in: Likewise.
3446 * util/grub-mkrescue.in: Likewise.
3447 * util/grub-mkstandalone.in: Likewise.
3448 * util/grub-reboot.in: Likewise.
3449 * util/grub-set-default.in: Likewise.
3450 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3451
ff27c3dd 34522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3453
3454 Remove GRUB_PREFIX.
3455
3456 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3457 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3458 used for backward compatibility.
3459
ff27c3dd 34602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3461
3462 Add new all_video module.
3463
3464 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3465 * grub-core/Makefile.core.def (all_video): New module.
3466 * grub-core/genmoddep.awk: Generate dependency of all_video from
3467 video.lst.
3468 * grub-core/lib/fake_module.c: New file.
3469 * grub-core/normal/main.c (features): Add feature_all_video_module.
3470 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3471 don't do explicit search again.
47454da5 3472 insmod all_video in load_video if available.
22c7ce85 3473
ff27c3dd 34742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3475
3476 Another round of string clarification and adding TRANSLATORS comments.
3477
ff27c3dd 34782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3479
3480 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3481
ff27c3dd 34822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3483
3484 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3485 to grub_ssize_t.
3486 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3487 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3488
ff27c3dd 34892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3490
3491 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3492 trailing newline implicitly. All users updated.
3493
ff27c3dd 34942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3495
3496 Implement serial on IEEE1275 and EFI.
3497
3498 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3499 on emu. Mention arc and emu as the only platforms without serial
3500 support.
3501 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3502 ieee1275 platforms.
3503 * grub-core/term/efi/serial.c: New file.
3504 * grub-core/term/ieee1275/serial.c: Likewise.
3505 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3506 specification if no ns8250 driver is available.
3507 (grub_cmd_serial): Likewise.
3508 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3509 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3510 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3511 (grub_efi_parity_type_t): New type.
3512 (grub_efi_stop_bits_t): Likewise.
3513 (grub_efi_serial_io_interface): New struct.
3514 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3515 available for all interfaces.
3516 Add EFI and IEEE1275 fields.
3517 (grub_ofserial_init): New proto.
3518 (grub_efiserial_init): Likeiwse.
3519 * util/grub.d/00_header.in: Don't check for the presence of serial
3520 module.
3521
ff27c3dd 35222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3523
3524 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3525 name as if it was an alias.
3526
114076ef
VS
35272012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/commands/lsacpi.c (options): Fix typo.
3530
6a656b0e
VS
35312012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Convert grub-emu to argp.
3534
3535 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3536 emu.
3537 * util/argp_common.c: Rename to ...
3538 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3539 Add missing includes.
3540 * grub-core/kern/emu/main.c: Convert to argp.
3541 * po/POTFILES.in: Regenerate.
3542 * util/grub-install.in (usage): Make first letter lowcase in messages
3543 for uniformity.
3544 * util/grub-setup.c (options): Likewise.
3545
1e3f8ae8
VS
35462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3549 Put back accidently commented-out code.
3550
ed167a80
VS
35512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3554 loop check using Brent algorithm.
3555 (grub_hfsplus_btree_search): Likewise.
3556
6753c0ec
VS
35572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * util/grub-install.in: Fix usage of wrong device for PreP install.
3560
4e27343f
VS
35612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * conf/Makefile.common (CFLAGS_GNULIB): Add
3564 -Wno-unsafe-loop-optimizations.
3565 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3566 on tools.
3567 * grub-core/commands/legacycfg.c: Add pragma to skip
3568 -Wunsafe-loop-optimizations.
3569 (check_password_md5_real): Fix loop counter type.
3570 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3571 reading.
3572 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3573 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3574 loop condition.
3575 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3576 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3577 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3578 condition.
3579 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3580 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3581 avoid possible infinite loops.
3582 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3583 and -Wunsafe-loop-optimizations.
3584 * grub-core/script/yylex.l: Likewise.
3585 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3586 (print_glyphs): Avoid infinite loops.
3587 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3588
697f18b0
GS
35892012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3590
3591 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3592 to avoid infinite loop.
3593 (disp_acpi_rsdt_table): Likewise.
3594
274416e8
VS
35952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/font/font.c (grub_font_load): Add support for default
3598 path for fonts ($prefix/fonts).
3599 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3600 for checking if string is a path.
3601 * grub-core/normal/main.c (features): Add feature_default_font_path.
3602 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3603 * util/grub.d/00_header.in: Use default directory if possible.
3604 * util/grub-install.in: Install unicode.pf2.
3605
b3e08622
VS
36062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3609 * po/Rules-swiss: New file.
3610 * po/swiss.sed: Likewise.
3611
fe42ce09
VS
36122012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/fs/btrfs.c (find_device): Fix typos.
3615 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3616 * util/grub-mkrelpath.c (argp_parser): Likewise.
3617 Reported by: Yuri Chornoivan.
3618
72f1d065
DO
36192012-02-23 Dalet Omega <daletomega@gmail.com>
3620
3621 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3622 for usual informative messages.
3623
c5884973
DO
36242012-02-23 Dalet Omega <daletomega@gmail.com>
3625
3626 Starfield theme.
3627
3628 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3629 * conf/Makefile.common: Define starfielddir.
3630 * configure.ac: Configure starfield.
3631 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3632 * themes/starfield/README: Likewise.
3633 * themes/starfield/blob_w.png: Likewise.
3634 * themes/starfield/boot_menu_c.png: Likewise.
3635 * themes/starfield/boot_menu_e.png: Likewise.
3636 * themes/starfield/boot_menu_n.png: Likewise.
3637 * themes/starfield/boot_menu_ne.png: Likewise.
3638 * themes/starfield/boot_menu_nw.png: Likewise.
3639 * themes/starfield/boot_menu_s.png: Likewise.
3640 * themes/starfield/boot_menu_se.png: Likewise.
3641 * themes/starfield/boot_menu_sw.png: Likewise.
3642 * themes/starfield/boot_menu_w.png: Likewise.
3643 * themes/starfield/slider_c.png: Likewise.
3644 * themes/starfield/slider_n.png: Likewise.
3645 * themes/starfield/slider_s.png: Likewise.
3646 * themes/starfield/src/blob_nw.xcf: Likewise.
3647 * themes/starfield/src/bootmenu/: Likewise.
3648 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3649 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3650 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3651 * themes/starfield/src/slider_c.xcf: Likewise.
3652 * themes/starfield/src/slider_n.xcf: Likewise.
3653 * themes/starfield/src/slider_s.xcf: Likewise.
3654 * themes/starfield/src/terminalbox/: Likewise.
3655 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3656 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3657 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3658 * themes/starfield/starfield.png: Likewise.
3659 * themes/starfield/terminal_box_c.png: Likewise.
3660 * themes/starfield/terminal_box_e.png: Likewise.
3661 * themes/starfield/terminal_box_n.png: Likewise.
3662 * themes/starfield/terminal_box_ne.png: Likewise.
3663 * themes/starfield/terminal_box_nw.png: Likewise.
3664 * themes/starfield/terminal_box_s.png: Likewise.
3665 * themes/starfield/terminal_box_se.png: Likewise.
3666 * themes/starfield/terminal_box_sw.png: Likewise.
3667 * themes/starfield/terminal_box_w.png: Likewise.
3668 * themes/starfield/theme.txt: Likewise.
3669
17d73325
VS
36702012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub.d/00_header.in: Add missing export theme.
3673
dbebaf92
VS
36742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3677 already included.
3678 Reported by: Eren D.
3679
3d68bffb
VS
36802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * conf/Makefile.common (grubdatadir): Removed.
3683 (Makefile.am): Move eveything grubdata to pkgdata.
3684
4b59234d
VS
36852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/commands/acpihalt.c (get_sleep_type):
3688 Remove unused variable.
3689
463dcadc
VS
36902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3693 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3694 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3695 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3696 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3697 i18n with gettext no-op.
3698 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3699 GRUB_ACPI_OPCODE_STRING_CONST.
3700 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3701 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3702
e5b90c82
VS
37032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * po/POTFILES.in: Regenerate.
3706
2a704ca9
VS
37072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3710 -Wno-error=missing-noreturn.
3711
84f9d341
VS
37122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3715 condition to avoid possibly infinite loops.
3716 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3717 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3718
d46683f9
VS
37192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3722 condition to avoid possibly infinite loops.
3723
c44866b2
VS
37242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3727 on show_error.
3728
96790539
VS
37292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3732
1ba7e295
VS
37332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3736
21ffe8f1
VS
37372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * util/bin2h.c (usage): Add missing attribute noreturn.
3740
0ccb6b3c
VS
37412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3744 if the size isn't divisible by 512.
3745
b00d7fb6
VS
37462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Make list_push and list_remove functions rather than inline functions
3749 to decrease size and avoid aliasing violations.
3750
3751 * include/grub/list.h (grub_list_push): Move to ...
3752 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3753 * include/grub/list.h (grub_list_remove): Move to ...
3754 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3755
9d369087
VS
37562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3759 and -Wunused-result.
3760
af0250d9
VS
37612012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3764 Reported by: Seth Goldberg
3765
aad32b14
VS
37662012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3769
ac96441c
ST
37702012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3771
3772 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3773 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3774 command line.
3775 * docs/grub.texi (Simple configuration): Document
3776 GRUB_CMDLINE_GNUMACH.
3777
37782012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3779
3780 * conf/Makefile.common (platform_SCRIPTS): New variable.
3781 (platform_PROGRAMS): Likewise.
3782 * gentpl.py: Mark *,module and *.image for install.
3783 * grub-core/gdb_grub.in: Add a notice of expected environment.
3784 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3785 (gmodule.pl): Likewise.
3786
ac96441c 37872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3788
3789 Replace grub_checkkey with grub_getkey_noblock.
3790
3791 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3792 (grub_getkey_noblock): ... this. All users updated.
3793
ac96441c 37942012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3795
3796 * grub-core/kern/emu/console.c: Move to ...
3797 * grub-core/term/emu/console.c: ...here.
3798 (grub_ncurses_getkey): Fix return value if no key is detected.
3799
e51b5666
VS
38002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3803 (grub_unit_test_fini): Likewise.
3804 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3805
38062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * include/grub/test.h (GRUB_UNIT_TEST)
3809
d9a62292
VS
38102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3813 Better error handling.
3814 (grub_script_return): Likewise.
3815 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3816
77c9182f
VS
38172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3820 rimplicit redifinition.
3821
edb13cf9
VS
38222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3825 GRUB.
3826
a9e9dc7c
VS
38272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3830 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3831 prompt here.
3832
b4ba8e02
VS
38332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3836 as GRUB_ERR_BUG. Don't malloc if no device is available.
3837
dded5540
VS
38382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3841 Mark calling with invalid term as GRUB_ERR_BUG.
3842
0cf69874
VS
38432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3846 packets rather than raising an error.
3847
59bfe502
VS
38482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3851 in if.
3852
db5fc596
VS
38532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3856 diagnostic to dprintf.
3857 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3858
e4b7f404
VS
38592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3862 device name.
3863
e7b02f9e
VS
38642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3867 (grub_ntfs_iterate_dir): Likewise.
3868
0331e102
VS
38692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Efiemu stylistic fixes and gettext.
3872
3873 * grub-core/efiemu/i386/loadcore32.c
3874 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3875 * grub-core/efiemu/i386/loadcore64.c
3876 (grub_arch_efiemu_relocate_symbols64): Likewise.
3877 * grub-core/efiemu/i386/pc/cfgtables.c
3878 (grub_machine_efiemu_init_tables): Likewise.
3879 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3880 (grub_efiemu_loadcore_initXX): Add a filename argument.
3881 All users updated.
3882 Improved error message.
3883 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3884 Add a filename argument.
3885 All users updated.
3886 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3887 Reclassify double relocation as GRUB_ERR_BUG.
3888
306fc074
VS
38892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3892 handling.
3893
794d8ef2
VS
38942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3897 on partition.
3898
38992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3900
3901 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3902
794d8ef2 39032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3904
3905 Improve string. Gettextize.
3906
78dde88e
VS
39072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3910 utils.
3911 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3912
4786a90f
VS
39132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3916 [GRUB_UTIL]: New function.
3917 (insert_array) [GRUB_UTIL]: Store partmaps.
3918 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3919 partmaps.
3920 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3921 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3922 (probe_abstraction): Print diskfilter and not raid.
3923 Reported by: Lennart Sorensen
3924
0b6225bd
VS
39252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3928 * util/grub-mkimagexx.c (MASK3): New define.
3929 (add_value_to_slot_20b): Use MASK3.
3930 (add_value_to_slot_21): Likewise.
3931 (relocate_addresses): Fix format specification.
3932 (load_image): Explicitly init symtab_section.
3933
b055f8f6
VS
39342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3937 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3938
b77c2fb7
VS
39392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3942 on powerpc.
3943 Reported by: Lennart Sorensen
3944
e3ec28ab
VS
39452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * gentpl.py: Add missing license header.
3948 * docs/grub.texi: Update copyright year.
3949
c8d9ead6
GS
39502012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3951
3952 Source grub-mkconfig_lib from the build directory at build time.
3953 Suggested by: Vladimir Serbinenko.
3954
3955 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3956 * util/grub-install.in: Define pkgdatadir if not already set, and source
3957 grub-mkconfig_lib from there.
3958 * util/grub-kbdcomp.in: Likewise.
3959 * util/grub-mkconfig.in: Likewise.
3960 * util/grub-mknetdir.in: Likewise.
3961 * util/grub-mkrescue.in: Likewise.
3962 * util/grub-mkstandalone.in: Likewise.
3963 * util/grub-reboot.in: Likewise.
3964 * util/grub-set-default.in: Likewise.
3965 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3966
ebcecdf1
VS
39672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Increase warning level.
3970
3971 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3972 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3973 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3974 (TARGET_CFLAGS): Likewise.
3975 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3976 * grub-core/Makefile.core.def (decompressor_xz): Add
3977 -Wno-unreachable-code.
3978 (normal): Add -Wno-redundant-decls.
3979 (xzio): Add -Wno-unreachable-code.
3980 (lzopio): Add -Wno-redundant-decls -Wno-error.
3981 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3982 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3983 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3984 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3985 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3986 * grub-core/kern/i386/coreboot/init.c: Add exception to
3987 -Wsuggest-attribute=noreturn.
3988 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3989 * grub-core/kern/ia64/dl_helper.c: Likewise.
3990 * grub-core/kern/mips/dl.c: Likewise.
3991 * grub-core/kern/sparc64/dl.c: Likewise.
3992 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3993 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3994 (memcmp): Likewise.
3995 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3996 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3997 * grub-core/loader/mips/linux.c: Likewise.
3998 * grub-core/loader/multiboot_elfxx.c: Likewise.
3999 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4000 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4001 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4002 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4003 fixme.
4004 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4005 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4006 Fix prototype.
4007
37bb97fe
VS
40082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4011 address.
4012
29a3550b
VS
40132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4016 Avoid improper use of strings.
4017 (grub_cmd_legacy_initrdnounzip): Likewise.
4018
dfdffd0d
VS
40192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4022 attribute.
4023 (grub_util_info): Likewise.
4024 (grub_util_error): Likewise.
4025
102fae4a
VS
40262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4029 * util/grub-fstest.c (fstest): Likewise.
4030
7e94d044
VS
40312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4034 (grub_md_sha512_real): Likewise.
4035 (grub_util_get_geli_uuid): Likewise.
4036 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4037 (grub_util_biosdisk_open): Fix format specification.
4038 Respect format security.
4039 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4040 (xrealloc): Likewise.
4041 (xasprintf): Likewise.
4042
5ebd9769
VS
40432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * util/import_gcry.py: Include grub/crypto.h in init.c.
4046
495fc8c1
VS
40472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4050 (generate_image): Make prefix a const char *.
4051 Fix format specifications. Respect format security.
4052 Avoid void * arithmetics.
4053 Avoid shadowing.
4054 (argp_parser): Remove unused variable. Respect format security.
4055 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4056 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4057 (count_funcs): Remove unused variable.
4058 (relocate_addresses): Fix format specification.
4059 Disable x86-64 with elf32. Remove unused variables.
4060 (add_fixup_entry): Avoid shadowing.
4061 (make_reloc_section): Fix format specification.
4062 Use assert.
4063 (locate_sections): Fix format specifications.
4064 (load_image): Avoid shadowing.
4065
043c2ea3
VS
40662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4069 Fix format specifications. Respect format security.
4070 Don't translate already translated grub_errmsg.
4071 (argp_parser): Remove unused variable
4072
3ec65a81
VS
40732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4076
a4d9fe4a
VS
40772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4080 (main): Likewise. Use xmalloc. Respect format security.
4081
15b81d49
VS
40822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4085 a const char *.
4086 (argp_parser): Remove unused variable.
4087
31731fc0
VS
40882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4091 (add_pixel): Make static.
4092 (add_font): Likewise.
4093 (write_string_section): Make name and str a const char *.
4094 (write_be16_section): Make name a const char *.
4095 (print_glyphs): Make static.
4096 (write_font_ascii_bitmap): Likewise.
4097 (write_font_width_spec): Likewise.
4098 (write_font_pf2): Likewise.
4099 (argp_parser): Remove unused variable.
4100 Respect format security.
4101 (main): Avoid shadowing. Respect format security.
4102
0809527b
VS
41032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * util/grub-editenv.c (argp_parser): Make static.
4106 (create_envblk_file): Use xmalloc.
4107 (open_envblk_file): Likewise.
4108 Resepect format security.
4109 (set_variables): Respect format security.
4110
45b0c8b7
VS
41112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * util/getroot.c (grub_find_device): Respect format security.
4114 (get_mdadm_uuid): Remove unused variable.
4115 (grub_util_pull_device): Dont call gettext on already translated
4116 grub_errmsg.
4117 (find_system_device): Remove unused variable.
4118 (grub_util_get_grub_dev): Likewise.
4119 (grub_make_system_path_relative_to_its_root): Respect format security.
4120
1b024b4e
VS
41212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * util/grub-fstest.c (execute_command): Make first argument
4124 a const char *.
4125 (read_file): Avoid shadowing.
4126 Reuse underlying error message if device open fails.
4127 (cmd_cmp): Respect format security.
4128 (root): Make const char *.
4129 (fstest): Remove args argument and use global copy.
4130 Respect format security.
4131 (argp_parser): Make static.
4132 (main): Make default_root const char *.
4133
5d1d4e28
VS
41342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * util/grub-mount.c (root): Make const char *.
4137 (execute_command): Make first argument a const char *.
4138 (fuse_init): Respect format security.
4139 (argp_parser): Make static. Remove unused variable.
4140 (main): Make default_root a const char *.
4141 Respect format security.
4142
36eb7379
VS
41432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * util/grub-probe.c (probe): Don't call gettext on already translated
4146 grub_errmsg.
4147 Remove unused variables.
4148 (argp_parser): Remove unused variable.
4149
76fb2ea9
VS
41502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * util/grub-script-check.c (argp_parser): Remove unused variable.
4153 (main): Rename read to curread to avoid shadowing.
4154
56c98584
VS
41552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * util/misc.c (grub_util_write_image_at): Fix format specification.
4158 (grub_util_write_image): Likewise.
4159 (grub_script_execute_argument_to_string): Removed (unused).
4160 (grub_script_execute_menuentry): Likewise.
4161 (grub_putchar): Likewise.
4162
164ebb48
VS
41632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4166 (FUNCTION) [GRUB_UTIL]: Likewise.
4167 (VARIABLE) [GRUB_UTIL]: Likewise.
4168
44318d61
VS
41692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4172 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4173
31a26002
VS
41742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4177 buffer.
4178
41792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4182 (LzmaEnc_SaveState): Removed (unused).
4183 (LzmaEnc_RestoreState): Likewise.
4184 (LzmaEnc_InitPriceTables): Made static.
4185 (LzmaEnc_Construct): Likewise.
4186 (LzmaEnc_FreeLits): Likewise.
4187 (LzmaEnc_Destruct): Likewise.
4188 (LzmaEnc_Init): Likewise.
4189 (LzmaEnc_InitPrices): Likewise.
4190 (LzmaEnc_Finish): Likewise.
4191 (LzmaEnc_PrepareForLzma2): Removed (unused).
4192 (LzmaEnc_MemPrepare): Likewise.
4193 (LzmaEnc_GetNumAvailableBytes): Likewise.
4194 (LzmaEnc_GetCurBuf): Likewise.
4195 (LzmaEnc_CodeOneMemBlock): Likewise.
4196
6fa67967
VS
41972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4200 (grub_util_ldm_embed): Likewise.
4201
9a7428e6
VS
42022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * util/grub-editenv.c (print_var): Rename name to varname to
4205 avoid shadowing.
4206 (main): Rename index to curindex to avoid shadowing.
31a26002 4207 Make filename a const char *.
9a7428e6 4208
4f96abd1
VS
42092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4212 to arg_getline to avoid shadowing.
4213
44d10dad
VS
42142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4217 disk_ to avoid shadowing.
4218
340ba63e
VS
42192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4222 curindex to avoid shadowing.
4223 Make static.
4224 (MatchFinder_GetNumAvailableBytes): Make static.
4225
22965bce
VS
42262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4229 avoid shadowing.
4230
7b5784d4
VS
42312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4234 argument from encrypt to do_encrypt to avoid shadowing.
4235
6f48ca01
VS
42362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4239 incorrect nesting of #if's.
4240
a4ea2dff
VS
42412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4244 checks which are always false on some platforms.
4245 (grub_cmd_lsacpi): Likewise.
4246 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4247 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4248 Likewise.
4249
def9fc1b
VS
42502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4253 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4254
a67b2a04
VS
42552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4258 re_dfa_t to avoid breaking alignment invariants.
4259 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4260 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4261
44c6828d
VS
42622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4265 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4266
bebe0dd0
VS
42672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4270 Fix declaration.
4271
a9cdb3cf
VS
42722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4275 conserve alignment invariants.
4276 (grub_ehci_ehcc_read16): Likewise.
4277 (grub_ehci_oper_read32): Likewise.
4278 (grub_ehci_oper_write32): Likewise.
4279 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4280 Conserve alignment invariants.
4281
ccc3b1b8
VS
42822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4285 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4286 declarations.
4287
987fbd95
VS
42882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4291 Remove unused variable.
4292
0df363f3
VS
42932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4296 Remove set in if.
4297
b2c0c4a6
VS
42982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * include/grub/net.h: Remove double declarations.
4301
690c531f
VS
43022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Remove "payload" command in ia64 Linux loader since I couldn't
4305 find any evidence of it being used for anything.
4306 Replace "relocate" command with an environment variable
4307
4308 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4309 fields.
4310 (ia64_boot_payload): Removed.
4311 (last_payload): Likewise.
4312 (RELOCATE_OFF): Likewise.
4313 (RELOCATE_ON): Likewise.
4314 (RELOCATE_FORCE): Likewise.
4315 (relocate): Likewise.
4316 (free_pages): Don't free payloads.
4317 (grub_load_elf64): Use common error messages.
4318 Use "linux_relocate" variable.
4319 Increase the space after boot_params.
4320 (grub_cmd_payload): Removed.
4321 (grub_cmd_relocate): Likewise.
4322 (grub_cmd_fpswa): Improve messages.
4323 (cmd_payload): Removed.
4324 (cmd_relocate): Likewise.
4325 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4326 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4327
01783768
VS
43282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Convert UHCI to DMA framework.
4331
4332 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4333 (grub_uhci_pci_iter): Fill new members
4334 (grub_alloc_td): Use P2V and V2P functions.
4335 (grub_free_queue): Likewise.
4336 (grub_alloc_qh): Likewise.
4337 (grub_uhci_setup_transfer): Likewise.
4338 (grub_uhci_check_transfer): Likewise.
4339
43206939
VS
43402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4343 Remove assignment in if while on it.
4344
571e140e
VS
43452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * util/grub-mkstandalone.in: Fix modules directory.
4348
a9d96eeb
VS
43492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4352 on i386-pc target.
4353 (argp_parser): Accept "auto" as compression specification.
4354
e4e37e8d
VS
43552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 Fix `help' with unloaded modules.
4358
4359 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4360 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4361 (grub_dyncmd_dispatcher): Small stylistic fix.
4362 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4363 explicit help is requested.
4364
e1ea3ade
VS
43652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4368 Explicitly init restart while on it.
4369
27556881
VS
43702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4373 uninited variable.
4374
d65f6b36
VS
43752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * util/grub-mknetdir.in: Use . rather than source for POSIX
4378 compatibility.
4379
0a1e473c
VS
43802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4383
ce6647c8
VS
43842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4387 variable.
4388
66747894
VS
43892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4392 without quotes.
4393
71645f6e
VS
43942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4397
0e1c1f61
VS
43982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4401 iteration of partitions.
4402
9c4b5c13
VS
44032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 Improve gettext support. Stylistic fixes and error handling fixes while
4406 on it.
4407
215c90cb
VS
44082012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4411 part. Instead setup the correct stack in RM.
4412 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4413 for stack.
4414 * include/grub/i386/relocator_private.h: New file.
4415
b5c1f9bf
VS
44162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4419 argument.
4420 * util/grub-fstest.c (options): Add missing DEVICE part.
4421
b525fd83
VS
44222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 Clarify and unify messages.
4425
4426 * grub-core/commands/hashsum.c (options): Unify messages.
4427 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4428 literal-only message as translatable.
4429 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4430 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4431 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4432 commands.
4433 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4434 key, not the key used to unlock. Clarify what it's used for.
4435 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4436 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4437 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4438 * util/grub-editenv.c (options): Unify "verbose" message.
4439 * util/grub-fstest.c (read_file): Unify error message.
4440 (fstest): Add quotes around commands.
4441 (options): Unify "verbose" message.
4442 * util/grub-install.in: Add quotes around variable name.
4443 * util/grub-kbdcomp.in: Unify error message.
4444 * util/grub-mkfont.c (main): Likewise.
4445 * util/grub-mkrescue.in: Likewise.
4446 * util/grub-mklayout.c (options): Unify "verbose" message.
4447 * util/grub-mkstandalone.in: Unify help and verbose messages.
4448 * util/grub-mount.c (options): Unify "verbose" message.
4449 * util/grub-probe.c (options): Likewise.
4450 * util/grub-script-check.c (options): Likewise.
4451 * util/grub-setup.c (setup): Unify no-terminator message.
4452 (options): Use DEVICE and not DEV.
4453 Unify "verbose" message.
4454 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4455
0ae70393
VS
44562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 Improve and unify messages.
4459
4460 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4461 name. All users updated.
4462 Print filename in error.
4463 (read_device_map): Print filename in error.
4464 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4465 (grub_util_get_os_disk): Likewise.
4466 (grub_util_biosdisk_get_grub_dev): Likewise.
4467 (grub_util_check_block_device): Likewise.
4468 (grub_util_check_char_device): Likewise.
4469 (grub_make_system_path_relative_to_its_root): Likewise.
4470 * util/grub-editenv.c (create_envblk_file): Likewise.
4471 (open_envblk_file): Likewise.
4472 (write_envblk): Likewise.
4473 * util/grub-fstest.c (cmd_cp): Likewise.
4474 (cmd_cat): Likewise.
4475 (cmd_cmp): Likewise.
4476 * util/grub-menulst2cfg.c (main): Likewise.
4477 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4478 (write_font_width_spec): Likewise.
4479 (write_font_pf2): Likewise.
4480 * util/grub-mkimage.c (generate_image): New argument outname.
4481 All users updated.
4482 Remove unreacheable message.
4483 (options): Unify messages.
4484 (help_filter): Likewise.
4485 * util/grub-mklayout.c (usage): Removed (unused).
4486 (main): Print filename in error.
4487 * util/grub-mkrescue.in: Fix wrong quoting.
4488 * util/grub-setup.c (setup): Print filename in error.
4489 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4490 (check_sas): Likewise.
4491 * util/misc.c (grub_util_get_fp_size): Removed.
4492 (grub_util_get_image_size): Print filename in error.
4493 (grub_util_read_at): Removed.
4494 (grub_util_read_image): Print filename in error.
4495 (grub_util_load_image): Likewise.
4496 (grub_util_write_image_at): New argument filename. All users updated.
4497 Print filename in error.
4498 (grub_util_write_image): New argument filename. All users updated.
4499 Print filename in error.
4500 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4501 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4502
0a96117d
VS
45032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/Makefile.core.def (pxechain): New module.
4506 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4507 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4508 function.
4509 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4510 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4511
aca002f7
VS
45122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4515 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4516 * include/grub/err.h (grub_error_saved): New struct.
4517 (grub_errmsg): Make array size explicit.
4518 * include/grub/misc.h (grub_error_save): New function.
4519 (grub_error_load): Likewise.
4520 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4521 (grub_error_push): Update `errno' member name.
4522 (grub_error_pop): Likewise
4523 * grub-core/net/tftp.c (tftp_data): New member save_err.
4524 (tftp_receive): Save error.
4525 (tftp_open): Restore error.
4526
a51dab13
VS
45272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4530 to real mode down to execute A20-related code in protected mode as
4531 intended.
4532
eb6e6649
GS
45332012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4534
4535 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4536 NULL when the argument `level' has an unexpected value.
4537
92cd0f6e
VS
45382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Move platform-dependent files from $prefix to $prefix/$platform.
4541
4542 * config.h.in (GRUB_TARGET_CPU): New definition.
4543 (GRUB_PLATFORM): Likewise.
4544 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4545 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4546 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4547 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4548 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4549 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4550 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4551 * grub-core/normal/term.c (read_terminal_list): Likewise.
4552 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4553 $prefix/locale.
4554 (grub_gettext_init_ext): Likewise.
4555 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4556 grub_platform.
4557 * util/grub-install.in: Update directories.
4558 * util/grub-mknetdir.in: Likewise.
4559 * util/grub-mkrescue.in: Likewise.
4560
db606889
VS
45612012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4564 grub_error framework. All users updated.
4565
c39992a4
VS
45662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4569 lists (by always binsearching), improve caching (cache strings
4570 used for binsearch, not only results), improve
4571 maintainability (by using more structured binary search) and correct
4572 error handling.
4573
1e5ec32f
VS
45742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/script/execute.c (grub_script_return): Fix warning.
4577
ac576cde
VS
45782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/script/execute.c (grub_script_return): Fix potential
4581 NULL-dereference.
4582 Reported by: Jim Meyering.
4583
498453f6
VS
45842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * po/POTFILES.in: Regenerate.
4587 * util/grub-install.in: Gettextize the strings missed in first pass.
4588
8be63f2e
VS
45892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * Makefile.util.def (grub-mkdevicemap): Removed.
4592 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4593 * include/grub/util/deviceiter.h: Removed.
4594 * util/deviceiter.c: Likewise.
4595 * util/getroot.c (grub_util_get_os_disk): New function.
4596 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4597 replacement for EFI.
4598 * util/grub-mkdevicemap.c: Removed.
4599 * util/grub-probe.c (probe): Handle PRINT_DISK.
4600 (argp_parser): Handle -t disk.
4601
8e1e4e39
VS
46022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * util/grub-mkfont.c: Migrate to argp.
4605 * util/grub-mklayout.c: Likewise.
4606 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4607 * util/grub-mkrelpath.c: Likewise.
4608 * util/grub-probe.c: Likewise.
4609 * util/grub-script-check.c: Likewise.
4610
4459819a
VS
46112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * util/grub-reboot.in: Add missing datarootdir.
4614 Add missing newline.
4615 * util/grub-set-default.in: Add missing datarootdir.
4616 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4617 * util/grub-mkrescue.in: Likewise.
4618
f65741c7
VS
46192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4622
c1a33466
VS
46232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * util/grub-kbdcomp.in: Add decent help and gettextize.
4626 * docs/man/grub-kbdcomp.h2m: New file.
4627
c76899a0
VS
46282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 Migrate grub-mkimage.c to argp.
4631
4632 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4633 (grub-setup): Likewise.
4634 * util/grub-setup.c (print_version): Move to ...
4635 * util/argp_common.c (print_version): ... here.
4636 * util/grub-setup.c (argp_program_version_hook): Move to ...
4637 * util/argp_common.c (argp_program_version_hook): ... here.
4638 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4639 safety.
4640 * util/grub-mkimage.c (main): Migrate to argp.
4641
57db0757
VS
46422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-mkrescue.in: Use same message as
4645 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4646 for better translations.
4647
18534ad9
VS
46482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4651 options with generic grub-mkrescue.in with the goal of future
4652 merge.
4653
c84ba308
VS
46542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/kern/mm.c: Add missing include of i18n.h
4657 * grub-core/lib/relocator.c: Likewise.
4658
347998c2
VS
46592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4662 error.
4663 (allocate_pages): Check return value.
4664 Replace fatal with error.
4665 (grub_linux_boot): Replace printf with dprintf.
4666 Check find_mmap_size return value.
4667 Replace fatal with error.
4668 Don't call grub_machine_fini.
4669 (grub_load_elf64): Replace printf with dprintf.
4670 (grub_cmd_linux): Likewise.
4671 (grub_cmd_initrd): Likewise.
4672 (grub_cmd_payload): Likewise.
4673
c779226e
VS
46742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4677 message.
4678 * grub-core/video/radeon_fuloong2e.c
4679 (grub_video_radeon_fuloong2e_setup): Likewise.
4680 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4681 * grub-core/video/video.c (grub_video_set_mode): Don't override
4682 standard out of memory message.
4683
dc87d45a
GS
46842012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4685
4686 NetBSD disk wedge support.
4687
4688 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4689 [__NetBSD__]: Handle NetBSD disk wedges.
4690 * util/getroot.c (convert_system_partition_to_system_disk)
4691 [__NetBSD__]: Likewise.
4692
055f856f
MW
46932012-02-03 Mark Wooding <mdw@distorted.org.uk>
4694
4695 * util/grub-mkconfig.in: Use umask rather than chmod to create
4696 grub.cfg.new to avoid insecure grub.cfg.
4697
4a9f8346
VS
46982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/commands/ls.c: Gettextize.
4701 * grub-core/commands/setpci.c: Likewise.
4702 * grub-core/commands/videotest.c: Likewise.
4703 * grub-core/disk/geli.c: Likewise.
4704 * grub-core/kern/mm.c: Likewise.
4705 * grub-core/lib/relocator.c: Likewise.
4706 * grub-core/loader/efi/appleloader.c: Likewise.
4707 * grub-core/loader/i386/xnu.c: Likewise.
4708 * grub-core/loader/ia64/efi/linux.c: Likewise.
4709 * grub-core/loader/xnu.c: Likewise.
4710 * grub-core/net/dns.c: Likewise.
4711 * grub-core/net/net.c: Likewise.
4712 * grub-core/script/lexer.c: Likewise.
4713 * grub-core/script/parser.y: Likewise.
4714 * grub-core/script/yylex.l: Likewise.
4715 * util/getroot.c: Likewise.
4716 * util/grub-setup.c: Likewise.
4717
a646a366
VS
47182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4721 number.
4722
54e2be26
VS
47232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4726
f7c71e68
VS
47272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4730 macro.
4731 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4732 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4733
a32d5c71
VS
47342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4737 * util/grub-install.in: Gettextize.
4738 * util/grub-mkconfig.in: Likewise.
4739 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4740 if not available.
4741 (grub_warn): Gettextize.
4742 * util/grub-mknetdir.in: Gettextize.
4743 * util/grub-mkrescue.in: Likewise.
4744 * util/grub-mkstandalone.in: Likewise.
4745 * util/grub-reboot.in: Likewise.
4746 * util/grub-set-default.in: Likewise.
4747 * util/grub.d/00_header.in: Likewise.
4748 * util/grub.d/10_hurd.in: Likewise.
4749 * util/grub.d/10_kfreebsd.in: Likewise.
4750 * util/grub.d/10_linux.in: Likewise.
4751 * util/grub.d/10_netbsd.in: Likewise.
4752 * util/grub.d/10_windows.in: Likewise.
4753 * util/grub.d/20_linux_xen.in: Likewise.
4754 * util/grub.d/30_os-prober.in: Likewise.
4755 * po/POTFILES-shell.in: Regenerate.
4756
69edd81a
RL
47572012-02-03 Richard Laager <rlaager@wiktel.com>
4758
4759 * util/grub-mkimage.c (main): Fix format-security warning.
4760 * util/grub-mkrelpath.c (main): Likewise.
4761 * util/grub-probe.c (main): Likewise.
4762
65f08dbf
RL
47632012-02-03 Richard Laager <rlaager@wiktel.com>
4764
4765 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4766 failure.
4767 Put back lost PRINT_DRIVE.
4768
e9084abe
RL
47692012-02-03 Richard Laager <rlaager@wiktel.com>
4770
4771 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4772 (grub_guess_root_devices): Replace strlen with sizeof.
4773 Avoid crash.
4774 (find_root_devices_from_poolname): Remove unused variable.
4775 Handle raidzN.
4776
cf5f7ee7
VS
47772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Support install on multi-device filesystems.
4780
4781 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4782 (grub_guess_root_devices): ...this. Return char **. All users updated.
4783 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4784 Removed.
4785 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4786 (find_root_devices_from_poolname): ... here.
4787 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4788 Support zfs-fuse.
4789 (grub_guess_root_device): Rename to ...
4790 (grub_guess_root_devices): ... this. Return char **. All users updated.
4791 * util/grub-install.in: Handle multi-device filesystems.
4792 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4793 argument. All users updated.
4794 Handle multi-device filesystems.
4795 Use 'delim' as separator.
4796 Remove device check to allow filesystems on file.
4797 (main): Support -0 argument. Handle multi-device.
4798 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4799 Fix a cross-device check while on it.
4800 (arguments): Remove root_dev.
4801 (argp_parser): Remove -r.
4802 (main): Remove root_dev.
4803
2f53a9ed
VS
48042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4807
17e1d934
VS
48082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4811 symbol.
4812 Reported by: NODA, Kai <nodakai>.
4813
d3e3fab5
VS
48142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Fix ehci on amd64.
4817
4818 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4819 pointers.
4820 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4821 (grub_ehci_setup_qh): Likewise.
4822 (grub_ehci_find_qh): Likewise.
4823 (grub_ehci_transaction): Likewise.
4824 (grub_ehci_setup_transfer): Likewise.
4825 (grub_ehci_check_transfer): Likewise.
4826 (grub_ehci_portstatus): Likewise.
4827 (grub_ehci_detect_dev): Likewise.
4828 (grub_ehci_transfer_controller_data): New field td_last_phys.
4829 (grub_ehci_setup_transfer): Fill td_last_phys.
4830 (grub_ehci_check_transfer): Use td_last_phys.
4831
3008675b
SG
48322012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4833
4834 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4835 if no submenu is present.
4836
fc9b5652
AN
48372012-02-01 Aleš Nesrsta <starous@volny.cz>
4838
4839 CBI support.
4840
4841 * include/grub/usb.h (grub_usbms_protocol_t): New values
4842 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4843 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4844 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4845 (grub_usbms_dev): Add subclass, protocol and intrpt.
4846 Remove in_maxsz and out_maxsz.
4847 (grub_usbms_reset): Rename to ...
4848 (grub_usbms_bo_reset): .. this.
4849 (grub_usbms_cbi_cmd): New function.
4850 (grub_usbms_cbi_reset): Likewise.
4851 (grub_usbms_reset): Likewise.
4852 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4853 (grub_usbms_transfer): Rename to ...
4854 (grub_usbms_transfer_bo): ... this.
4855 (grub_usbms_transfer_cbi): Likewise.
4856 (grub_usbms_transfer): Likewise.
4857
a2b81d53
AN
48582012-02-01 Aleš Nesrsta <starous@volny.cz>
48592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4862 the support for the CS5536 modification thereos and few bugfixes.
4863
4864 * grub-core/Makefile.core.def (ehci): New module.
4865 * grub-core/bus/usb/ehci.c: New file.
4866 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4867 port and hubaddr. All users updated.
4868 Save port and hubaddr into dev structure.
4869 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4870 define.
4871 * include/grub/pci.h (grub_dma_phys2virt): New function.
4872 (grub_dma_virt2phys): Likewise.
4873 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4874
b1d51f02
VS
48752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4878 check as some mkfs implementations omit it.
4879
fc694106
VS
48802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4883
6c0920e3
VS
48842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4887 Add new member volname2.
4888 (grub_jfs_label): Use volname2 if available.
4889
d1a46f9a
VS
48902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4893 over last_mounted as seen in image generated by mkfs.nilfs2.
4894 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4895
dec8ed14
VS
48962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4899 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4900 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4901
7397c69b
VS
49022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4905 over the sector.
4906
b3fe42ad
VS
49072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4910 subvolume name (by removing a bogus and useless check).
4911
10476bb0
VS
49122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4915 sizeof while on it.
4916
9c08ad87
VS
49172012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4920 (grub_scsi_read_capacity10): ... this.
4921 (grub_scsi_read_capacity16): New function.
4922 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4923 0xffffffff.
4924 Fix off-by-one error.
4925 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4926 64-bit unsigned.
4927 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4928 (grub_scsi_read_capacity10): ... this.
4929 (grub_scsi_read_capacity_data): Rename to ...
4930 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4931 (grub_scsi_read_capacity16): New struct.
4932 (grub_scsi_read_capacity16_data): Likewise.
4933 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4934 grub_scsi_cmd_read_capacity10.
4935 New command grub_scsi_cmd_read_capacity16.
4936
bc8d0f45
VS
49372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 SCSI >2TiB support.
4940
4941 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4942 (grub_scsi_write16): Likewise.
4943 (grub_scsi_read): Use read16 when necessary.
4944 (grub_scsi_write): Likewise.
4945 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4946 (grub_scsi_write16): Likewise.
4947 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4948
cc774926
VS
49492012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 SCSI write support (for usbms mainly).
4952
4953 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4954 a const pointer.
4955 (grub_scsi_write): Implement.
4956 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4957
67639fd7
VS
49582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4961 variable.
4962
9079d3ed
VS
49632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4966
c6a6f204
VS
49672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * po/POTFILES.in: Regenerate.
4970
ecbf8cd1
VS
49712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4974 with grub_printf to avoid unnecessary fatal failure.
4975
0b3b3b38
VS
49762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4979 (INT_MAX): Likewise.
4980 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4981 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4982 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4983 (strcpy): Likewise.
4984 (strstr): Likewise.
4985 (strchr): Likewise.
4986 (strncpy): Likewise.
4987 (strcat): Likewise.
4988 (strncat): Likewise.
4989 (strcoll): Likewise.
4990 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4991 (GRUB_INT_MAX): Likewise.
4992
db7337a3
VS
49932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4996 unexpected error.
4997 (optimize_utf8): Likewise.
4998 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4999
f37c87e1
VS
50002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/boot/i386/pc/lnxboot.S: Use
5003 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5004 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5005 location.
5006 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5007 definition.
5008 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5009
63fe43f3
VS
50102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5013 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5014 now to avoid double free.
5015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5016 hostdisk.
5017 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5018 * util/grub-probe.c (escape_of_path): Always return a new copy.
5019 (print_full_name): Escape path.
5020 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5021 Fix hints on abstractions.
5022
ebe2c961
VS
50232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5026 Don't add "root" line if no compatibility hont is available.
5027 Suggested by: Seth Goldberg.
5028
2b5336a2
VS
50292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5032 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5033 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5034 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5035
74310bd8
VS
50362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5039
c30582ba
VS
50402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * util/grub-pe2elf.c (ehdr): Make static.
5043 (shdr): Likewise.
5044 (num_sections): Likewise.
5045 (offset): Likewise.
5046
5f47782c
VS
50472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 Eliminate ofpath limits and possible overflows.
5050
5051 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5052 (OF_PATH_MAX): Removed.
5053 (MAX_DISK_CAT): New const.
5054 (find_obppath): Use allocated rather than preallocated buffer.
5055 Return result. Argument of_path removed. All users updated.
5056 Add missing fdstat.
5057 (xrealpath): New function.
5058 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5059 Allocate rather than use preallocated buffer. All users updated.
5060 (__of_path_common): Use allocated rather than preallocatecd buffer.
5061 Return result. Argument of_path removed. All users updated.
5062 (vendor_is_ATA): Read only needed part form the file.
5063 (check_sas): Allocate depending on contents rather than fixed.
5064 (main) [STANDALONE]: Handle NULL result.
5065
f990cbf9
VS
50662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5069
9c6e84b8
VS
50702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Cryptodisk write support.
5073
5074 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5075 (grub_cryptodisk_decrypt): Moved logic to ...
5076 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5077 (grub_cryptodisk_write): Implement.
5078 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5079 (grub_util_fd_write): ... this. Make global.
5080 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5081
87cf9744
VS
50822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * include/grub/list.h (grub_list_remove): Don't crash if element is
5085 removed twice.
5086
ca8c0baf
VS
50872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Rename ofconsole to console.
5090
5091 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5092 as sysnonym to console.
5093 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5094 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5095 Rename grub_ofconsole_ to grub_console_. All users updated
5096 (grub_console_term_output): Rename "ofconsole" to "console".
5097 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5098 as "console".
5099
64c8b8f6
VS
51002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5103 handling.
5104 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5105 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5106 GRUB_DISK_DEVICE_FILE_ID.
5107
f6c434d5
VS
51082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5111 and improve performance.
5112
5858b42d
VS
51132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5116 missing ieee1275/ prefix on whole disk.
5117
4ed3c26b
VS
51182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5121 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5122
df71143e
VS
51232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5126
076e7c0f
VS
51272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Merge common RAID and LVM logic to an abstract diskfilter.
5130 Add LDM support using the same framework.
5131
5132 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5133 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5134 (libgrubmods): Remove grub-core/disk/raid.c and
5135 grub-core/partmap/gpt.c.
5136 * grub-core/Makefile.core.def (ldm): New module.
5137 (raid): Renamed to diskfilter. All users updated.
5138 * grub-core/disk/raid.c: Moved to ...
5139 * grub-core/disk/diskfilter.c: ... here.
5140 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5141 (lv_num): New var.
5142 (find_array): Renamed to ...
5143 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5144 (grub_is_array_readable): Renamed to ...
5145 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5146 (insert_array): New argument id.
5147 (is_node_readable): New function.
5148 (scan_device): Rename to ...
5149 (scan_disk): .. this. Restrict to one disk.
5150 (scan_devices): New function.
5151 (grub_diskfilter_iterate): Support multi-LV.
5152 Skip invisible and nameless LVs.
5153 (grub_diskfilter_memberlist): Support multi-LV.
5154 (grub_diskfilter_read_node): New function.
5155 (grub_raid_read): Most of logic moved to ...
5156 (read_segment): ... here
5157 (read_lv): New function.
5158 (grub_diskfilter_get_vg_by_uuid): New function.
5159 (grub_diskfilter_make_raid): Likewise.
5160 * grub-core/disk/ldm.c: New file.
5161 * grub-core/disk/lvm.c (vg_list): Removed.
5162 (lv_count): Likewise.
5163 (scan_depth): Likewise.
5164 (is_lv_readable): Likewise.
5165 (grub_lvm_getvalue): Advance pointer past the number.
5166 (find_lv): Removed.
5167 (do_lvm_scan): Refactored into ...
5168 (grub_lvm_detect): ... this. Support raid.
5169 (grub_lvm_iterate): Removed.
5170 (grub_lvm_memberlist): Likewise.
5171 (grub_lvm_open): Likewise.
5172 (grub_lvm_close): Likewise.
5173 (read_lv): Likewise.
5174 (read_node): Likewise.
5175 (is_node_readable): Likewise.
5176 (is_lv_readable): Likewise.
5177 (grub_lvm_read): Likewise.
5178 (grub_lvm_write): Likewise.
5179 (grub_lvm_dev): Use diskfilter
5180 (GRUB_MOD_INIT): Likewise.
5181 (GRUB_MOD_FINI): Likewise.
5182 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5183 new interface.
5184 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5185 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5186 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5187 grub_diskfilter_read_node.
5188 Fix a bug with xor.
5189 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5190 grub_diskfilter_read_node.
5191 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5192 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5193 (grub_disk_dev_iterate): Move from here...
5194 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5195 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5196 Make global.
5197 (grub_hostdisk_find_partition_start): Likewise.
5198 (grub_hostdisk_os_dev_to_grub_drive): New function.
5199 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5200 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5201 * util/getroot.c (make_device_name): ... here.
5202 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5203 Move to ...
5204 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5205 * grub-core/kern/emu/hostdisk.c
5206 (convert_system_partition_to_system_disk): Move to ...
5207 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5208 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5209 * util/getroot.c (device_is_wholedisk): ... here.
5210 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5211 * util/getroot.c (find_system_device): ... here.
5212 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5213 Move to ...
5214 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5215 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5216 Move to ...
5217 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5218 Handle LDM.
5219 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5220 Move to ...
5221 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5222 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5223 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5224 DISKFILTER.
5225 * include/grub/raid.h: Renamed to ...
5226 * include/grub/diskfilter.h: ... this.
5227 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5228 (GRUB_RAID_LAYOUT_*): Make into array.
5229 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5230 (grub_diskfilter_vg): New struct.
5231 (grub_diskfilter_pv_id): Likewise.
5232 (grub_raid_member): Removed.
5233 (grub_raid_array): Likewise.
5234 (grub_diskfilter_pv): New struct.
5235 (grub_diskfilter_lv): Likewise.
5236 (grub_diskfilter_segment): Likewise.
5237 (grub_diskfilter_node): Likewise.
5238 (grub_diskfilter_get_vg_by_uuid): New proto.
5239 (grub_raid_register): Inline.
5240 (grub_diskfilter_unregister): Likewise.
5241 (grub_diskfilter_make_raid): New proto.
5242 (grub_diskfilter_vg_register): Likewise.
5243 (grub_diskfilter_read_node): Likewise.
5244 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5245 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5246 (grub_util_is_ldm): Likewise.
5247 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5248 (grub_hostdisk_find_partition_start): Likewise.
5249 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5250 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5251 New definition.
5252 (grub_gpt_partition_map_iterate): New proto.
5253 * include/grub/lvm.h (grub_lvm_vg): Removed.
5254 (grub_lvm_pv): Likewise.
5255 (grub_lvm_lv): Likewise.
5256 (grub_lvm_segment): Likewise.
5257 (grub_lvm_node): Likewise.
5258 * util/getroot.c [...]
5259 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5260 (probe_abstraction): Likewise.
5261 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5262 (main): Remove dead logic.
5263
8a7f9b9c
VS
52642012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 Simplify root device discover and don't fail when trying to open
5267 incorrect devices.
5268
5269 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5270 function.
5271 (get_diskname_from_path): Likewise.
5272 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5273 of iterating.
5274
30545b85
VS
52752012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5278
28ea58cf
VS
52792012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5282 pastthe end.
5283
692dabca
VS
52842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * util/grub-install.in: Add missing \.
5287 Reported by: gentoofan
5288
f6e4ea70
VS
52892012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5292 (direct_read): Use correct compressed size.
5293 (grub_squash_read_data): Likewise.
5294
52952012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5296
5297 * docs/grub.texi (Platform limitations): New section.
5298 (Platform-specific operations): Likewise.
5299 * docs/grub-dev.texi (Porting): Likewise.
5300
76261110
VS
53012012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 IEEE1275 disk write support.
5304
5305 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5306 const void *.
5307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5308 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5309 and seek loginc to ...
5310 (grub_ofdisk_prepare): ... here.
5311 (grub_ofdisk_write): Implement.
5312
fc36d603
VS
53132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 ARC disk write support.
5316
5317 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5318 (reopen): New argument writable. All users updated.
5319 Handle required access mode.
5320 (grub_arcdisk_write): Implement.
5321 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5322 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5323
e06c2e7a
VS
53242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5327 (read_sblock): Don't attempt to read superblocks outside the disk size.
5328
ff447958
VS
53292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5332 first superblock to find the second one when possible.
5333
9e88df39
VS
53342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * util/grub-install.in: Fix an ARC bug.
5337 Print a warning if no platform-specific setup is available.
5338
bb26e4ff
VS
53392012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 Use static allocation rather than scratch pointer in reed_solomon.
5342 It decreases its size significantly and avoids a variable in .text.
5343
5344 * grub-core/lib/reed_solomon.c (scratch): Removed.
5345 (chosenstat): New const or static array.
5346 (sigma): Likewise.
5347 (errpot): Likewise.
5348 (errpos): Likewise.
5349 (sy): Likewise.
5350 (mstat): Likewise.
5351 (errvals): Likewise.
5352 (eqstat): Likewise.
5353 (pol_evaluate): Replace x with log_x argument. All users updated.
5354 (syndroms): Removed.
5355 (gauss_solve): Use statically allocated arrays.
5356 (rs_recover): Likewise.
5357 Calculate syndroms directly.
5358 (decode_block): Use statically allocated arrays.
5359 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5360 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5361
2e13ede5
VS
53622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 Eliminate fixed limit on reed solomon decoder length.
5365
5366 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5367 rather than hardcoding the address.
5368 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5369 no_reed_solomon_length.
5370 Move gate_a20 to no-reed-solomon part.
5371 Don't force a particular size of no reed-solomon part.
5372 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5373 Removed.
5374 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5375 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5376
f8a9ab12
VS
53772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/commands/wildcard.c (match_files): Handle filenames
5380 without explicit device.
5381 (wildcard_expand): Don't add explicit device if not already present.
5382 * tests/grub_script_echo1.in: Add a new expansion test.
5383
87edb894
VS
53842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 Replace single-linked with double-linked lists. It results in more
5387 compact and more efficient code.
5388
5389 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5390 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5391 (grub_list_remove): Moved from here ...
5392 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5393 (grub_prio_list_insert): Set prev.
5394 * include/grub/list.h (grub_list): Add prev. All users updated.
5395
48b391e9
VS
53962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Handle newer autotools. Add some missing quotes while on it.
5399
5400 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5401 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5402 (pkgdata_DATA): ... here.
5403 * Makefile.util.def (update-grub_lib): Removed.
5404 * conf/Makefile.common (pkglib_DATA): Removed.
5405 (pkglib_SCRIPTS): Likewise.
5406 (pkgdata_DATA): New variable.
5407 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5408 needed.
5409 Add missing quotes.
5410 Remove unused variable while on it.
5411 * tests/util/grub-shell.in: Likewise.
5412 * util/grub-install.in: Likewise.
5413 * util/grub-mkconfig.in: Likewise.
5414 * util/grub-mknetdir.in: Likewise.
5415 * util/grub-mkrescue.in: Likewise.
5416 * util/grub-mkstandalone.in: Likewise.
5417 * util/grub.d/00_header.in: Likewise.
5418 * util/grub.d/10_hurd.in: Likewise.
5419 * util/grub.d/10_illumos.in: Likewise.
5420 * util/grub.d/10_kfreebsd.in: Likewise.
5421 * util/grub.d/10_linux.in: Likewise.
5422 * util/grub.d/10_netbsd.in: Likewise.
5423 * util/grub.d/10_windows.in: Likewise.
5424 * util/grub.d/20_linux_xen.in: Likewise.
5425 * util/grub.d/30_os-prober.in: Likewise.
5426 * util/update-grub_lib.in: Removed.
5427
54282012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5429
5430 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5431 a workaround for intel problem.
5432
66832792
PRP
54332012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
54342012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
54352012-01-23 pfsmorigo
5436
5437 * util/grub-install.in: Support dd'in into PreP partition.
5438 * util/grub-probe.c (probe): Support discovering partition type.
5439 (main): Support -t msdos_parttype.
5440
7816a17e
VS
54412012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5444 infinite recursion using counter.
5445 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5446 init to skip it if the magic check fails.
5447 (dec_stream_header): Init s->crc32.
5448
8f9d3a8c
ZB
54492012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
54502012-01-22 Zachary Bedell <pendorbound@gmail.com>
54512012-01-22 Richard Laager <rlaager@wiktel.com>
5452
5453 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5454 All users updated.
5455 (find_bestub): Determine correct size.
5456 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5457 (scan_disk): Align the size down.
5458 Call check pool before find_bestub to have ashift.
5459
b055dd32
VS
54602012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5463 dprintf in no-malloc zone.
5464
d779e9bd
ML
54652012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5466
5467 * configure.ac: Add back in test for limits.h.
5468
b508af69
VS
54692012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Support 4K-sector NTFS.
5472
5473 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5474 (grub_ntfs_data): Remove blocksize.
5475 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5476 Remove data argument. All users updated.
5477
dad9c8b5
VS
54782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5481 being in .text to avoid dprel references.
5482 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5483 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5484 (grub_arch_highmemsize): Likewise.
5485 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5486 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5487 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5488
d43a777e
VS
54892012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5492
5493 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5494 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5495
34e4208f
VS
54962012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5499 GRUB_UTIL.
5500 (grub_set_datetime_cmos): Likewise.
5501
3ec0fc1c
VS
55022012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 Make XZ compression parameters dependent on target and not host CPU.
5505
5506 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5507 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5508
22489834
VS
55092012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5512 set but not used variable.
5513
8502fbca
VS
55142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5517 created when no uuid support is compiled into mkfs.reiser.
5518
76df2068
VS
55192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5522 (utf8_to_macroman): Do the opposite.
5523 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5524
64e3f8f6
VS
55252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * configure.ac: Refise build qemu_mips w/o unifont.
5528
9c271078
VS
55292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Eliminate grub_min/grub_max prone to overflow usage.
5532
5533 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5534 (poll_nonroot_hub): Likewise.
5535 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5536 (grub_affs_label): Likewise.
5537 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5538 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5539 (grub_hfs_label): Likewise.
5540 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5541 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5542 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5543 (zap_leaf_array_get): Likewise.
5544 (dnode_get_path): Likewise.
5545 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5546 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5547 * grub-core/script/execute.c (grub_script_break): Likewise.
5548 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5549 grub_max.
5550 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5551 * include/grub/misc.h (grub_min): Removed.
5552 (grub_max): Likewise.
5553
80662dbc
VS
55542012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5555
5556 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5557 direct.inode = 0.
5558
e6da1467
VS
55592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5562
b1ac4cb1
VS
55632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5566
b4bf7c3b
VS
55672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5570 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5571
8ee1101a
VS
55722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5575 rather than a hack for grub_strncasemap.
5576
55772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 Support multiple initrds
5580 Note: part of this was accidently committed in r3739.
5581
5582 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5583 initrd.
5584 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5585 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5586 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5587 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5588 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5589
4d1e2bc9
VS
55902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5593 disks with unknown size.
5594 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5595
75b49ebe
VS
55962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 Remove defines pertaining to arbitrary limits not affecting GRUB
5599 anymore.
5600
5601 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5602 (EXT2_MAX_SYMLINKCNT): Likewise.
5603 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5604 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5605 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5606 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5607 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5608 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5609 (DN_MAX_OBJECT_SHIFT): Likewise.
5610 (DN_MAX_OFFSET_SHIFT): Likewise.
5611 (DN_MAX_OBJECT): Likewise.
5612 (DNODES_PER_LEVEL_SHIFT): Likewise.
5613 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5614 (SPA_MAXBLOCKSIZE): Likewise.
5615 (SPA_BLOCKSIZES): Likewise.
5616 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5617 (MZAP_MAX_BLKSZ): Likewise.
5618
74a1dce7
VS
56192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5622 handle NULL appropriately.
5623 Remove MIN.
5624
30c7d3ce
VS
56252012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 Fix efiemu.
5628
5629 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5630 cpu/types.h.
5631 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5632 * configure.ac: Fix efiemu check.
5633
3c76ea0c
VS
56342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5637 grub_probe.
5638 Reported by: adamwill
5639
7e532280
SG
56402012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5641
5642 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5643
30492374
VS
56442012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 Fix handling of wide characters in gfxterm.
5647
5648 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5649 (clear_char): Likewise.
5650 (paint_char): Skip code == NULL chars.
5651 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5652
e70cb72f
VS
56532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/normal/charset.c: Move comment to right place.
5656
5c827cf9
VS
56572012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5660 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5661 (grub_affs_mount): Revert the correct version checking.
5662
53603892
VS
56632012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * docs/grub.texi (Unicode): Mention several other unsupported features.
5666
ff094b9b
VS
56672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5670 case statements as compile-time one.
5671 (direct_read): Prevent spurious warnings.
5672 (grub_squash_read_data): Likewise.
5673
c029da8a
VS
56742011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Various squash4 fixes and LZO and XZ support.
5677
5678 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5679 Add xzembed source files.
5680 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5681 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5682 (grub_squash_inode): New subtype long_dir.
5683 (SQUASH_TYPE_LONG_DIR): New inode type.
5684 (COMPRESSION): New enum.
5685 (XZBUFSIZ): New const.
5686 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5687 (read_chunk): Use data->decompress.
5688 (zlib_decompress): New function.
5689 (lzo_decompress): Likewise.
5690 (xz_decompress): Likewise.
5691 (squash_mount): Set new data fields.
5692 (grub_squash_iterate_dir): Handle long dir.
5693 (squash_unmount): Free xzdec and xzbuf.
5694 (grub_squash_open): Check ino type.
5695 (direct_read): Stylistic fixes. Use data->decompress.
5696 (grub_squash_read_data): Likewise.
5697 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5698 (get_byte): Likewise.
5699 (grub_zlib_disk_read): Removed.
5700 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5701 (GRUB_POSIX_BOOL_DEFINED): New define.
5702 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5703 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5704 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5705 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5706
7a45a539
VS
57072011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Don't override more informative errors.
5710
5711 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5712 * grub-core/font/font.c (open_section): Likewise.
5713 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5714 filename. Don't override errors.
5715 (grub_cmd_openbsd_ramdisk): Don't override errors.
5716 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5717 (grub_cmd_initrd): Likewise.
5718 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5719 (grub_cmd_initrd): Likewise.
5720 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5721 (grub_cmd_linux): Likewise.
5722 (grub_cmd_initrd): Likewise.
5723 (grub_cmd_payload): Likewise.
5724 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5725 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5726 (grub_cmd_module): Likewise.
5727 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5728 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5729 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5730 (grub_cmd_xnu_mkext): Likewise.
5731 (grub_cmd_xnu_ramdisk): Likewise.
5732 (grub_xnu_check_os_bundle_required): Likewise.
5733 (grub_xnu_load_kext_from_dir): Likewise.
5734 (grub_cmd_xnu_kextdir): Likewise.
5735 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5736
b2d004db
VS
57372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5740 as 1024 in block size field. Found on one of my test images.
5741 Small optimisation while on it.
5742
ec000eac
VS
57432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5746 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5747 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5748 performance fixes while on it.
5749 (grub_sfs_close): Fix memory leak while on it.
5750 (grub_sfs_label): Convert Latin1 to UTF-8.
5751
f50e1165
VS
57522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5755 space to avoid overflows.
5756 (grub_hfs_label): Convert from macroman to UTF-8.
5757
2ae254de
VS
57582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5761
0108f491
VS
57622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5765
f45f5f89
VS
57662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * unicode: Import Unicode 6.0 data.
5769
4d8c4765
VS
57702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5771
63fa8ef9
VS
5772 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5773 outside of range.
5774
57752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5778
5779 * include/grub/charset.h (grub_getend): New function.
5780 * grub-core/script/function.c (grub_script_function_find): Use
5781 grub_getend.
5782 * grub-core/normal/completion.c (add_completion): Likewise.
5783
f3cb4a4e
VS
57842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5787 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5788 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5789 (GRUB_UNICODE_TAG_END): Likewise.
5790 (GRUB_UNICODE_LAST_VALID): Likewise.
5791
5da8dbc5
VS
57922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5795 len and make it smaller. All users updated.
5796 * util/import_unicode.py: Put length and not end character.
5797 Check length.
5798
8569f13d
VS
57992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 Make better Unicode-compliant and unify some UTF-8 code pathes.
5802
5803 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5804 valid character.
5805 (grub_is_valid_utf8): Use grub_utf8_process.
5806 Check resulting code range.
5807 (grub_utf8_to_ucs4): Use grub_utf8_process.
5808 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5809 valid character.
5810
cc4fddf5
VS
58112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5814
bbc47747
VS
58152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * docs/grub.texi (Filesystems): Mention AFS.
5818
f63d6bf4
VS
58192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * docs/grub.texi (Filesystems): Clarify restrictions.
5822 (Regexp): Mention non-Unicode regexp behaviour.
5823 (Other): Mention non-Unicode matching behaviour.
5824
74bbf0db
VS
58252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5826
f63d6bf4 5827 Make HFS implementation use MacRoman.
74bbf0db
VS
5828
5829 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5830 (macroman): New const array.
5831 (macroman_to_utf8): New function.
5832 (utf8_to_macroman): Likewise.
5833 (grub_hfs_find_dir): Use utf8_to_macroman.
5834 (grub_hfs_dir): Use macroman_to_utf8.
5835 Set case_insensitive.
5836
4ea0316e
VS
58372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5840
d3c13cbd
VS
58412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Integrate hints into autogeneration scripts.
5844
5845 * docs/grub.texi (Filesystems): Add a hostdisk example.
5846 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5847 (grub-probe): Add ofpath.
5848 * gentpl.py: Remove group nosparc64.
5849 * grub-core/commands/search.c (cache_entry): New struct.
5850 (cache): New var.
5851 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5852 * grub-core/commands/search_wrap.c (options): Add platform-specific
5853 hint options.
5854 (grub_cmd_search): Handle platform-specific hints.
5855 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5856 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5857 (grub_util_biosdisk_data): Likewise.
5858 (grub_util_biosdisk_open): Set device_map.
5859 (read_device_map): Handle "" as indication of no map.
5860 Set device_map.
5861 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5862 (grub_util_biosdisk_get_compatibility_hint): New function.
5863 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5864 * include/grub/emu/hostdisk.h
5865 (grub_util_biosdisk_get_compatibility_hint): New proto.
5866 * util/grub-install.in: Don't call grub-mkdevicemap.
5867 Add platform-specific hint to load.cfg.
5868 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5869 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5870 hints. Set root preliminary to compatibility hint, not to OS name.
5871 * util/grub-probe.c (PRINT_*): Add hints.
5872 (print): Make static.
5873 (escape_of_path): New function.
5874 (guess_bios_drive): Likewise.
5875 (guess_efi_drive): Likewise.
5876 (guess_baremetal_drive): Likewise.
5877 (print_full_name): Likewise.
5878 (probe): Handle hints.
5879 (main): Likewise.
5880 * util/ieee1275/devicemap.c: Removed.
5881 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5882 updated.
5883 (grub_util_devname_to_ofpath): Return NULL on failure.
5884
5885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5886 resource leak.
5887 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5888
5889 * po/POTFILES.in: Regenerated.
5890
5891 Allow purely long options
5892
5893 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5894 (SHORT_ARG_USAGE): Likewise.
5895 (grub_arg_show_help): Compare opt with help_options.
5896 (parse_option): Receive opt as argument. If makes big simplificatons.
5897 All users updated
5898
00ce2df3
VS
58992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5902 Restructure to avoid warning.
5903
e77e325f
VS
59042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * util/grub-install.in: Account for possible escaped comma in device
5907 name.
5908
165099ea
VS
59092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5912 channel.
5913
ce4a999d
VS
59142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5917 allocation and zero-setting.
5918 (grub_ieee1275_get_devname): Check that alias is complete.
5919
379586ad
VS
59202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5923 unaligned segments.
5924
9197b0ad
VS
59252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5928 prefix.
5929 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5930 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5931 Add ieee1275 prefix.
5932
edddb7f9
VS
59332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * docs/grub.texi (Filesystems): Update.
5936
a1a8b1b9
VS
59372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Support odc, newc and bigendian cpio formats.
5940
5941 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5942 * grub-core/Makefile.core.def (newc): New module.
5943 (odc): Likewise.
5944 (cpio_be): Likewise.
5945 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5946 (MAGIC): Likewise.
5947 (MAGIC2): Likewise.
5948 (head) [MODE_ODC]: Adapt for the format.
5949 (head) [MODE_NEWC]: Likewise.
5950 (head) [!MODE_*]: Write fields of interest as arrays.
5951 (MAGIC_USTAR): Removed.
5952 (read_number) [MODE_NEWC]: Change to hex.
5953 (read_number) [!MODE_*]: Parse binary arrays.
5954 (grub_cpio_find_file): Factor out the code for better structure and
5955 always use read_number.
5956 (grub_cpio_mount): Use MAGIC and MAGIC2.
5957 (grub_cpio_dir): Exit on first hook non-0 return.
5958 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5959 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5960 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5961 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5962 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5963 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5964 * grub-core/fs/newc.c: New file.
5965 * grub-core/fs/odc.c: Likewise.
5966 * grub-core/fs/cpio_be.c: Likewise.
5967
58eba9ee
VS
59682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 Fix handling of tar numbers occupying the whole field.
5971
5972 * grub-core/fs/cpio.c (read_number): New function.
5973 (grub_cpio_find_file): Use read_number instead of strtoull.
5974
a54a0e12
VS
59752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5978 occupying the whole field size.
5979
a6120aca
LA
59802011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5981
5982 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5983
a93964ce
VS
59842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5987
3ea1ca46
SG
59882011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5989
5990 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5991 TARGET_IMG_LDFLAGS.
5992
b87f7ef2
VS
59932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5996 (mountinfo_entry): Increase the field size to take escaping into
5997 account.
5998 (find_root_device_from_libzfs): Add one byte to size of strings for
5999 security.
6000
62092395
VS
60012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6004 an assert.
6005 * util/grub-setup.c (setup): Likewise.
6006
1f0b1a77
VS
60072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6010 _LzmaDecodeA.
6011
8eba9997
VS
60122011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * docs/grub.texi (Internationalisation): New section.
6015
dd0c91e9
VS
60162011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * docs/grub.texi (Loopback booting): New section.
6019
60202011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6021
6022 * util/grub-mkstandalone.in: Fix minor typo errors.
6023
198e150a
VS
60242011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6027
6028 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6029 net/icmp.c and net/icmp6.c.
6030 (http): New module.
6031 (priority_queue): Likewise.
6032 * grub-core/io/bufio.c: Rewritten.
6033 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6034 TYPE_WITH_CONFIGFILE_OPTION.
6035 (legacy_commands): Add bootp and dhcp.
6036 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6037 (grub_legacy_parse): Likewise.
6038 * grub-core/lib/priority_queue.c: New file.
6039 * grub-core/net/arp.c: Add missing license header.
6040 (arp_find_entry): Removed.
6041 (arp_find_entry): Likewise.
6042 (grub_net_arp_resolve): Rename to ...
6043 (grub_net_arp_send_request): ...this.
6044 (grub_net_arp_receive): New card argument.
6045 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6046 Set router and DNS server.
6047 (grub_net_configure_by_dhcp_ack): Handle routing information.
6048 (grub_cmd_bootp): Set checksum.
6049 (grub_bootp_init): Remove net_dhcp.
6050 * grub-core/net/dns.c: New file.
6051 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6052 completion.
6053 (get_card_packet): Handle allocation.
6054 (grub_efinet_findcards): Set mtu.
6055 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6056 (get_card_packet): Handle allocation.
6057 (emucard): Set mtu.
6058 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6059 (GRUB_MOD_INIT): Set mtu.
6060 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6061 mtu.
6062 (get_card_packet): Handle allocation.
6063 (grub_ofnet_findcards): Set mtu.
6064 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6065 assert.
6066 (grub_net_recv_ethernet_packet): Handle IPv6.
6067 * grub-core/net/http.c: New file.
6068 * grub-core/net/icmp.c: Likewise.
6069 * grub-core/net/icmp6.c: Likewise.
6070 * grub-core/net/ip.c (ip6addr): New type.
6071 (ip6hdr): Likewise.
6072 (reassemble): Likewise.
6073 (cmp): New function.
6074 (reassembles): New variable.
6075 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6076 (id): New variable.
6077 (send_fragmented): New function.
6078 (grub_net_send_ip_packet): Rename to ...
6079 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6080 Handle non-UDP.
6081 (grub_net_recv_ip_packets): Rename to ...
6082 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6083 (free_rsm): New function.
6084 (free_old_fragments): Likewise.
6085 (grub_net_recv_ip4_packets): New function.
6086 (grub_net_send_ip6_packet): Likewise.
6087 (grub_net_send_ip_packet): Likewise.
6088 (grub_net_recv_ip6_packets): Likewise.
6089 (grub_net_recv_ip_packets): Likewise.
6090 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6091 (LINK_LAYER_CACHE_SIZE): New const.
6092 (link_layer_find_entry): New function.
6093 (grub_net_link_layer_add_address): Likewise.
6094 (grub_net_link_layer_resolve_check): Likewise.
6095 (grub_net_link_layer_resolve): Likewise.
6096 (grub_net_ipv6_get_slaac): Likewise.
6097 (grub_net_ipv6_get_link_local): Likewise.
6098 (grub_cmd_ipv6_autoconf): Likewise.
6099 (parse_ip): Handle one number representation.
6100 (parse_ip6): New functoion.
6101 (match_net): Handle IPv6.
6102 (grub_net_resolve_address): Handle IPv6 and DNS.
6103 (grub_net_resolve_net_address): Handle IPv6.
6104 (route_cmp): New function.
6105 (grub_net_route_address): Find best route.
6106 (grub_net_addr_to_str): Handle IPv6.
6107 (grub_net_addr_cmp): New function.
6108 (grub_net_add_addr): Register local route.
6109 (print_net_address): Handle net address.
6110 (grub_net_poll_cards): Retransmit TCP.
6111 (grub_net_poll_cards_idle_real): Likewise.
6112 (have_ahead): New function.
6113 (grub_net_seek_real): Use underlying seek.
6114 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6115 * grub-core/net/tcp.c: New file.
6116 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6117 (cmp): New function.
6118 (ack): Likewise.
6119 (tftp_receive): Handle unordered input.
6120 (destroy_pq): New function.
6121 (tftp_close): Close pq.
6122 * grub-core/net/udp.c: Put missing license header.
6123 (grub_net_udp_socket): New function.
6124 (udp_socket_register): Likewise.
6125 (grub_net_udp_close): Likewise.
6126 (grub_net_recv_udp_packet): Check checksum.
6127 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6128 * include/grub/misc.h (grub_memchr): New function.
6129 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6130 (grub_net_card_driver): Return buf in recv.
6131 (grub_net_slaac_mac_list): New struct.
6132 (grub_network_level_protocol_id): Add ipv6.
6133 (grub_net_network_level_addr): Likewise.
6134 (grub_net_network_level_net_addr): Likewise.
6135 (grub_net_app_protocol): Add seek.
6136 (grub_net_socket): Removed.
6137 (grub_net_sockets): Likewise.
6138 (grub_net_socket_register): Likewise.
6139 (grub_net_socket_unregister): Likewise.
6140 (FOR_NET_SOCKETS): Likewise.
6141 (grub_net_add_addr): Add const.
6142 (GRUB_NET_BOOTP_*): New enum.
6143 (grub_net_addr_cmp): New proto.
6144 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6145 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6146 (grub_net_hwaddr_to_str): NEw proto.
6147 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6148 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6149 (grub_dns_init): New proto.
6150 (grub_dns_fini): Likewise.
6151 (grub_net_tcp_retransmit): Likewise.
6152 (grub_net_link_layer_add_address): Likewise.
6153 (grub_net_link_layer_resolve_check): Likewise.
6154 (grub_net_link_layer_resolve): Likewise.
6155 (grub_net_dns_lookup): Likewise.
6156 (grub_net_add_dns_server): Likewise.
6157 (grub_net_remove_dns_server): Likewise.
6158 (GRUB_NET_TRIES): New const.
6159 (GRUB_NET_INTERVAL): Likewise.
6160 * include/grub/net/arp.h: Mostly rewritten.
6161 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6162 * include/grub/net/ip.h: Mostly rewritten.
6163 * include/grub/net/netbuff.h: Indent.
6164 * include/grub/net/tcp.h: New file.
6165 * include/grub/net/udp.h: Mostly rewritten.
6166 * include/grub/priority_queue.h: New file.
6167 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6168 (grub_swap_bytes64_compile_time): Likewise.
6169 (grub_cpu_to_be16_compile_time): Likewise.
6170 (grub_cpu_to_be32_compile_time): Likewise.
6171 (grub_cpu_to_be64_compile_time): Likewise.
6172 (grub_be_to_cpu64_compile_time): Likewise.
6173
215c1800
VS
61742011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6177 UINT_TO_PTR with cast.
6178
c17e546c
VS
61792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6182 don't use them.
6183
ff6b18b6
VS
61842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6187 already there.
6188
70ffcc93
VS
61892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6192 confusing ipxe.
6193
e5f4d260
VS
61942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6197 Add missing const attribute.
6198 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6199 Likewise.
6200 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6201 Likewise.
6202
8e54b4b7
VS
62032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6206 misaligned access.
6207 (serpent_setkey): Likewise.
6208 (serpent_encrypt_internal): Likewise.
6209 (serpent_decrypt_internal): Likewise.
6210 (serpent_encrypt): Don't put an alignment-increasing cast.
6211 (serpent_decrypt): Likewise.
6212 (serpent_test): Likewise.
6213
813c0a2b
VS
62142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6217
f2b60fbd
VS
62182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6221
6222 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6223 grub_addr_t casts.
6224 (PTR_TO_UINT64): Likewise.
6225 (PTR_TO_UINT32): Likewise.
6226
5ef5c511
VS
62272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6230 because of stack.
6231 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6232 limit.
6233
c476e6df
VS
62342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6237 text_width > available width a bit more gracefully.
6238
384ad7cc
VS
62392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6242 current address calculation.
6243
96f8caf8
VS
62442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6247 stack.
6248 (encode_block): Likewise.
6249
276b7a8b
VS
62502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6253 certainety.
6254
e3fd394a
VS
62552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6258 non-RS part to avoid RS messing with GDT.
6259 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6260 Increase to suit in realmode routines.
6261
62622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/kern/i386/realmode.S: Increase alignment.
6265 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6266
ee9c2e7a
VS
62672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6270 be deterministic.
6271 (syndroms): Compute 0 syndrom.
6272 (rs_recover): Use 0 syndrom.
6273
7a7f7cc9
VS
62742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6277
a14b16d1
VS
62782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6281 brackets.
6282
9f59e9fc
VS
62832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6284
ca1b552c
VS
6285 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6286 account.
6287 (get_top_pad): Likewise.
6288 (get_right_pad): Likewise.
6289 (get_bottom_pad): Likewise.
6290
62912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6294
e739d698
VS
62952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6298 attribute as the structure isn't guaranteed to be properly aligned.
6299 (grub_efi_pci_device_path): Likewise.
6300 (grub_efi_pccard_device_path): Likewise.
6301 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6302 specify the size of `memory_type'.
6303 (grub_efi_vendor_device_path): Likewise.
6304 (grub_efi_controller_device_path): Likewise.
6305 (grub_efi_acpi_device_path): Likewise.
6306 (grub_efi_expanded_acpi_device_path): Likewise.
6307 (grub_efi_atapi_device_path): Likewise.
6308 (grub_efi_scsi_device_path): Likewise.
6309 (grub_efi_fibre_channel_device_path): Likewise.
6310 (grub_efi_1394_device_path): Likewise.
6311 (grub_efi_usb_device_path): Likewise.
6312 (grub_efi_usb_class_device_path): Likewise.
6313 (grub_efi_i2o_device_path): Likewise.
6314 (grub_efi_mac_address_device_path): Likewise.
6315 (grub_efi_ipv4_device_path): Likewise.
6316 (grub_efi_ipv6_device_path): Likewise.
6317 (grub_efi_infiniband_device_path): Likewise.
6318 (grub_efi_uart_device_path): Likewise.
6319 (grub_efi_vendor_messaging_device_path): Likewise.
6320 (grub_efi_hard_drive_device_path): Likewise.
6321 (grub_efi_cdrom_device_path): Likewise.
6322 (grub_efi_vendor_media_device_path): Likewise.
6323 (grub_efi_file_path_device_path): Likewise.
6324 (grub_efi_protocol_device_path): Likewise.
6325 (grub_efi_piwg_device_path): Likewise.
6326 (grub_efi_bios_device_path): Likewise.
6327
cb8f88ea
VS
63282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6331 (grub_ucs4_to_utf8_alloc): Likewise.
6332 (grub_ucs4_to_utf8): Likewise.
6333 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6334 (grub_ucs4_to_utf8_alloc): Likewise.
6335
309e5352
VS
63362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 AFFS never uses unicode.
6339
6340 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6341 (grub_latin1_to_utf8): New inline function.
6342 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6343
e7987e1b
VS
63442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6347 overflow.
6348
efc2616e
VS
63492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6352 (grub_squash_dirent_header): Likewise.
6353 (read_chunk): Don't double swap.
6354 (grub_squash_iterate_dir): Fix swap sizes.
6355
3c349f5a
VS
63562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6359
b453412d
VS
63602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6363 (grub_hfs_iterate_dir): Likewise.
6364
12e9d4d1
VS
63652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 Fix video on platforms where unaligned access is forbidden.
6368 Make several optimisations while on it.
6369
6370 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6371 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6372 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6373 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6374 Disable.
6375 (grub_video_fbblit_replace_16bit_1bit):
6376 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6377 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6378 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6379 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6380 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6381 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6382 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6383 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6384 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6385 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6386 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6387 (grub_video_fbblit_replace_index_RGB888): Likewise.
6388 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6389 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6390 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6391 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6392 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6393 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6394 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6395 Disable.
6396 (grub_video_fbblit_blend_XXX565_1bit):
6397 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6398 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6399 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6400 void *.
6401 * grub-core/video/fb/video_fb.c (common_blitter)
6402 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6403 (grub_video_fb_create_render_target_from_pointer)
6404 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6405 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6406 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6407 definition.
6408 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6409
ace96609
VS
64102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6413 HH22 and HM10 relocations.
6414
fd261d73
VS
64152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6418
e59b7857
VS
64192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6422 allocation succeeded.
6423
9b4baaa4
VS
64242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6427 argument a u8 pointer. All users updated.
6428 Handle unaligned buffers.
6429
dc713193
VS
64302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6433 add_part to workaround compiler bug.
6434
30dd48c2
VS
64352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6438
0c6087a8
VS
64392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6442 Reserve alignment invariants.
6443 (grub_multiboot_load): Likewise.
6444 (retrieve_video_parameters): Likewise.
6445 (grub_multiboot_make_mbi): Likewise.
6446
c2e77777
VS
64472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6450 incorrect pointer.
6451
b70b6d11
VS
64522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6455 (grub_pata_pio_write): Likewise.
6456
02a2bf83
VS
64572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 Add noreturn attributes and remove unreachable code.
6460
6461 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6462 code.
6463 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6464 code. Mark as noreturn.
6465 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6466 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6467 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6468 unreachable code.
6469 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6470 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6471 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6472 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6473 * include/grub/kernel.h (grub_main): Mark as noreturn.
6474 * include/grub/reader.h (grub_rescue_run): Likewise.
6475
2019d09e
VS
64762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6479 redundant declaration.
6480
d1c501ee
VS
64812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6484 redundant declaration.
6485 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6486
61664420
VS
64872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6490 to ensure alignment.
6491 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6492 alignment. Ensure tmp alignment.
6493 (grub_cmd_hdparm): Ensure buf alignment.
6494 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6495 to ensure alignment.
6496 (grub_ata_dumpinfo): Ensure text alignment.
6497 (grub_atapi_identify): Preserve alignment invariant.
6498 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6499
0d51ee20
VS
65002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6503 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6504 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6505 * include/grub/misc.h (grub_reboot)
6506 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6507 (grub_halt) [__mips__]: Likewise.
6508
753ef8c1
VS
65092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6512 Remove redundant declaration.
6513 (grub_mmap_get_post64): Likewise.
6514 (grub_mmap_get_upper): Likewise.
6515 (grub_mmap_get_lower): Likewise.
6516
85c85365
VS
65172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6520 uint32_t * to ensure alignment.
6521 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6522
a23f2cc4
VS
65232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6524
93018f64
VS
6525 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6526 uint16_t * to ensure alignment.
6527 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6528 alignment.
6529
65302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6533 to ensure alignment.
6534 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6535
58acccd6
VS
65362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6539 Handle unaligned pointers.
6540 (u32at): Likewise.
6541 (u64at): Likewise.
6542 (fixup): Use byte access instead of v16at.
6543 (find_attr): Fix imporper usage of v32at.
6544 (read_data): Likewise.
6545 (list_file): Handle byte-swapping and unaligned strings.
6546 (grub_ntfs_label): Likewise.
6547
9b05cad7
VS
65482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6551 as it's not necessarily aligned.
6552
b3950b84
VS
65532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6556 redundant declaration.
6557 (grub_serial_init): Likewise.
6558 (grub_terminfo_init): Likewise.
6559
fcd232b7
VS
65602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6563 function.
6564 (ZAP_HASH_IDX): Likewise.
6565 (ZAP_LEAF_HASH_SHIFT): Likewise.
6566 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6567 (LEAF_HASH): Likewise.
6568 (ZAP_LEAF_NUMCHUNKS): Likewise.
6569 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6570 alignment invariants. Return pointer. All users updated.
6571 (ZAP_LEAF_ENTRY): Make into inline function.
6572 (NBBY): Removed.
6573 (xor): LIkewise.
6574 (xor_out): Use grub_crypto_xor.
6575 (dnode_get_path): Use grub_get_unaligned.
6576 (nvlist_find_value): Likewise.
6577 (grub_zfs_nvlist_lookup_uint64): Likewise.
6578 (grub_zfs_nvlist_lookup_string): Likewise.
6579 (get_nvlist_size): Likewise.
6580 (grub_zfs_open): Likewise.
6581 (fill_fs_info): Likewise.
6582 (grub_zfs_dir): Likewise.
6583 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6584 alignment invariants.
6585 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6586 necessarily aligned.
6587
f138623a
VS
65882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6591
564840dc
VS
65922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6595 arithmetic to conserve alignment invariants.
6596
9b40df20
VS
65972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6600 redundant declaration.
6601 (grub_efiemu_mm_obtain_request): Likewise.
6602 (grub_efiemu_prepare): Likewise.
6603
d1c930f9
VS
66042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6607 to match types.
6608
4c5f3056
VS
66092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6612 case of aunaligned recptr.
6613 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6614 alignment.
6615 (grub_hfsplus_btree_search): Handle unaligned index.
6616
728cba91
VS
66172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6620 to get freetag and skip.
6621
eb561f31
VS
66222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6625 array.
6626 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6627 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6628
20993fbb
VS
66292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6632 name for checksum and fix allocation algorithm.
6633
1f313b94
VS
66342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * include/grub/types.h (grub_properly_aligned_t): New type.
6637 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6638 (grub_get_unaligned16): Add explicit casts.
6639 (grub_get_unaligned32): Likewise.
6640 (grub_get_unaligned64): Likewise.
6641 (grub_set_unaligned16): New function.
6642 (grub_set_unaligned32): Likewise.
6643
47ae27ec
VS
66442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6647
78c2cd1c
VS
66482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6651 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6652 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6653
53072f9b
VS
66542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6657 conditionals.
6658
055dc239
VS
66592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6662 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6663
496bd074
VS
66642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Unify and improve RAID and crypto xor.
6667
6668 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6669 changed to grub_crypto_xor
6670 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6671 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6672 Use bigger types when possible.
6673
ef6e4335
VS
66742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/disk/raid.c (scan_devices): Fix condition.
6677
5d048bf2
VS
66782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6681 Make name a const ptr.
6682
ee533335
VS
66832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6686 first argument a const pointer.
6687 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6689 proto.
6690 (grub_children_iterate): Likewise.
6691 (grub_machine_mmap_iterate): Remove redundant declaration.
6692
cc8f3668
VS
66932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6696 (grub_cmd_acpi) [!x86]: Disable EBDA.
6697
c5fc563a
VS
66982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 Enable UTF8 in gnulib regexp.
6701
6702 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6703 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6704 (isupper): Use grub_isupper.
6705 (isascii): New inline function.
6706 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6707 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6708 * grub-core/normal/charset.c (grub_utf8_process): New function.
6709 (grub_utf8_to_utf16): Use grub_utf8_process.
6710 (grub_encode_utf8_character): New function.
6711 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6712 * include/grub/charset.h (grub_utf8_process): New declaration.
6713 (grub_encode_utf8_character): Likewise.
6714 * include/grub/misc.h (grub_islower): New inline function.
6715 (grub_isupper): Likewise.
6716 (grub_strchrsub): Moved down to fix the definitions.
6717
0af2346f
VS
67182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6721 specification.
6722
74dbd244
VS
67232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * include/grub/loader.h (grub_loader_register_preboot_hook):
6726 Use struct preboot * and not void * for handle. All users updated.
6727 (grub_loader_unregister_preboot_hook): Likewise.
6728
1bc8f60d
VS
67292011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6732 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6733 UTF-16-BE. All users updated.
6734 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6735 (grub_hfsplus_iterate_dir): Likewise.
6736 (grub_hfsplus_label): Likewise.
6737
48d6e456
VS
67382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6741
bf3a3857
VS
67422011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Add missing const qualifiers.
6745
6746 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6747 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6748 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6749 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6750 (grub_lvm_check_flag): Likewise.
6751 * grub-core/efiemu/i386/coredetect.c
6752 (grub_efiemu_get_default_core_name): Likewise
6753 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6754 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6755 * grub-core/fs/ntfs.c (fixup): Likewise.
6756 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6757 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6758 (fzap_lookup): Likewise.
6759 (zap_lookup): Likewise.
6760 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6761 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6762 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6763 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6764 (grub_freebsd_add_meta_module): Likewise.
6765 (grub_cmd_freebsd_module): Likewise.
6766 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6767 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6768 (grub_xnu_writetree_get_size): Likewise.
6769 (grub_xnu_writetree_toheap_real): Likewise.
6770 (grub_xnu_find_key): Likewise.
6771 (grub_xnu_create_key): Likewise.
6772 (grub_xnu_create_value): Likewise.
6773 (grub_xnu_register_memory): Likewise.
6774 (grub_xnu_check_os_bundle_required): Likewise.
6775 (grub_xnu_scan_dir_for_kexts): Likewise.
6776 (grub_xnu_load_kext_from_dir): Likewise.
6777 * grub-core/normal/color.c (color_list): Likewise.
6778 * grub-core/normal/completion.c (current_word): Likewise.
6779 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6780 * grub-core/term/serial.c (grub_serial_find): Likewise.
6781 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6782 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6783 Likewise.
6784 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6785 (grub_freebsd_add_meta_module): Likewise.
6786 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6787 * include/grub/net.h (grub_net_card_driver): Likewise.
6788 (grub_net_card): Likewise.
6789 (grub_net_app_protocol): Likewise.
6790 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6791 * include/grub/serial.h (grub_serial_find): Likewise.
6792 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6793 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6794 (grub_xnu_create_value): Likewise.
6795 (grub_xnu_find_key): Likewise.
6796 (grub_xnu_scan_dir_for_kexts): Likewise.
6797 (grub_xnu_load_kext_from_dir): Likewise.
6798
6799 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6800 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6801 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6802 Moved from here ...
6803 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6804
112b4837
CW
68052011-11-28 Colin Watson <cjwatson@ubuntu.com>
6806
6807 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6808
49e891ac
VS
68092011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6812 (read_device): Fix size calculation.
6813
fd258e5c
RM
68142011-11-25 Robert Millan <rmh@gnu.org>
6815
6816 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6817 (find_root_device_from_libzfs): Add zpool output parser to be used
6818 as fallback when libzfs isn't available.
6819
78845dc2
SG
68202011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6821
6822 * po/Makefile.in.in: Add missing escape-continuation.
6823
adac5211
VS
68242011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6827
10b64f1c
VS
68282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6831
bb416954
VS
68322011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6835
bdfe9eeb
VS
68362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6839
581ffa8a
VS
68402011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/lib/adler32.c: Add missing license specification.
6843 * grub-core/lib/crc64.c: Likewise.
6844 * grub-core/loader/i386/pc/plan9.c: Likewise.
6845 * grub-core/partmap/plan.c: Likewise.
6846
2536cf64
LK
68472011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6848
6849 Add facility to debug GRUB with gdb under qemu.
6850
6851 * grub-core/gdb_grub.in: New file.
6852 * grub-core/gmodule.pl.in: Likewise.
6853 * grub-core/Makefile.core.def (gmodule.pl): New script.
6854 (gdb_grub): Likewise.
6855
bc108a4a
VS
68562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * util/grub-mount.c (argp_parser): Accept relative pathes.
6859 * util/grub-fstest.c (argp_parser): Likewise.
6860
111c1778
VS
68612011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 Plan9 support.
6864
6865 * Makefile.util.def (libgrubmods): Add
6866 grub-core/partmap/plan.c.
6867 * docs/grub.texi: Notice Plan9 support.
6868 * grub-core/Makefile.core.def (plan9): New module.
6869 (part_plan): Likewise.
6870 * grub-core/loader/i386/pc/plan9.c: New file.
6871 * grub-core/partmap/plan.c: Likewise.
6872 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6873 define.
6874 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6875 * include/grub/mm.h (grub_extend_alloc): New inline function.
6876
c30be3b6
VS
68772011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Make Reed-Solomon faster by using power of generator representation of
6880 GF(256)*.
6881
6882 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6883 (gf_double_t): Likewise.
6884 (gf_invert): Removed.
6885 (gf_powx): New array.
6886 (gf_powx_inv): Likewise.
6887 (scratch): Move higher.
6888 (gf_reduce): Removed.
6889 (gf_mul): Use powx.
6890 (gf_invert): Likewise.
6891 (init_inverts): Replaced with ...
6892 (init_powx): ...this. All users updated.
6893 (pol_evaluate): Replace multiplications with additions.
6894 (rs_encode): Likewise.
6895 (gauss_eliminate): Call gf_invert.
6896 (grub_reed_solomon_add_redundancy): Call init_powx.
6897 (grub_reed_solomon_recover): Call init_powx unconditionally.
6898
fa5aeffc
VS
68992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6902
a346b81c
VS
69032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6906 disk->partiton for safety.
6907
d89ee414
VS
69082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6911 Fix a memory leak.
6912 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6913
91ee7b6d
VS
69142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6917
91e5a33d
VS
69182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6921
9edd7be2
VS
69222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Fix spaces handling in proc/self/mountinfo.
6925
6926 * util/getroot.c (unescape): New function.
6927 (grub_find_root_device_from_mountinfo): Use unescape.
6928
ba102053
VS
69292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 Support ZFS embedding.
6932
6933 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6934 (grub_zfs_fs): Register grub_zfs_embed.
6935
aa94b870
VS
69362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Fix MIPS compilation.
6939
6940 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6941 * include/grub/offsets.h: Rename decompressor fields from
6942 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6943 * util/grub-mkimage.c (image_targets): Use new names.
6944
5fbdac14
VS
69452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Defer multiboot device parsing until we're in compressed part.
6948
6949 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6950 bsd_part. setdevice has fallen into disuse.
6951 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6952 (bsd_part): Likewise.
6953 (boot_dev): New variable.
6954 (multiboot_trampoline): Don't parse multiboot device.
6955 Pass multiboot device in %edx.
6956 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6957 grub_boot_device.
6958 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6959 Likewise.
6960 * grub-core/kern/i386/pc/startup.S: Save edx.
6961 (grub_boot_drive): Removed.
6962 (grub_install_dos_part): Likewise.
6963 (grub_install_bsd_part): Likewise.
6964 (grub_boot_device): New variable.
6965 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6966 (grub_install_bsd_part): Likewise.
6967 (grub_boot_drive): Likewise.
6968 (grub_boot_device): New variable.
6969 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6970 Removed.
6971 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6972 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6973 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6974 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6975 * util/grub-install.in: Remove redundant condition.
6976
691cbb58
VS
69772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 Fix bug introduced by previous commit.
6980
6981 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6982
60240b8b
VS
69832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 Use decompressors framework on i386-pc. It increases core size
6986 by 46 bytes but improves compatibility and maintainability.
6987
6988 * grub-core/Makefile.core.def (lzma_decompress): New image.
6989 (kernel): Add i386_pc_ldflags.
6990 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6991 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6992 to real_to_prot, prot_to_real and device info.
6993 * include/grub/offsets.h: Renamed decompressor offsets.
6994 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6995 (image_target_desc): Remove raw_size and rename decompressor fields.
6996 (compress_kernel): Handle lzma.
6997 (generate_image): Handle decompressors on i386-pc.
6998
e9d3421c
VS
69992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * configure.ac: Add -fno-asynchronous-unwind-tables.
7002
2b23074a
VS
70032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Move assembly code to C by using intwrap. It increases core size
7006 by 88 bytes but improves compatibility and maintainability.
7007
7008 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7009 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7010 ... here. Translated to C.
7011 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7012 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7013 ... here. Translated to C.
7014 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7015 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7016 ... here. Translated to C.
7017 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7018 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7019 ... here. Translated to C.
7020 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7021 * grub-core/term/i386/pc/console.c (grub_console_cls):
7022 ... here. Translated to C.
7023 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7024 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7025 ... here. Translated to C.
7026 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7027 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7028 Translated to C.
7029 * grub-core/term/i386/pc/console.c (int10_9): New function.
7030 (grub_console_putchar): Likewise.
7031 * include/grub/i386/pc/console.h: Removed the not anymore shared
7032 functions.
7033
678f4b67
VS
70342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 Move grub_chainloader_real_boot out of the kernel.
7037
7038 * grub-core/Makefile.am: Remove machine/loader.h.
7039 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7040 Removed.
7041 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7042 variable.
7043 (grub_relocator16_keep_a20_enabled): Likewise.
7044 (grub_relocator16_boot): Fill new variables.
7045 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7046 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7047 relocator.
7048 (grub_chainloader_unload): Likewise.
7049 (grub_chainloader_cmd): Likewise.
7050 * include/grub/i386/pc/loader.h: Removed.
7051 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7052 and esi. All initialisers updated.
7053
4626edf6
VS
70542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
70552011-11-12 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * Makefile.util.def (grub-mount): New util.
7058 * .bzrignore: Add grub-mount.
7059 * configure.ac: Check for fuse and enable grub-mount if available.
7060 * docs/man/grub-mount.h2m: New file.
7061 * util/grub-mount.c: Likewise.
7062
10f0117b
VS
70632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * grub-core/commands/efi/fixvideo.c: Gettextize.
7066 * grub-core/commands/hashsum.c: Likewise.
7067 * grub-core/commands/i386/cmostest.c: Likewise.
7068 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7069 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7070 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7071 * grub-core/commands/lsmmap.c: Likewise.
7072 * grub-core/commands/menuentry.c: Likewise.
7073 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7074 * grub-core/commands/setpci.c: Likewise.
7075 * grub-core/loader/i386/bsd.c: Likewise.
7076 * grub-core/loader/i386/linux.c: Likewise.
7077 * util/getroot.c: Likewise.
7078 * util/grub-editenv.c: Likewise.
7079 * util/grub-fstest.c: Likewise.
7080 * util/grub-mkfont.c: Likewise.
7081 * util/grub-mkimage.c: Likewise.
7082 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7083 * util/grub-pe2elf.c: Likewise.
7084 * util/grub-probe.c: Likewise.
7085 * util/grub-setup.c: Likewise.
7086 * util/ieee1275/ofpath.c: Likewise.
7087 * util/misc.c: Likewise.
7088 * util/raid.c: Likewise.
7089
566f779b
RM
70902011-11-11 Robert Millan <rmh@gnu.org>
7091
7092 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7093 __attribute__((unused)) from `os_dev', which *is* being used.
7094
b50787de
VS
70952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7098 forgotten define.
7099 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7100 GRUB_IA64_DL_GOT_ALIGN.
7101 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7102 GRUB_IA64_DL_TRAMP_ALIGN.
7103
119d11c8
VS
71042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 Replace grub_fatal with normal errors in i386 linux loader.
7107
7108 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7109 (allocate_pages): Check find_efi_mmap_size return value.
7110 (grub_e820_add_region): Return error.
7111 (grub_linux_boot): Check mmap return value.
7112
6e0632e2
VS
71132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/commands/acpihalt.c: Gettextized.
7116 * grub-core/commands/cacheinfo.c: Likewise.
7117 * grub-core/commands/cmp.c: Likewise.
7118 * grub-core/commands/efi/loadbios.c: Likewise.
7119 * grub-core/commands/gptsync.c: Likewise.
7120 * grub-core/commands/ieee1275/suspend.c: Likewise.
7121 * grub-core/commands/legacycfg.c: Likewise.
7122 * grub-core/commands/memrw.c: Likewise.
7123 * grub-core/commands/minicmd.c: Likewise.
7124 * grub-core/commands/parttool.c: Likewise.
7125 * grub-core/commands/time.c: Likewise.
7126 * grub-core/commands/videoinfo.c: Likewise.
7127 * grub-core/disk/geli.c: Likewise.
7128 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7129 * grub-core/disk/luks.c: Likewise.
7130 * grub-core/disk/lvm.c: Likewise.
7131 * grub-core/font/font_cmd.c: Likewise.
7132 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7133 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7134 * grub-core/gfxmenu/view.c: Likewise.
7135 * grub-core/kern/emu/hostdisk.c: Likewise.
7136 * grub-core/kern/emu/main.c: Likewise.
7137 * grub-core/kern/emu/misc.c: Likewise.
7138 * grub-core/kern/emu/mm.c: Likewise.
7139 * grub-core/kern/mips/arc/init.c: Likewise.
7140 * grub-core/kern/mips/loongson/init.c: Likewise.
7141 * grub-core/kern/partition.c: Likewise.
7142 * grub-core/lib/i386/halt.c: Likewise.
7143 * grub-core/lib/mips/arc/reboot.c: Likewise.
7144 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7145 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7146 * grub-core/loader/i386/xnu.c: Likewise.
7147 * grub-core/loader/multiboot.c: Likewise.
7148 * grub-core/net/bootp.c: Likewise.
7149 * grub-core/net/net.c: Likewise.
7150 * grub-core/normal/term.c: Likewise.
7151 * grub-core/partmap/bsdlabel.c: Likewise.
7152 * grub-core/parttool/msdospart.c: Likewise.
7153 * grub-core/term/gfxterm.c: Likewise.
7154 * grub-core/term/terminfo.c: Likewise.
7155 * grub-core/video/i386/pc/vbe.c: Likewise.
7156 * util/grub-menulst2cfg.c: Likewise.
7157 * util/grub-mkdevicemap.c: Likewise.
7158 * util/grub-mklayout.c: Likewise.
7159 * util/grub-mkrelpath.c: Likewise.
7160 * util/grub-script-check.c: Likewise.
7161 * util/ieee1275/grub-ofpathname.c: Likewise.
7162 * util/resolve.c: Likewise.
7163
073aa7a9
VS
71642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Support %1$d syntax.
7167
7168 * tests/printf_unit_test.c: New file.
7169 * Makefile.util.def (printf_test): New test.
7170 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7171
c76b5417
VS
71722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7175 fix.
7176
df067ad1
VS
71772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7180 dprintf.
7181 * grub-core/font/font.c (grub_font_load): Likewise.
7182
5b289bc5
VS
71832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * util/grub-macho2img.c: Add comment concerning gettext.
7186 * grub-core/lib/legacy_parse.c: Likewise.
7187
c1860f87
VS
71882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7191 (grub_xvasprintf): Likewise.
7192
d35d0d37
VS
71932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Add const keyword to grub_env_get and gettextize week days.
7196
7197 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7198 (grub_read_hook_datetime): Return const char *.
7199 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7200 updated.
7201 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7202 Mark for gettext.
7203 (grub_get_weekday_name): Return const char *. Call gettext.
7204 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7205 char * and len as the argument. All users updated.
7206 (grub_script_argv_split_append): Receive const char *.
7207 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7208 * include/grub/env.h (grub_env_get): Likewise.
7209 (grub_env_read_hook_t): Return const char *.
7210 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7211 (grub_script_argv_split_append): Likewise.
7212
9aed8a71
VS
72132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7216
067fdf00
VS
72172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7220 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7221
a8bd9d39
VS
72222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7225 Fix prototype.
7226
f7ce5baf
VS
72272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Fix mips compilation.
7230
7231 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7232 normal decoder.
7233 (hashes): Use in embed decoder as well (for sizes).
7234 (dec_stream_header): Fix embed decompressor logic.
7235 (dec_stream_footer): Likewise.
7236
9bb182f3
VS
72372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7240 an error and not a fatal on unrecognised relocation types.
7241
63a9e6f6
VS
72422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7245 Issue error rather than printf on unknown arguments.
7246
4c458569
VS
72472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7250 Make buf a const.
7251
e2d22baf
VS
72522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7255 Fix module name.
7256
53dc8590
VS
72572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7260 leftover debug printf.
7261
6c189294
VS
72622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7265
f7688369
VS
72662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7269 A stylistic fix.
7270
11a775a3
VS
72712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7274
33f784e8
SL
72752011-11-10 Shea Levy <slevy@tieronedesign.com>
7276
7277 Allow all modules to perform serial IO
7278
7279 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7280 * include/grub/serial.h (grub_serial_port_configure): New inline
7281 function.
7282 (grub_serial_port_fetch): Likewise.
7283 (grub_serial_port_put): Likewise.
7284 (grub_serial_port_fini): Likewise.
7285 (grub_serial_find): New proto.
7286
f6276525
VS
72872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 Put symlink at the end of the node and fix a potential
7290 memory corruption.
7291
7292 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7293 Make symlink into an array.
7294 (set_rockridge): Set have_symlink and alloc_dirents.
7295 (grub_iso9660_read_symlink): Use new layout.
7296 (grub_iso9660_iterate_dir): Fix memory corruption.
7297 Use new layout.
7298 (grub_iso9660_dir): Set have_symlink.
7299 (grub_iso9660_open): Likewise.
7300
c3591189
VS
73012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Remove local keyword.
7304
7305 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7306 (version_test_gt): Likewise.
7307 (version_find_latest): Likewise.
7308 (gettext_printf): Likewise.
7309 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7310
cb544caa
VS
73112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7314
45bd824d
VS
73152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Fix ZFS memory and resource leaks.
7318
7319 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7320 All users updated.
7321 Free type on exit.
7322 (fill_vdev_info): New parameter inserted. All users updated.
7323 (check_pool_label): Likewise.
7324 (scan_disk): Likewise.
7325 (scan_devices): Close non-inserted disks.
7326 (fzap_iterate): Free l.
7327 (unmount_device): Free children descripto memory.
7328
ad9a2f44
VS
73292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7332 argument (access out of bounds).
7333
6b68db81
VS
73342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7337 >= 6 drives.
7338
28840fda
VS
73392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7342 Fix declaration.
7343
8a5a3a5b
VS
73442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 Fix several memory leaks.
7347
7348 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7349 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7350 (grub_cpio_dir): Likewise.
7351 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7352 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7353 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7354 (grub_romfs_label): Likewise.
7355 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7356 (squash_unmount): New function.
7357 (grub_squash_dir): Fix memory leak.
7358 (grub_squash_open): Likewise.
7359 (grub_squash_read): Likewise.
7360 (grub_squash_mtime): Likewise.
7361 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7362 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7363 * util/grub-fstest.c (fstest): Likewise.
7364
57b01250
VS
73652011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7368 avoid accessing beyond the array.
7369
19e81ba7
VS
73702011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7373
52b656c0
VS
73742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 Several AFFS fixes.
7377
7378 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7379 (GRUB_AFFS_FLAG_FFS): Removed.
7380 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7381 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7382 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7383 (grub_fshelp_node): Make block 32-bit.
7384 Add block_cache and last_block_cache.
7385 (grub_affs_read_block): Fill and use block cache.
7386 (grub_affs_read_file): Removed.
7387 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7388 boot block.
7389 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7390 safety.
7391 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7392 space.
7393 (grub_affs_close): Free block cache.
7394 (grub_affs_read): Use grub_fshelp_read_file directly.
7395
438a746a
VS
73962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7399 with no error set.
7400
49a45021
VS
74012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7404 used variable.
7405 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7406 Likewise.
7407
3ae17eb8
VS
74082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7411
7412 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7413 byteswap when needed.
7414
27610c38
VS
74152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 Fix FreeBSD compilation.
7418
7419 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7420 to avoid circular dependency.
7421 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7422 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7423 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7424
4a19b601
VS
74252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 Fix ZFS crypto error types.
7428
7429 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7430 (grub_gcm_decrypt): Likewise.
7431 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7432 from PBKDF2.
7433
958ee221
VS
74342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 Illumos support.
7437
7438 * Makefile.util.def (10_illumos): New script.
7439 * configure.ac: Set COND_HOST_ILLUMOS.
7440 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7441 Support Illumos calls.
7442 (find_partition_start) [__sun__]: Likewise.
7443 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7444 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7445 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7446 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7447 device.
7448 * util/grub-probe.c (probe) [__sun__]: Do character check.
7449 * util/grub.d/10_illumos.in: New file.
7450
cac14fb6
VS
74512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 Support escaped commas in hostdisk.
7454
7455 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7456 (find_grub_drive): Use unescape_cmp.
7457 (make_device_name): Escape commas.
7458
78e08dc3
VS
74592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7462
9f421dd1
VS
74632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7466 variable.
7467
ed64e9e2
VS
74682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 Support trampoline jumps on powerpc.
7471
7472 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7473 __ia64__ path.
7474 (grub_dl_load_segments): Set mod->sz.
7475 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7476 segments.
7477 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7478 (jump): Likewise.
7479 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7480 function.
7481 (trampoline): New struct.
7482 (trampoline_template): New const.
7483 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7484 * include/grub/dl.h (grub_dl): Add sz element.
7485 [__powerpc__]: Follow __ia64__.
7486 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7487 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7488 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7489 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7490
3084ede4
VS
74912011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 ZFS crypto support.
7494
7495 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7496 * grub-core/Makefile.core.def (zfscrypt): New module.
7497 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7498 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7499 it. All users updated.
7500 (grub_zfs_decrypt): New var.
7501 (grub_zfs_load_key): Likewise.
7502 (zio_checksum_functions): Add SHA256+MAC.
7503 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7504 (zio_read): Handle encrypted blocks.
7505 (zap_verify): Remove incorrect check.
7506 (fzap_iterate): Handle non-standard fzap.
7507 (zap_iterate): Likewise.
7508 (zap_iterate_u64): New function.
7509 (dnode_get_fullpath): Load keys.
7510 * grub-core/fs/zfs/zfscrypt.c: New file.
7511 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7512 (grub_crypto_ecb_encrypt): Make input const.
7513 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7514 (grub_crypto_ecb_encrypt): Make input const.
7515 (GRUB_CIPHER_AES): New macro.
7516 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7517 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7518 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7519 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7520 prefix. All users updated.
7521 (grub_zfs_add_key): New proto.
7522 (grub_zfs_decrypt): Likewise.
7523 (grub_zfs_load_key): Likewise.
7524 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7525 * util/grub-fstest.c (options): Add -K option.
7526 (argp_parser): Likewise.
7527
b632b404
VS
75282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 Support zle compression on ZFS.
7531
7532 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7533 (decomp_table): Add zle.
7534 * include/grub/zfs/zio.h (zio_compress): Add zle.
7535
c7ba4f69
VS
75362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Support BtrFS embedding.
7539
7540 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7541 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7542 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7543 * util/grub-setup.c (setup): Use fs embedding if available.
7544 Add additional sanity check.
7545
455377d9
VS
75462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * util/grub-install.in: Fix condition for config_opt.
7549
c2fd16ca
VS
75502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 Support third redundancy strip on raidz3.
7553
7554 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7555 Return error on singularity. All users updated.
7556 (read_device): Don't stop on 3rd failure on raidz3.
7557
8622923b
VS
75582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Support case-insensitive ZFS subvolumes.
7561
7562 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7563 All users updated.
7564 (zap_hash): Likewise.
7565 (name_cmp): New function.
7566 (zap_leaf_array_equal): New parameter case_insensitive.
7567 All users updated.
7568 (zap_leaf_lookup): Likewise.
7569 (fzap_lookup): Likewise.
7570 (zap_lookup): Likewise.
7571 (dnode_get_path): New parameter case_insensitive. Retrieve case
7572 sensitiviness of a volume. All users updated.
7573 (dnode_get_fullpath): New parameter case_insensitive.
7574 All users updated.
7575 (grub_zfs_dir): Set info.case_insensitiveness.
7576
95f2e860
VS
75772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 Support second redundancy strip on raidz(2,3).
7580
7581 * grub-core/fs/zfs/zfs.c (powx): New array.
7582 (powx_inv): Likewise.
7583 (poly): New const.
7584 (xor_out): New function.
7585 (gf_mul): Likewise.
7586 (recovery): Likewise.
7587 (read_device): Use second redundancy strip.
7588
11ee4389
VS
75892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 Use a power of generator representation of GF(256) multiplication group
7592 to save space time and complexity.
7593
7594 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7595 (raid6_table2): Likewise.
7596 (powx): New array.
7597 (powx_inv): Likewise.
7598 (poly): New const.
7599 (grub_raid_block_mul): Replace with ...
7600 (grub_raid_block_mulx): ...this.
7601 (grub_raid6_init_table): Rewritten.
7602 (grub_raid6_recover): Use power of generator representation.
7603
09e2763f
VS
76042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7607 for the right device.
7608
8bec9a28
VS
76092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7612 expected by grub-mkimage and it's more clear since there is no implicit
7613 padding.
7614
dbd3a32e
VS
76152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7618 disk.
7619 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7620
182c872a
PMH
76212011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7622
7623 * util/grub-mkrescue.in: Fix handling xorriso option.
7624
1e51cabd
VS
76252011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7628 NULL.
7629
9cc3581d 76302011-11-03 crocket <crockabiscuit@gmail.com>
7631
7632 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7633
158dc1ea
VS
76342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 XZ CRC64 and SHA256 support.
7637
7638 * Makefile.util.def (libgrubmods): Add crc64.c.
7639 * grub-core/Makefile.core.def (crc64): New module.
7640 * grub-core/lib/crc64.c: New file.
7641 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7642 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7643 Fix the type.
7644 (MAX_HASH_SIZE): New define.
7645 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7646 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7647 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7648 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7649 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7650 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7651 Handle non-crc32 hashes.
7652 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7653 (dec_stream_header): Handle non-crc32 hashes.
7654 (dec_stream_footer): Likewise.
7655 (dec_block_header): Likewise.
7656 (dec_main): Likewise.
7657 (xz_dec_init): Likewise.
7658 (xz_dec_reset): Likewise.
7659 (xz_dec_end): Likewise.
7660 * util/import_gcry.py: Add CRC64 line.
7661
9d9b3d2f
VS
76622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7665 as well.
7666
7d0ac931
VS
76672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Make reiserfs label retrieval similar to other *_label functions.
7670
7671 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7672 (REISERFS_MAX_LABEL_LENGTH): Removed.
7673 (REISERFS_LABEL_OFFSET): Likewise.
7674 (grub_reiserfs_label): Rewritten.
7675
76762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7679 field.
7680
cf5ba824
VS
76812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7684
17744004
VS
76852011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7688 drive failure on both raidz and raidz2.
7689
aca5aefc
VS
76902011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 Fix RAIDZ(2) for >= 5 devices.
7693
7694 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7695 asize argument. All users updated.
7696
ce8ca56e
VS
76972011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Fix RAIDZ(2).
7700
7701 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7702 (fill_vdev_info_real): Set ashift.
7703 (read_device): Rewrite RAIDZ part based on reverse engineering.
7704
7c01e783
VS
77052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7708 don't report potentially unavialiable fields in debug output.
7709 (find_path): Fix double-free and memory leak.
7710
ce109e84
VS
77112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 Read label on UFS1.
7714
7715 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7716 (grub_ufs_fs): Always set .label.
7717
87661123
VS
77182011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Use shifts in UFS.
7721
7722 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7723 (grub_ufs_data): New field log2_blksz.
7724 (grub_ufs_read_file): Use shifts.
7725 (grub_ufs_mount): Check block size and logarithm it.
7726
46bc1dc2
VS
77272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7730 long symlinks.
7731
19ee2987
VS
77322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 Handle symlinks and long names on tar and cpio.
7735
7736 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7737 (ATTR_FILE): Likewise.
7738 (ATTR_DIR): Likewise.
7739 (ATTR_LNK): Likewise.
7740 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7741 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7742 L and K entries.
7743 (grub_cpio_mount): Zero-fill data.
7744 (handle_symlink): New function.
46bc1dc2
VS
7745 (grub_cpio_dir): Handle symlinks.
7746 (grub_cpio_open): Likewise.
7747 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7748
c83a08d8
VS
77492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 Fix iso9660 filename limitations and fix memory leaks.
7752
7753 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7754 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7755
45cdd3ea
VS
77562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 Fix JFS file name length limitations.
7759
7760 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7761 (grub_jfs_diropen): Fix maximum filename length.
7762 (grub_jfs_getent): Fix filename length.
7763 (grub_jfs_lookup_symlink): Fix size checks.
7764
94ef05c2
VS
77652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7768 string.
7769
785ab8c7
VS
77702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7771
eb0b6b45
VS
7772 Leverage BFS implementation to read AFS.
7773
7774 * Makefile.util.def (libgrubmods): Add afs.c.
7775 * grub-core/Makefile.core.def (afs): New module
7776 * grub-core/fs/afs.c: New file.
7777 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7778
77792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7782
c4a1628f
VS
77832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/fs/bfs.c: Run indent.
7786
5825b379
VS
77872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 BFS implementation based on the specification.
7790
7791 * grub-core/fs/bfs.c: New file.
7792 * Makefile.util.def (libgrubmods): Add bfs.c.
7793 * grub-core/Makefile.core.def (bfs): New module.
7794
42b2a706
VS
77952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * util/grub-fstest.c (cmd_cp): Clarify error message.
7798 (cmd_cmp): Likewise.
7799
61b99bfc
YB
78002011-10-30 Yves Blusseau <blusseau@zetam.org>
7801
7802 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7803 and befs_be.
7804
faba3d16
VS
78052011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Remove afs and befs because of copyright problem.
7808
7809 * grub-core/fs/afs.c: Removed.
7810 * grub-core/fs/afs_be.c: Removed.
7811 * grub-core/fs/befs.c: Removed.
7812 * grub-core/fs/befs_be.c: Removed.
7813 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7814 * grub-core/Makefile.core.def (afs): Removed.
7815 (afs_be): Likewise.
7816 (befs): Likewise.
7817 (befs_be): Likewise.
7818
c39224b0
VS
78192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 Prefer rockridge over Joliet.
7822
7823 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7824 to ...
7825 (set_rockridge): ... here.
7826 (grub_iso9660_mount): Check rockridge on the primary label when
7827 discovering. Ignore Joliet if Rockridge is present.
7828
e551115a
VS
78292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Use shifts in nilfs2.
7832
7833 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7834 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7835 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7836 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7837 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7838 (grub_nilfs2_entries_per_block): Replaced with ...
7839 (grub_nilfs2_log_entries_per_block_log): ... this.
7840 (grub_nilfs2_blocks_per_group): Replaced with ...
7841 (grub_nilfs2_blocks_per_group_log): ... this.
7842 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7843 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7844 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7845 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7846 (grub_nilfs2_palloc_entry_offset): Replaced ...
7847 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7848 (grub_nilfs2_dat_translate): Use shifts.
7849 (grub_nilfs2_read_inode): Likewise.
7850 (GRUB_MOD_INIT): Ensure that logs are correct.
7851
564dd58c
VS
78522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 Use shifts in minix filesystem.
7855
7856 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7857 (GRUB_MINIX_ZONE2SECT): Likewise.
7858 (grub_minix_data): Replace block_size with log_block_size.
7859 (grub_minix_read_file): Use shifts.
7860 (grub_minix_mount): Check block size and take a logarithm.
7861
ed9ba06d
VS
78622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 Use shifts in squash4.
7865
7866 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7867 (squash_mount): Check block size and take logarithm.
7868 (direct_read): Use shifts.
7869
ad03fe76
VS
78702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Correct befs block counting logic.
7873
7874 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7875 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7876 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7877 (grub_afs_read_inode): Use block_shift.
7878 (RANGE_SHIFT): New definition.
7879 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7880 unexpected conditions, use shifts and appropriate types.
7881 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7882
6563f63d
VS
78832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/disk/raid.c (scan_devices): Check partition.
7886 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7887
5b1ae25f
VS
78882011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 Support BFS (befs) UUID.
7891
7892 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7893 (grub_afs_small_data_element_header): New struct.
7894 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7895 (grub_afs_read_attribute) [MODE_BFS]: New function.
7896 (grub_afs_iterate_dir): Allocate for complete inode.
7897 (grub_afs_mount): Likewise.
7898 (grub_afs_uuid) [MODE_BFS]: New function.
7899 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7900
f8d82408
VS
79012011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7904 (zfs_unmount): Fix memory leak.
7905
5773fb64
VS
79062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Support NTFS reparse points.
7909
7910 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7911 (symlink_descriptor): New struct.
7912 (grub_ntfs_read_symlink): New function.
7913 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7914 (grub_ntfs_open): Likewise.
7915
91c3fdde
VS
79162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7919
3be82e10
VS
79202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 fstest xnu_uuid subcommand.
7923
7924 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7925 grub-core/commands/xnu_uuid.c.
7926 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7927 (fstest): Handle xnu_uuid.
7928 (options): Document xnu_uuid.
7929 (argp_parser): Parse xnu_uuid.
7930
8e32442e
VS
79312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7934 -l argument. Add newline at the end if printing.
7935 (GRUB_MOD_INIT): Document -l.
7936
52a05075
VS
79372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7940
1869edb5
VS
79412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 ZFS multi-device and version 33 support.
7944
7945 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7946 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7947 (grub_zfs_data): Add multidev-ice-related fields.
7948 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7949 (dva_get_offset): Make dva const.
7950 (zfs_fetch_nvlist): New function.
7951 (fill_vdev_info_real): Likewise.
7952 (fill_vdev_info): Likewise.
7953 (check_pool_label): Likewise.
7954 (scan_disk): Likewise.
7955 (scan_devices): Likewise.
7956 (read_device): Likewise.
7957 (read_dva): Likewise.
7958 (zio_read_gang): Use read_dva.
7959 (zio_read_data): Likewise.
7960 (zap_leaf_lookup): Add missing endian conversion.
7961 (zap_verify): Add missing endian conversion. All users updated.
7962 (fzap_lookup): Likewise.
7963 (fzap_iterate): Likewise.
7964 (dnode_get_path): Handle SA bonus.
7965 (nvlist_find_value): Make input const. All users updated.
7966 (unmount_device): New function.
7967 (zfs_unmount): Use unmount_device.
7968 (zfs_mount): Use scan_disk.
7969 (zfs_mtime): New function.
7970 (grub_zfs_open): Handle system attributes.
7971 (fill_fs_info): Likewise.
7972 (grub_zfs_dir): Likewise.
7973 (grub_zfs_fs): Add mtime.
7974 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7975 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7976 (SA_MTIME_OFFSET): Likewise.
7977 (SA_SYMLINK_OFFSET): Likewise.
7978 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7979 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7980 (fstest): Support zfsinfo.
7981 (argp_parser): Likewise.
7982
186b4028
VS
79832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7986 error.
7987
79882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7989
7990 ZFS fixes.
7991
7992 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7993 sharing the same block. Iterate over correct number of indices.
7994 (dnode_get_path): Handle symlinks correctly.
7995
c0584900
VS
79962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7999
67e2bd71
VS
80002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Read label on HFS+.
8003
8004 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8005 (grub_hfsplus_btree_search): Fix types.
8006 (grub_hfsplus_label): Implement.
8007
e9cc6b7b
VS
80082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8011
19832ddb
VS
80122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8015
66b40850
VS
80162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 Fix symlink handling on iso9660.
8019
8020 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8021 All users updated.
8022 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8023 (grub_iso9660_read_symlink): Moved most of code ...
8024 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8025
db821363
VS
80262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8029 Use union to avoid breaking strict-aliasing rules.
8030
e1211949
VS
80312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 Support multi-extent iso files.
8034
8035 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8036 Add node.
8037 (grub_fshelp_node): Revamp. All users updated.
8038 (FLAG_*): New enum.
8039 (read_node): New function.
8040 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8041 All users updated.
8042 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8043 (get_node_size): New function.
8044 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8045 entries.
8046 Fix memory leak on . and ..
8047 (grub_iso9660_read): Use read_node.
8048 (grub_iso9660_close): Free node.
8049
d4888031
VS
80502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 Fix tar 4G limit and handle paths containing dot.
8053
8054 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8055 (canonicalize): New function.
8056 (grub_cpio_find_file): Use canonicalize. Store offs in
8057 grub_disk_addr_t.
8058 (grub_cpio_dir): Use grub_disk_addr_t.
8059 (grub_cpio_open): Likewise.
8060
9f12e664
VS
80612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8064
8065 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8066 unused flags.
8067 (grub_squash_inode): Add long_file and block_size.
8068 (grub_squash_cache_inode): New struct.
8069 (grub_squash_dirent): Make types into enum.
8070 (SQUASH_TYPE_LONG_REGULAR): New type.
8071 (grub_squash_frag_desc): Add field size.
8072 (SQUASH_BLOCK_FLAGS): New enum.
8073 (grub_squash_data): Use grub_squash_cache_inode.
8074 (grub_fshelp_node): Make ino_chunk 64-bit.
8075 (read_chunk): Minor argument change. All users updated.
8076 (squash_mount): Use correct le_to_cpu.
8077 (grub_squash_open): Handle LONG_REGULAR.
8078 (direct_read): New function.
8079 (grub_squash_read_data): Handle blocks correctly.
8080
9f326fba
VS
80812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8084
f4d9b64b
VS
80852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8088
5bbd28b8
VS
80892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 Fix 2G limit on ZFS.
8092
8093 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8094 types.
8095 (uberblock_verify): Likewise.
8096 (dmu_read): Likewise.
8097 (grub_zfs_read): Likewise. Remove invalid cast.
8098
68c72069
VS
80992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8102 (grub_jfs_blkno): Fix incorrect shift.
8103 (grub_jfs_read_file): Use more appropriate types.
8104
6e536dc8
VS
81052011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Support triple indirect on minix2 and minix3.
8108
8109 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8110 Declare triple_indir_zone.
8111 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8112 indirect.
8113
e0864e7a
VS
81142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Minix FS fixes.
8117
8118 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8119 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8120 Rename ctime to mtime. All users updated.
8121 (grub_minix_get_file_block): Fix types and double indirect computations.
8122
89481cab
VS
81232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8126 if no label is found.
8127 (grub_fat_iterate_dir): Fix file size type.
8128 (grub_fat_iterate_dir): Likewise.
8129
f646e143
VS
81302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8133 save some space.
8134 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8135 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8136
534d769e
VS
81372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8140
e084ba18
VS
81412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * util/import_gcry.py: Accept space between # and include.
8144
3471ecdf
VS
81452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8148
124df5f6
VS
81492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8152
8153 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8154 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8155 yylex_strncpy.
8156 * grub-core/script/yylex.l: Add fine-grained #pragma.
8157
4defb8d5
VS
81582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8161 New inline function.
8162 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8163 Likewise.
8164 (memset) [GRUB_UTIL]: Likewise.
8165 (memcmp) [GRUB_UTIL]: Likewise.
8166
4e94ae65
VS
81672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8170 inline function rather than a define.
8171
18c575e5
VS
81722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * util/grub-setup.c: Add missing include.
8175
f8bc22a8
VS
81762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * util/ieee1275/grub-ofpathname.c: Add missing include.
8179
3ce69fc9
VS
81802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8183 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8184 Likewise.
8185
d1e293bb
VS
81862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8189 grub_memcmp usage.
8190
7a5c54a4
VS
81912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * util/grub-install.in: Add datarootdir as per automake manual
8194 suggestion.
8195 * util/grub-mknetdir.in: Likewise.
8196
81972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8198
8199 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8200 suggestion.
8201 * util/grub.d/10_kfreebsd.in: Likewise.
8202 * util/grub.d/10_linux.in: Likewise.
8203 * util/grub.d/10_netbsd.in: Likewise.
8204 * util/grub.d/10_windows.in: Likewise.
8205 * util/grub.d/20_linux_xen.in: Likewise.
8206
766f7d08
VS
82072011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 Remove redundant grub_kernel_image_size.
8210
8211 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8212 _edata and _start.
8213 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8214 the small code. It moves it only by few bytes but simplifies the code.
8215 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8216 _start.
8217 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8218 (grub_kernel_image_size): Removed.
8219 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8220 (grub_kernel_image_size): Removed.
8221 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8222 compiled with Apple toolchain.
8223 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8224 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8225 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8226 (grub_total_module_size): Likewise.
8227 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8228 Removed.
8229 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8230 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8231 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8232 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8233 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8234 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8235 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8236 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8237 Removed.
8238 (grub_total_module_size): Removed.
8239 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8240 (image_targets): Likewise.
8241 Set .compressed_size to no field on sparc.
8242 (generate_image): Remove kernel_image_size handling.
8243
fcf1d672
SJ
82442011-10-19 Szymon Janc <szymon@janc.net.pl>
8245
8246 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8247 NULL pointer dereference.
8248
de9c615e
VS
82492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8252 done with a dedicated section.
8253
8254 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8255 Ensure the correct position of boot_path.
8256 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8257 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8258 other fields.
8259 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8260 * include/grub/boot.h: Removed. All references removed.
8261 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8262 Removed.
8263 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8264
e55599dc
VS
82652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8268 name.
8269
36dd20ad
VS
82702011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8273
f8f72eb8
VS
82742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8277 Don't add the bogus brackets.
8278
a374751b
VS
82792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 ExFAT support.
8282
8283 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8284 * grub-core/Makefile.core.def (exfat): New module.
8285 * grub-core/fs/exfat.c: New file.
8286 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8287 (GRUB_FAT_ATTR_*): Make into an enum.
8288 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8289 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8290 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8291 (GRUB_FAT_MAXFILE): Removed.
8292 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8293 (grub_current_fat_bpb_t): New type.
8294 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8295 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8296 (grub_fat_dir_node_t): New type.
8297 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8298 (fat_log2) [MODE_EXFAT]: Removed.
8299 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8300 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8301 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8302 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8303 (grub_fat_label) [MODE_EXFAT]: New function.
8304 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8305 reserved_first_sector to 0.
8306
544c2487
VS
83072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 Move grub_reboot out of the kernel.
8310
8311 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8312 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8313 * grub-core/lib/efi/reboot.c: ... here.
8314 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8315 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8316 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8317 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8318 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8319 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8320 * grub-core/lib/ieee1275/reboot.c: ... here.
8321 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8322 * grub-core/lib/mips/arc/reboot.c: ... here.
8323 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8324 * grub-core/lib/mips/loongson/reboot.c: ...here.
8325 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8326 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8327 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8328 * include/grub/i386/reboot.h: New file.
8329 * include/grub/mips/loongson/ec.h: Fix includes.
8330 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8331 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8332 * grub-core/lib/i386/reboot.c: New file.
8333
a97501d2
VS
83342011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 Make grub_prefix into module to fix the arbitrary limit and save
8337 some space.
8338
8339 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8340 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8341 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8342 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8343 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8344 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8345 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8346 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8347 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8348 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8349 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8350 * include/grub/ia64/efi/kernel.h: Removed.
8351 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8352 (grub_prefix): Removed.
8353 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8354 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8355 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8356 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8357 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8358 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8359 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8360 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8361 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8362 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8363 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8364 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8365 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8366 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8367 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8368 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8369 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8370 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8371 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8372 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8373 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8374 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8375 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8376 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8377 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8378 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8379 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8380 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8381 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8382 from module.
8383 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8384 prefix_end.
8385 (image_targets): Likewise.
8386 (generate_image): Put prefix as a module.
8387
39705fad
VS
83882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 Replace grub_module_iterate with FOR_MODULES.
8391
8392 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8393 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8394 (grub_efi_modules_addr): ...this.
8395 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8396 (grub_efi_init): Set grub_modbase.
8397 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8398 (grub_modbase): New variable.
8399 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8400 (grub_modbase): New variable.
8401 (grub_machine_init): Set grub_modbase.
8402 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8403 (grub_modbase): New variable.
8404 (grub_machine_init): Set grub_modbase.
8405 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8406 (grub_modbase): New variable.
8407 (grub_machine_init): Set grub_modbase.
8408 * grub-core/kern/main.c (grub_module_iterate): Remove.
8409 (grub_modules_get_end): Use grub_modbase.
8410 (grub_load_modules): Use FOR_MODULES.
8411 (grub_load_config): Likewise.
8412 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8413 (grub_modbase): New variable.
8414 (grub_machine_init): Set grub_modbase.
8415 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8416 (grub_modbase): New variable.
8417 (grub_machine_init): Set grub_modbase.
8418 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8419 Removed.
8420 (grub_modbase): New variable.
8421 (grub_machine_init): Set grub_modbase.
8422 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8423 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8424 (grub_module_iterate): Likewise.
8425 (grub_modbase): New variable declaration.
8426 (FOR_MODULES): New macro.
8427
2afb7f6c
VS
84282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8431 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8432
366e34fa
VS
84332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Fix few obvious type discrepancies.
8436
8437 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8438 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8439 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8440 variable.
8441 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8442 and connected types.
8443 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8444 offset.
8445 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8446 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8447 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8448 and connected types.
8449
177b960e
VS
84502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Fix python 3.x incompatibilities.
8453
8454 * gentpl.py: Put brackets around print strings.
8455 * util/import_gcry.py: Open explicitly as utf-8.
8456 Use in instead of has_key.
8457
3b619ae1
VS
84582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8461 (GRUB_XFS_INO_AGBITS): Make into inline function.
8462 (GRUB_XFS_INO_INOINAG): Likewise.
8463 (GRUB_XFS_INO_AG): Likewise.
8464 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8465 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8466 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8467 (GRUB_XFS_EXTENT_SIZE): Likewise.
8468 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8469 (GRUB_XFS_NEXT_DIRENT): Likewise.
8470 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8471 (grub_xfs_read_file): Fix offset type.
8472
8bcebcb8
RM
84732011-10-15 Robert Millan <rmh@gnu.org>
8474
8475 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8476
0017e5ef
RM
84772011-10-15 Robert Millan <rmh@gnu.org>
8478
8479 Fix build problem on FreeBSD and GNU/kFreeBSD.
8480
8481 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8482
d8919552
VS
84832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8486
8487 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8488 types.
8489 (grub_hfsplus_btree_recoffset): Likewise.
8490 (grub_hfsplus_btree_recptr): Likewise.
8491 (grub_hfsplus_find_block): Likewise.
8492 (grub_hfsplus_btree_search): Likewise.
8493 (grub_hfsplus_read_block): Likewise.
8494 (grub_hfsplus_read_file): Likewise.
8495 (grub_hfsplus_mount): Likewise.
8496 (grub_hfsplus_btree_iterate_node): Likewise.
8497 (grub_hfsplus_btree_search): Likewise.
8498 (grub_hfsplus_iterate_dir): Likewise.
8499 (grub_hfsplus_read): A small code simplification.
8500
c81296b6
VS
85012011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/kern/emu/hostdisk.c
8504 (convert_system_partition_to_system_disk): Don't assume that children
8505 of mapper nodes are mapper nodes.
8506
0eb8ffb1
VS
85072011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8510 * include/grub/misc.h (grub_isxdigit): New function.
8511 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8512 switched to grub_isxdigit.
8513 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8514 number starting with a letter.
8515
a98f4a08
RM
85162011-10-09 Robert Millan <rmh@gnu.org>
8517
8518 LVM support for FreeBSD and GNU/kFreeBSD.
8519
8520 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8521 GNU/kFreeBSD.
8522 (LVM_DEV_MAPPER_STRING): Move from here ...
8523 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8524 * util/getroot.c: Include `<grub/util/lvm.h>'.
8525 (grub_util_get_dev_abstraction): Enable
8526 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8527 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8528 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8529 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8530 support it.
8531 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8532 GNU/kFreeBSD.
8533 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8534 when LVM abstraction is required for ${GRUB_DEVICE}.
8535
050e8e90
SJ
85362011-10-06 Szymon Janc <szymon@janc.net.pl>
8537
8538 Add support for LZO compression in GRUB:
8539 - import of minilzo library,
8540 - LZO decompression for btrfs,
8541 - lzop files decompression.
8542
8543 * grub-core/io/lzopio.c: New file.
8544 * grub-core/lib/adler32.c: Likewise.
8545 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8546 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8547 * grub-core/lib/minilzo/minilzo.c: Likewise.
8548 * grub-core/lib/minilzo/minilzo.h: Likewise.
8549 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8550 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8551 grub-core/lib/minilzo/minilzo.c to common.
8552 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8553 cflags in cppflags.
8554 * grub-core/Makefile.core.def (btrfs): Likewise.
8555 * grub-core/Makefile.core.def (lzopio): New module.
8556 (adler32): Likewise.
8557 * grub-core/fs/btrfs.c: Include minilzo.h.
8558 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8559 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8560 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8561 (grub_btrfs_lzo_decompress): New function.
8562 (grub_btrfs_extent_read): Add support for LZO compression type.
8563 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8564 (GRUB_USHRT_MAX): Likewise.
8565 (GRUB_UINT_MAX): Likewise.
8566 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8567 (UINT_MAX): Likewise.
8568 (CHAR_BIT): Likewise.
8569 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8570 grub-core/lib/posix_wrap/limits.h
8571 (UCHAR_MAX): Likewise.
8572 * include/grub/file.h (grub_file_filter_id): New compression filter
8573 GRUB_FILE_FILTER_LZOPIO.
8574 * include/grub/file.h (grub_file_filter_id): Set
8575 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8576 * include/grub/types.h (grub_get_unaligned16): New function.
8577 (grub_get_unaligned32): Likewise.
8578 (grub_get_unaligned64): Likewise.
8579 * util/import_gcry.py (cryptolist): Add adler32.
8580
0eb8ffb1
VS
85812011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8584 in perspective decreases the complexity of build system and fixes
8585 compilation right now.
8586
ce79cc99 85872011-10-01 Ales Nesrsta <starous@volny.cz>
8588
8589 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8590 (fixed problem related to using UHCI with coreboot).
8591
8667a314
BC
85922011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8593
8594 * gentpl.py: Use Autogen macros so that the output template file
8595 (Makefile.tpl) size is reduced.
8596
fc5efcc0
MK
85972011-09-29 Mads Kiilerich <mads@kiilerich.com>
8598
8599 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8600 extra_dist.
8601
d1ab689d
ML
86022011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8603
8604 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8605 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8606
c05de032
ML
86072011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8608
8609 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8610 _fullpath.
8611
cca7ccd8
ML
86122011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8613
8614 Remove extra declaration of sleep for mingw32.
8615
8616 * util/misc.c (sleep) [__MINGW32__]: Removed.
8617 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8618
e0b0dc83
GS
86192011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8620
8621 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8622 type and packname.
8623 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8624 Resurrected.
8625 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8626 (grub_netbsd_btinfo_bootwedge): New struct.
8627 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8628 New function.
8629 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8630
91a1a164
TH
86312011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8632
8633 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8634 loader.
8635
2ded951e
AB
86362011-09-28 Andreas Born <futur.andy@googlemail.com>
8637
8638 Fix incorrect identifiers in bash-completion.
8639
8640 * util/bash-completion.d/grub-completion.bash.in
8641 (_grub_mkpasswd-pbkdf2): Rename to ...
8642 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8643 (_grub_script-check): Rename to ...
8644 (_grub_script_check): ... this. All users updated.
8645
69915030
VS
86462011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8649 Return 0 if disk isn't biosdisk.
8650
20fd15f9
GS
86512011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8652
8653 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8654 on NetBSD.
8655 * Makefile.util.def (grub-fstest): Likewise.
8656
1a7d7db9
GS
86572011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8658
8659 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8660 Get sector size from disk label.
8661
2221ab6c
CW
86622011-09-05 Colin Watson <cjwatson@ubuntu.com>
8663
8664 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8665 */README* as well as README*.
8666 Reported by: Axel Beckert.
8667
ca51c4a0
VS
86682011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8671 case of less than 256 MiB of RAM.
8672
ab80f326
VS
86732011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/commands/wildcard.c (make_regex): Handle @.
8676
4155e697
VS
86772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8680
ab178c08
SJ
86812011-08-21 Szymon Janc <szymon@janc.net.pl>
8682
8683 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8684 AC_LANG_CONFTEST macros.
8685
7dc3c686
SJ
86862011-08-20 Szymon Janc <szymon@janc.net.pl>
8687
8688 Add grub-fstest option to uncompress data for commands.
8689
8690 * util/grub-fstest.c (uncompress): New var.
8691 (options): New option -u.
8692
fe8d4a7b
SJ
86932011-08-20 Szymon Janc <szymon@janc.net.pl>
8694
8695 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8696 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8697
a5219af1
SJ
86982011-08-20 Szymon Janc <szymon@janc.net.pl>
8699
8700 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8701 file type was not recognized correctly (not gzip or corrupted).
8702
f87abff5
VS
87032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8706 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8707
d94497ea
VS
87082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8711 loongson.
8712 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8713 video_radeon_fuloong2e.
8714 * grub-core/video/radeon_fuloong2e.c: New file.
8715 * include/grub/video.h (grub_video_id_t): Add new ID
8716 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8717
0d1fd011
VS
87182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8721 define.
8722 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8723 that PRID matches the detected subplatform and reset the subplatform
8724 if it doesn't.
8725
84beb0ee
VS
87262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8729
1227c133
VS
87302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 Fix PCI iterating on functions >= 4.
8733
8734 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8735 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8736 Removed.
8737 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8738 (grub_pci_read): Fix bitmask.
8739 (grub_pci_read_word): Likewise.
8740 (grub_pci_read_byte): Likewise.
8741 (grub_pci_write): Likewise.
8742 (grub_pci_write_word): Likewise.
8743 (grub_pci_write_byte): Likewise.
8744
9594c689
VS
87452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8748 can still be specified in TARGET_CFLAGS)
8749
14a2562c
VS
87502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8753
8754 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8755 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8756 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8757 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8758 (FULOONG): Rename to ...
8759 (FULOONG2F): ... this. All users updated.
8760 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8761 (machtype_fuloong2f_str): ... this.
8762 (machtype_fuloong2e_str): New string.
8763 Check for machtype_fuloong2e_str.
8764 * grub-core/loader/mips/linux.c (loongson_machtypes)
8765 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8766 * grub-core/term/serial.c (loongson_defserial)
8767 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8768 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8769 loongson_defserial.
8770 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8771 Rename to ...
8772 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8773 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8774 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8775 to IMAGE_FULOONG2F_FLASH. All users updated.
8776 (image_targets): Rename images.
8777 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8778
b526cbb6
SJ
87792011-08-19 Szymon Janc <szymon@janc.net.pl>
8780
8781 Make enable of disk cache statistics code configurable.
8782
8783 * configure.ac: --enable-cache-stats added.
8784 * config.h.in (DISK_CACHE_STATS): New define.
8785 * grub-core/Makefile.core.def (cacheinfo): New command.
8786 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8787 * grub-core/commands/cacheinfo.c: New file.
8788 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8789 moved to cacheinfo.c.
8790 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8791 debug code.
8792 * include/grub/disk.h: Likewise.
8793
fb739ccd
SJ
87942011-08-19 Szymon Janc <szymon@janc.net.pl>
8795
8796 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8797 * grub-core/Makefile.am: Likewise.
8798
2bba8cfd
VS
87992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8802 non-zero pull.
8803
43526629
VS
88042011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8807 All users updated.
8808 (grub_jfs_lookup_symlink): Use correct starting inode.
8809
5c144cc8
VS
88102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * util/grub-setup.c (main): Add missing gcry initialisation.
8813
b1257f65
VS
88142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 Don't accept text modes on EFI when booting Linux.
8817
8818 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8819 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8820
828bc390
ML
88212011-08-15 Mario Limonciello <mario_limonciello@dell.com>
88222011-08-15 Colin Watson <cjwatson@ubuntu.com>
8823
8824 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8825 use of "/path/.." as in grub-install for EFI as well as handling
8826 symlinks correctly.
8827 Fixes Debian bug #637768.
8828
5f60ccac
CW
88292011-08-15 Colin Watson <cjwatson@ubuntu.com>
8830
8831 * util/grub-probe.c: Remove duplicate #include.
8832
6dc212f9
RM
88332011-08-10 Robert Millan <rmh@gnu.org>
8834
8835 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8836
8837 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8838 function.
8839 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8840 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8841
66816d85
RM
88422011-08-03 Robert Millan <rmh@gnu.org>
8843
8844 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8845 la_array as packed.
8846 Reported by: Zachary Bedell
8847
20168fca
CW
88482011-07-26 Colin Watson <cjwatson@ubuntu.com>
8849
8850 * configure.ac: The Loongson port requires grub-mkfont due to its
8851 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8852 be built.
8853
303b6246
CW
88542011-07-26 Colin Watson <cjwatson@ubuntu.com>
8855
8856 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8857 processing arguments (otherwise help2man fails when GRUB has not yet
8858 been installed).
8859
6795300e
VS
88602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8861
41aa28ea
VS
8862 New script grub-mkstandalone.
8863
8864 * Makefile.util.def (grub-mkstandalone): New script.
8865 * docs/man/grub-mkstandalone.h2m: New file.
8866 * util/grub-mkstandalone.in: Likewise.
8867
88682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 Support ATA disks with 4K sectors.
6795300e
VS
8871
8872 * include/grub/ata.h (grub_ata): New member log_sector_size.
8873 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8874 (grub_ata_identify): Read sector size.
8875 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8876
92227597
VS
88772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * util/grub-install.in: Don't use uhci outside of x86.
8880
c77069f5
VS
88812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * util/grub-mkrescue.in: Add missing quotes.
8884
88852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8886
8887 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8888 dereference.
8889
583168a2
VS
88902011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8893
6be1c01f
VS
88942011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * include/grub/video.h: add missing EXPORT_FUND on
8897 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8898
a1167439
VS
88992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * include/grub/mips/kernel.h: Fix define conflict.
8902
bf66054f
VS
89032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8906 all four ways.
8907
8fc4fa45
CW
89082011-07-21 Colin Watson <cjwatson@ubuntu.com>
8909
8910 Preferred resolution detection for VBE.
8911
8912 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8913 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8914 the Flat Panel extension, in line with the X.org VESA driver.
8915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8916 New function.
8917 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8918 (grub_vbe_bios_read_edid): Likewise.
8919 (grub_vbe_get_preferred_mode): Likewise.
8920 (grub_video_vbe_setup): When the mode is "auto", try to get the
8921 preferred mode from VBE, and use the largest mode that is no larger
8922 than the preferred mode (some BIOSes expose a preferred mode that is
8923 not in their mode list!). If this fails, fall back to 640x480 as a
8924 safe conservative choice.
8925 (grub_video_vbe_get_edid): New function.
8926 (grub_video_vbe_adapter): Add get_edid.
8927 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8928 (struct grub_video_adapter): Add get_edid.
8929 (grub_video_edid_checksum): Add prototype.
8930 (grub_video_edid_preferred_mode): Likewise.
8931 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8932 structure.
8933
8934 * grub-core/commands/videoinfo.c (print_edid): New function.
8935 (grub_cmd_videoinfo): Print EDID if available.
8936
8937 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8938 is more appropriate on a wider range of platforms than 640x480.
8939 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8940 documentation.
8941
ca5572a9
VS
89422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8945
e4bcf625
VS
89462011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * po/POTFILES.in: Regenerate.
8949
c4edd548
VS
89502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8953 incorrect memory usage.
8954
16a2bab0
VS
89552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * util/grub-install.in: Source grub-mkconfig_lib.
8958
2e418de6
VS
89592011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Remove getroot.c from core on emu platform.
8962
8963 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8964 kern/emu/raid.c.
8965 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8966 useless.
8967 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8968 * util/getroot.c (get_win32_path): ... here.
8969 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8970 * util/getroot.c (fini_libzfs): ... here.
8971 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8972 * util/getroot.c (grub_get_libzfs_handle): ... here.
8973 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8974 Moved from here...
8975 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8976 * grub-core/kern/emu/misc.c
8977 (grub_make_system_path_relative_to_its_root): Moved from here...
8978 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8979 * grub-core/kern/emu/getroot.c: Moved from here ...
8980 * util/getroot.c: ... here. All users updated.
8981 * grub-core/kern/emu/raid.c: Moved from here ...
8982 * util/raid.c: ... here. All users updated.
8983
def9832a
VS
89842011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * po/POTFILES.in: Regenerate.
8987
cd8fe79a
VS
89882011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 Fix compilation on GNU/Linux.
8991
8992 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8993 Disable geli.
8994 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8995 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8996 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8997
a251b719
VS
89982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
89992011-07-07 Michael Gorven <michael@gorven.za.net>
90002011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9001
9002 LUKS and GELI support.
9003
9004 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9005 grub-core/disk/luks.c, grub-core/disk/geli.c,
9006 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9007 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9008 grub-core/lib/arg.c.
9009 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9010 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9011 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9012 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9013 (grub-bin2h): Add libgcry.a.
9014 (grub-mkimage): Likewise.
9015 (grub-mkrelpath): Likewise.
9016 (grub-script-check): Likewise.
9017 (grub-editenv): Likewise.
9018 (grub-mkpasswd-pbkdf2): Likewise.
9019 (grub-pe2elf): Likewise.
9020 (grub-fstest): Likewise.
9021 (grub-mkfont): Likewise.
9022 (grub-mkdevicemap): Likewise.
9023 (grub-probe): Likewise.
9024 (grub-ofpath): Likewise.
9025 (grub-mklayout): Likewise.
9026 (example_unit_test): Likewise.
9027 (grub-menulst2cfg): Likewise.
9028 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9029 * grub-core/Makefile.core.def (cryptodisk): New module.
9030 (luks): Likewise.
9031 (geli): Likewise.
9032 * grub-core/disk/AFSplitter.c: New file.
9033 * grub-core/disk/cryptodisk.c: Likewise.
9034 * grub-core/disk/geli.c: Likewise.
9035 * grub-core/disk/luks.c: Likewise.
9036 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9037 grub_util_is_lvm.
9038 (grub_util_get_dm_abstraction): New function.
9039 (grub_util_follow_gpart_up): Likewise.
9040 (grub_util_get_geom_abstraction): Likewise.
9041 (grub_util_get_dev_abstraction): Use new functions.
9042 (grub_util_pull_device): Pull GELI and LUKS.
9043 (grub_util_get_grub_dev): Handle LUKS and GELI.
9044 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9045 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9046 (follow_geom_up): Removed.
9047 (grub_util_fd_seek): New function.
9048 (open_device): Use grub_util_fd_seek.
9049 (nread): Rename to ..
9050 (grub_util_fd_read): ... this. All users updated.
9051 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9052 (grub_crypto_cbc_decrypt): Likewise.
9053 (grub_crypto_hmac_write): Likewise.
9054 (grub_crypto_hmac_buffer): Likewise.
9055 (grub_password_get): Extend to util.
9056 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9057 New member modname.
9058 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9059 * include/grub/cryptodisk.h: New file.
9060 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9061 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9062 LUKS and GELI.
9063 (grub_util_follow_gpart_up): New proto.
9064 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9065 (grub_util_fd_read): Likewise.
9066 (grub_cryptodisk_cheat_mount): Likewise.
9067 (grub_util_cryptodisk_print_uuid): Likewise.
9068 (grub_util_get_fd_sectors): Likewise.
9069 * util/grub-fstest.c (mount_crypt): New var.
9070 (fstest): Mount crypto if requested.
9071 (options): New option -C.
9072 (argp_parser): Parse -C.
9073 (main): Init and fini gcry.
9074 * util/grub-install.in: Support cryptodisk install.
9075 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9076 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9077 cryptodisk.
9078 (prepare_grub_to_access_device): Likewise.
9079 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9080 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9081 (probe_cryptodisk_uuid): New function.
9082 (probe_abstraction): Likewise.
9083 (probe): Use new functions.
9084 * util/import_gcry.py: Create Makefile.utilgcry.def.
9085 Add modname member.
9086
9bfdcbbc
VS
90872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 Lazy device scanning.
9090
9091 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9092 (grub-setup): Remove util/raid.c.
9093 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9094 * grub-core/disk/lvm.c (scan_depth): New variable.
9095 (grub_lvm_iterate): Rescan if necessary.
9096 (find_lv): New function based on grub_lvm_open.
9097 (grub_lvm_open): Use find_lv. Rescan on error.
9098 (is_node_readable): New function.
9099 (is_lv_readable): Likewise.
9100 (grub_lvm_scan_device): Skip already found disks.
9101 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9102 Stop if searched device is found and readable.
9103 * grub-core/disk/raid.c (inscnt): New variable.
9104 (scan_depth): Likewise.
9105 (scan_devices): New function based on grub_raid_register. Abort if
9106 looked for device is found.
9107 (grub_raid_iterate): Rescan if needed.
9108 (find_array): NEw function based on -grub_raid_open.
9109 (grub_raid_open): Use find_array and rescan.
9110 (insert_array): Set became_readable_at.
9111 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9112 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9113 New function.
9114 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9115 (grub_util_pull_device): New function.
9116 (grub_util_get_grub_dev): Call grub_util_pull_device.
9117 * util/raid.c: Moved to ..
9118 * grub-core/kern/emu/raid.c: ... here.
9119 (grub_util_raid_getmembers): New parameter "bootable".
9120 All users updated. Support 1.x.
9121 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9122 All users updated.
9123 * include/grub/disk.h (grub_disk_pull_t): New enum.
9124 (grub_disk_dev): Change iterate prototype.
9125 All users updated.
9126 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9127 New proto.
9128 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9129 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9130 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9131 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9132 All users updated.
9133 * include/grub/util/raid.h: Removed.
9134
1c358e59
VS
91352011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * po/POTFILES.in: Regenerate.
9138
abee94ed
VS
91392011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Unify sparc init with other ieee1275.
9142
9143 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9144 instead of kern/sparc64/ieee1275/init.c.
9145 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9146 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9147 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9148 grub/machine/kernel.h.
9149 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9150 (grub_claim_heap) [__sparc__]: Use sparc version.
9151 (grub_machine_init): Moved args parsing to
9152 (grub_parse_cmdline): ...this.
9153 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9154 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9155 New definition.
9156 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9157
9158 Move BOOTP to separate file.
9159
9160 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9161 * grub-core/net/net.c: Move all BOOTP functions to
9162 * grub-core/net/bootp.c: ... here.
9163
9164 Use frame interface on PXE.
9165
9166 * grub-core/Makefile.core.def (pxecmd): Removed.
9167 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9168 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9169 * grub-core/i386/pc/pxe.c: Moved from here ...
9170 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9171 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9172 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9173
9174 EFI network support.
9175
9176 * grub-core/Makefile.core.def (efinet): New module.
9177 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9178 here...
9179 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9180 All users updated.
9181 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9182 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9183 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9184 * grub-core/net/drivers/efi/efinet.c: New file.
9185 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9186 (grub_efi_net_config): New extern var.
9187
9188 Various cleanups and bugfixes.
9189
9190 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9191 error.
9192 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9193 disk declared as partition.
9194 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9195 leak on failure.
9196 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9197 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9198 (grub_debug_zalloc): Likewise.
9199 (grub_debug_realloc): Likewise.
9200 (grub_debug_memalign): Likewise.
9201 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9202 Check that target is IPv4.
9203 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9204 local-mac-address as fallback.
9205 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9206 memory leak.
9207 * grub-core/net/ip.c (ipchksum): Rename to ...
9208 (grub_net_ip_chksum): ... this. All users updated.
9209 (grub_net_recv_ip_packets): Special handling for DHCP.
9210 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9211
9212 Unify prefix handling
9213
9214 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9215 (grub_machine_get_bootlocation): ... this.
9216 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9217 (grub_machine_get_bootlocation): ... this.
9218 (grub_prefix): New variable.
9219 (prefix): Removed.
9220 (root_dev): New variable.
9221 (dir): Likewise.
9222 (main): Use new variables.
9223 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9224 Revamped into ...
9225 (grub_machine_get_bootlocation): ... this.
9226 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9227 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9228 (grub_machine_get_bootlocation): ... this.
9229 (grub_machine_set_prefix): Removed.
9230 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9231 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9232 Revamped into ...
9233 (grub_machine_get_bootlocation): ... this.
9234 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9235 (grub_set_prefix_and_root): ... this. All users updated.
9236 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9237 Revamped into ...
9238 (grub_machine_get_bootlocation): ... this.
9239 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9240 (grub_machine_get_bootlocation): New proto.
9241 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9242
9243 Less intrusive and more reliable seek on network implementation.
9244
9245 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9246 (grub_file_seek): Don't call grub_file_net_seek.
9247 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9248 (grub_net_fs_read_real): .. this.
9249 (grub_net_seek_real): Use net->offset.
9250 (grub_net_fs_read): Seek if necessary.
9251
9252 Unify IEEE1275 netwotk config with the other platforms.
9253
9254 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9255 New variable.
9256 (grub_machine_get_bootlocation): Support network.
9257 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9258 Support type and device parsing.
9259 (grub_ieee1275_get_device_type): New function.
9260 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9261 into ...
9262 (grub_ieee1275_net_config_real): ... this.
9263 (grub_ofnet_probecards): Removed.
9264 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9265 * include/grub/ieee1275/ofnet.h: Removed.
9266 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9267 extern var.
9268 (grub_ieee1275_get_device_type): New function.
9269
9270 Unify network device closing across platforms and make more robust.
9271
9272 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9273 grub_grubnet_fini.
9274 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9275 already.
9276 * grub-core/net/net.c (grub_net_network_level_interface_register):
9277 Update num_ifaces.
9278 (grub_net_card_unregister): Close all interfaces.
9279 (receive_packets): Don't poll if no iterfaces are registered.
9280 Open if necessary.
9281 (grub_net_fini_hw): New function.
9282 (grub_net_restore_hw): Likewise.
9283 (fini_hnd): New variable.
9284 (GRUB_MOD_INIT): Register preboot hook.
9285 (GRUB_MOD_FINI): Run and unregister preboot hook.
9286
9287 Poll network cards when idle.
9288
9289 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9290 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9291 * grub-core/net/net.c (receive_packets): Save last poll time.
9292 (grub_net_poll_cards_idle_real): New function.
9293 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9294 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9295 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9296
9297 Rename ofnet interfaces.
9298
9299 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9300 (grub_ofnet_findcards): Use ofnet_%s names.
9301
9302 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9303
9304 Cleanup socket opening.
9305
9306 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9307 (grub_net_fs_close): Likewise.
9308 (grub_net_fs_read_real): Use eof member.
9309 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9310 (+grub_net_udp_close): New inline function.
9311
9312 * include/grub/net/tftp.h: Moved to the top of ...
9313 * grub-core/net/tftp.c: ... here.
9314 * include/grub/net/ip.h: Moved mostly to the top of ...
9315 * grub-core/net/ip.c: ... here.
9316 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9317 * grub-core/net/ethernet.c: ... here.
9318
9319 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9320
9321 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9322 FS name.
9323
9324 * include/grub/net/ip.h (ipv4_ini): Removed.
9325 (ipv4_fini): Likewise.
9326
9327 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9328 (grub_net_send_ip_packets): Likewise.
9329
cf1337aa
VS
93302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9333 grub_read_cmos prototype.
9334
93c06ff9
VS
93352011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 VGA text support in qemu-mips
9338
9339 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9340 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9341 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9342 text.
9343 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9344 * grub-core/kern/vga_init.c: ... this.
9345 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9346 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9347 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9348 Adjust.
9349 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9350 GRUB_MACHINE_PCI_IO_BASE.
9351
748ccabe
VS
93522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 MIPS qemu flash support.
9355
9356 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9357 magic.
9358 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9359 (grub_machine_init): Probe memory if its size isn't known.
9360 * util/grub-mkimage.c (image_targets): Add flash targets.
9361 (generate_image): Handle flash targets.
9362
d7345994
VS
93632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 MIPS qemu at_keyboard support.
9366
9367 * gentpl.py (videoinkernel): Add qemu-mips.
9368 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9369 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9370 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9371 modules.
9372 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9373 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9374 * grub-core/term/serial.c (grub_serial_register)
9375 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9376
a07a81b3
VS
93772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 CMOS support on sparc.
9380
9381 * gentpl.py (cmos): Add powerpc and sparc.
9382 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9383 powerpc and sparc.
9384 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9385 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9386 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9387 grub_set_datetime_cmos.
9388 * grub-core/lib/ieee1275/cmos.c: New file.
9389 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9390 (find_rtc): Set no_ieee1275_rtc on error.
9391 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9392 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9393 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9394 fail. Move value to argument. All users updated
9395 (grub_cmos_write): Likewise.
9396 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9397 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9398 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9399 grub_get_datetime_cmos and grub_set_datetime_cmos.
9400
77546584
GS
94012011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9402
9403 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9404 sourcing grub-mkconfig_lib.
9405 * util/update-grub_lib.in: Likewise.
9406 * util/grub.d/00_header.in: Likewise.
9407 * util/grub.d/10_hurd.in: Likewise.
9408 * util/grub.d/10_kfreebsd.in: Likewise.
9409 * util/grub.d/10_linux.in: Likewise.
9410 * util/grub.d/10_netbsd.in: Likewise.
9411 * util/grub.d/10_windows.in: Likewise.
9412 * util/grub.d/20_linux_xen.in: Likewise.
9413 * util/grub.d/30_os-prober.in: Likewise.
9414
54894791
CW
94152011-06-28 Colin Watson <cjwatson@ubuntu.com>
9416
9417 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9418 default_bg_color rather than black.
9419 (grub_gfxterm_fullscreen): Likewise.
9420 (grub_gfxterm_background_color_cmd): Save new background color in
9421 default_bg_color.
9422
8d5d8444
VS
94232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9426
5afeb5bd
VS
94272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9430 mismerge.
9431
ba7df45e
VS
94322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 Chainloading on coreboot support.
9435
9436 * grub-core/Makefile.core.def (chain): Add coreboot.
9437 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9438
d0b526b2
VS
94392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9442 if it happens.
9443
5ff1d945
VS
94442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Implement time command.
9447
9448 * grub-core/Makefile.core.def (time): New module.
9449 * grub-core/commands/time.c: New file.
9450 * grub-core/script/parser.y: Remove "time" keyword.
9451 * grub-core/script/yylex.l: Likewise.
9452
5ebaad7e
VS
94532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9456
bdea3798
VS
94572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9460 when handling leftovers.
9461
b28c5655
VS
94622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9465 so that help2man doesn't fail.
9466
b6f945dc
VS
94672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9470 type in pointers on sparc64.
9471 (get_card_packet): Likewise.
9472
f9b75e8a
CW
94732011-06-27 Colin Watson <cjwatson@ubuntu.com>
9474
9475 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9476 with `*'.
9477 (grub_cmd_videoinfo): Fetch current video mode.
9478
1e3d9b86
VS
94792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9482 because of underlying system restrictions.
9483
efff4b1c
VS
94842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9487 necessary.
9488
9fc9ce37
VS
94892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 Coreboot video support.
9492
9493 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9494 (vbe): Likewise.
9495 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9496 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9497 here ...
9498 * grub-core/kern/i386/int.S: ... here.
9499 * grub-core/video/i386/pc/vbe.c: Updated includes.
9500 * grub-core/video/i386/pc/vga.c: Likewise.
9501 * include/grub/i386/coreboot/memory.h
9502 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9503 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9504 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9505 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9506 Disable interrupts.
9507 * include/grub/i386/pc/vga.h: Removed. All users updated.
9508
41bec7fe
VS
95092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9512 definitions for dprintf.
9513 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9514
ca80309d
VS
95152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9518 prototype.
9519 (get_card_packet): Likewise.
9520
9e322ce8
YB
95212011-06-26 Yves Blusseau <blusseau@zetam.org>
9522
9523 Display the path of the file when file is not found
9524
9525 * grub-core/fs/fat.c: Display the filename when file is not found.
9526 * grub-core/fs/fshelp.c: Likewise.
9527 * grub-core/fs/hfs.c: Likewise.
9528 * grub-core/fs/jfs.c: Likewise.
9529 * grub-core/fs/minix.c: Likewise.
9530 * grub-core/fs/ufs.c: Likewise.
9531 * grub-core/fs/btrfs.c: Likewise.
9532 * grub-core/commands/i386/pc/play.c: Likewise.
9533
cbf597af
SJ
95342011-06-26 Szymon Janc <szymon@janc.net.pl>
9535
9536 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9537 pointer checks before calling grub_free().
9538 * grub-core/commands/wildcard.c (match_devices): Likewise.
9539 * grub-core/commands/wildcard.c (match_files): Likewise.
9540 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9541 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9542 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9543 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9544 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9545 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9546 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9547 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9548 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9549
6295b32f
P
95502011-06-25 Patrick <p55@mailinator.com>
9551
9552 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9553
77c0840b
VS
95542011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9557 (grub_pxe_send): Likewise.
9558 (GRUB_MOD_INIT): Fix types.
9559
40ea05de
SJ
95602011-06-24 Szymon Janc <szymon@janc.net.pl>
9561
9562 * grub-core/io/xzio.c: Fix code style issues
9563
90162423
MRA
95642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
95652011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9566
9567 Network infrastructure.
9568 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9569
9570 * include/grub/net/arp.h: New file.
90162423
MRA
9571 * include/grub/net/device.h: Likewise.
9572 * include/grub/net/ethernet.h: Likewise.
9573 * include/grub/net/ip.h: Likewise.
9574 * include/grub/net/netbuff.h: Likewise.
9575 * include/grub/net/tftp.h: Likewise.
9576 * include/grub/net/udp.h: Likewise.
9577 * include/grub/ieee1275/ofnet.h: Likewise.
9578 * include/grub/emu/export.h: Likewise.
9579 * include/grub/net.h: Likewise.
9580 * grub-core/net/arp.c: Likewise.
9581 * grub-core/net/ethernet.c: Likewise.
9582 * grub-core/net/ip.c: Likewise.
9583 * grub-core/net/udp.c: Likewise.
9584 * grub-core/net/tftp.c: Likewise.
9585 * grub-core/net/netbuff.c: Likewise.
9586 * grub-core/net/net.c: Likewise.
9587 * grub-core/net/drivers/emu/emunet.c: Likewise.
9588 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9589 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9590 export.h.
9591 * grub-core/Makefile.core.def (net): New module.
9592 (tftp): Likewise.
9593 (ofnet): Likewise.
9594 (emunet): Likewise.
9595 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9596 network protocols.
9597 * grub-core/kern/device.c (grub_net_open) : New variable.
9598 (grub_device_open): Handle network device.
9599 (grub_device_close): Likewise.
9600 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9601 (grub_grubnet_fini): Likewise.
9602 (grub_file_seek): Seek in network device.
9603 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9604 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9605 network root.
9606 (grub_machine_fini): Call grub_grubnet_fini.
9607 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9608 network.
9609 (grub_ieee1275_get_aliasdevname): New function.
9610 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9611 Add unofficial Solaris network info.
9612 (grub_multiboot_make_mbi): Likewise.
9613 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9614 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9615 * include/grub/device.h (grub_fs): Removed.
9616 * include/grub/err.h (grub_err_t): Add network-related values.
9617 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9618 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9619 (grub_ieee1275_get_aliasdevname): New proto.
9620 * include/grub/net.h: Rewritten.
423a1849 9621
031f22a0
VS
96222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9625 names.
9626
4388ca72
VS
96272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9630 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9631 it truncates the output.
9632 Reported by: Ximin Luo.
9633
98e2f506
VS
96342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9637
2a5e94d8
VS
96382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9641 partmap before abstraction.
9642
535c1910
AK
96432011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9644
9645 * util/grub-mkconfig_lib.in: Add missing quotes.
9646
bc09e1a2
VS
96472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9650 old method if mountinfo would return /dev/root and /dev/root doesn't
9651 exist.
9652
290766fb
VS
96532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 ZFS zlib support
9656
9657 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9658 (decomp_table): Add zlib entries.
9659 (zio_read): USe 8 bits for compression function rather than 3.
9660 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9661
96622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/disk/ahci.c: Add missing license statements.
9665 * grub-core/fs/romfs.c: Likewise.
9666 * grub-core/lib/ia64/setjmp.S: Likewise.
9667 * grub-core/loader/i386/pc/freedos.c: Likewise.
9668 * grub-core/loader/ia64/efi/linux.c: Likewise.
9669 * grub-core/video/colors.c: Likewise.
9670 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9671
5ab3f48a
VS
96722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 AHCI support.
9675
9676 * grub-core/Makefile.core.def (ata_pthru): Removed.
9677 (ahci): New module.
9678 (pata): Likewise.
9679 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9680 on unload.
9681 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9682 readwrite.
9683 (grub_hdparm_do_check_powermode_cmd): Likewise.
9684 (grub_hdparm_do_smart_cmd): Likewise.
9685 (grub_hdparm_set_val_cmd): Likewise.
9686 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9687 * grub-core/disk/ahci.c: New file.
9688 * grub-core/disk/ata.c: Factor out the low-level part into ...
9689 * grub-core/disk/pata.c: ... here.
9690 * grub-core/disk/ata_pthru.c: Contents moved to ...
9691 * grub-core/disk/pata.c: ... here.
9692 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9693 (grub_scsi_iterate): Use grub_scsi_names.
9694 (grub_scsi_open): Likewise.
9695 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9696 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9697 (grub_ata_regs_t): New struct.
9698 (grub_disk_ata_pass_through_parms): Likewise.
9699 (grub_ata_device): Renamed to ...
9700 (grub_ata): ... this.
9701 (grub_ata_dev): New struct.
9702 Removed all low-level inline functions.
9703 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9704 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9705 iterate hooks and open. All users updated.
9706 * util/grub-install.in: Handle AHCI disk module.
9707
c31dc5f5
SJ
97082011-06-23 Szymon Janc <szymon@janc.net.pl>
9709
9710 Add support for DRI and RSTn markers in JPEG files.
9711
9712 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9713 (JPEG_MARKER_RST0): Likewise.
9714 (JPEG_MARKER_RST1): Likewise.
9715 (JPEG_MARKER_RST2): Likewise.
9716 (JPEG_MARKER_RST3): Likewise.
9717 (JPEG_MARKER_RST4): Likewise.
9718 (JPEG_MARKER_RST5): Likewise.
9719 (JPEG_MARKER_RST6): Likewise.
9720 (JPEG_MARKER_RST7): Likewise.
9721 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9722 (grub_jpeg_decode_dri): New function.
9723 (grub_jpeg_decode_sos): Move image data related part into
9724 grub_jpeg_decode_data function.
9725 (grub_jpeg_decode_data): New function.
9726 (grub_jpeg_reset): New function.
9727 (grub_jpeg_decode_jpeg): Handle new markers.
9728
fe12fd5b
VS
97292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/ieee1275/ofpath.c (check_sas): Close fd.
9732 (main): Free of_path.
9733 Reported by: David Volgyes <dvolgyes>.
9734
03147f46
VS
97352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9738 Reported by: David Volgyes <dvolgyes>.
9739
cad3237f
VS
97402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9743 file after stat.
9744 Reported by: David Volgyes <dvolgyes>.
9745
13548d26
VS
97462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9749
9750 Reported by: David Volgyes <dvolgyes>.
9751
e061a1b5
VS
97522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9755 Prevent memory leak.
9756
1abe47dc
VS
97572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9760 (main): Close file.
e061a1b5 9761 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9762
fbc62666
VS
97632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9766 to continue if allocation is failed.
9767
9768 Reported by: David Volgyes <dvolgyes>.
9769
e98c83e9
DV
97702011-06-23 David Volgyes <dvolgyes>
9771
9772 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9773 dereference.
9774
a199a8cd
VS
97752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 Fix spurious warning.
9778
9779 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9780 (acorn_partition_map_find): Use .bin member.
9781
e2d1dba0
VS
97822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9785 /dev/root as a valid device.
9786
8a5d6919
JM
97872011-06-23 Jim Meyering <meyering@redhat.com>
9788
e2d1dba0
VS
9789 Avoid NULL deref in grub_device_open.
9790
8a5d6919
JM
9791 * grub-core/kern/device.c (grub_device_open): Don't dereference
9792 a NULL pointer upon failed grub_env_get.
9793
f7db6f4a
VS
97942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Support non-512B sectors and agglomerate reads.
9797
9798 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9799 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9800 (disk_io_guid): Removed.
9801 (make_devices): Locate solely by BlockIO.
9802 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9803 (grub_efidisk_read): Use read_blocks.
9804 (grub_efidisk_write): Use write_blocks.
9805 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9806 log_sector_size.
9807 (get_safe_sectors): Handle non-512B sectors.
9808 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9809 sectors.
9810 (grub_biosdisk_write): Handle non-512B sectors.
9811 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9812 (grub_scsi_read): Remove special non-512B block handling (now handled
9813 one level up).
9814 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9815 and do sanity checks.
9816 (grub_disk_adjust_range): Handle non-512B sectors.
9817 (transform_sector): New function.
9818 (grub_disk_read_small): Likewise.
9819 (grub_disk_read): Rewritten.
9820 (grub_disk_write): Handle non-512B sectors.
9821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9822 log_sector_size.
9823 (open_device): Use log_sector_size.
9824 (grub_util_biosdisk_read): Likewise.
9825 (grub_util_biosdisk_write): Likewise.
9826 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9827 non-512B sectors.
9828 (pc_partition_map_embed): Likewise.
9829 * include/grub/disk.h (grub_disk): New field log_sector_size.
9830 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9831 (GRUB_DISK_CACHE_BITS): Increased to 6.
9832 * util/grub-fstest.c (fstest): New command testload.
9833 (argp_parser): Likewise.
9834
881ac815
RM
98352011-06-16 Robert Millan <rmh@gnu.org>
9836
9837 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9838 `ata' driver on kernel of FreeBSD 9.
9839
9840 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9841 (get_ataraid_disk_name): New functions.
9842 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9843 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9844 get_ataraid_disk_name() and get_ada_disk_name().
9845
1e9aef7d
CW
98462011-06-13 Colin Watson <cjwatson@ubuntu.com>
9847
9848 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9849 input format.
9850
351c7c8a
CW
98512011-05-29 Colin Watson <cjwatson@ubuntu.com>
9852
9853 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9854 `ftp.gnu.org' for `alpha.gnu.org'.
9855
6b4e6430
CW
98562011-05-27 Colin Watson <cjwatson@ubuntu.com>
9857
9858 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9859 partitions under /dev/disk/by-id/.
9860
c64db050
CW
98612011-05-27 Colin Watson <cjwatson@ubuntu.com>
9862
9863 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9864 after ten consecutive open failures. Scanning all the way up to
9865 10000 is excessive and can cause serious performance problems in
9866 some configurations.
9867 Fixes Ubuntu bug #787461.
9868
245f4aba
VS
98692011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9872 opening new one.
9873
f767c929
VS
98742011-05-21 Colin Watson <cjwatson@ubuntu.com>
98752011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 Don't stat devices unless we have to.
9878
9879 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9880 dir == /dev/mapper.
9881 (grub_guess_root_device): Use already known os_dev if possible.
9882 * grub-core/kern/emu/hostdisk.c
9883 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9884 if device is known to be a dm one.
9885
f35fa3a6
CW
98862011-05-20 Colin Watson <cjwatson@ubuntu.com>
9887
9888 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9889 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9890 Reported by: Pawel Tecza.
9891
9a79fcf2
VS
98922011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9895 (lsefisystab): Likewise.
9896 (lssal): Likewise.
9897 (lsefimmap): Likewise.
9898 (hdparm): Enable on qemu-mips.
9899 (setjmp): Add ia64 nodist.
9900 (serial): Simplify tags.
9901
63e3eea9
CW
99022011-05-18 Colin Watson <cjwatson@ubuntu.com>
9903
9904 * Makefile.util.def (grub-ofpathname): Install manual page.
9905
09728256
CW
99062011-05-18 Colin Watson <cjwatson@ubuntu.com>
9907
9908 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9909
8b63a142
CW
99102011-05-18 Colin Watson <cjwatson@ubuntu.com>
9911
9912 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9913
e775d8ed
VS
99142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9917 into dprintf.
9918
bf947d36
VS
99192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 Use full 64-bit division.
9922
9923 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9924 (grub_divmod64): ... this.
9925 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9926 version.
9927
b84f26c5
CW
99282011-05-18 Colin Watson <cjwatson@ubuntu.com>
9929
9930 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9931 `source'.
9932
5626056f
CW
99332011-05-18 Colin Watson <cjwatson@ubuntu.com>
9934
9935 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9936 to avoid accidents when debugging with 'sh -x'.
9937 * grub-core/gensyminfo.sh.in: Likewise.
9938 * tests/example_scripted_test.in: Likewise.
9939 * tests/grub_cmd_regexp.in: Likewise.
9940 * tests/grub_script_blanklines.in: Likewise.
9941 * tests/grub_script_dollar.in: Likewise.
9942 * tests/grub_script_expansion.in: Likewise.
9943 * tests/grub_script_final_semicolon.in: Likewise.
9944 * tests/partmap_test.in: Likewise.
9945 * tests/util/grub-shell-tester.in: Likewise.
9946 * tests/util/grub-shell.in: Likewise.
9947
e2965f4a
CW
99482011-05-18 Colin Watson <cjwatson@ubuntu.com>
9949
9950 Move gfxmenu color handling to video, so that gfxterm can use it
9951 too.
9952
9953 * grub-core/gfxmenu/named_colors.c: Move to ...
9954 * grub-core/video/colors.c: ... here. Rename
9955 grub_gui_get_named_color to grub_video_get_named_color.
9956 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9957 * grub-core/video/colors.c (my_isxdigit): ... here.
9958 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9959 Move to ...
9960 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9961 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9962 to ...
9963 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9964
9965 * include/grub/gui.h (grub_gui_color_t): Move to ...
9966 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9967 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9968 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9969 * include/grub/gui.h (grub_gui_map_color): Move to ...
9970 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9971 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9972 to ...
9973 * include/grub/video.h (grub_video_get_named_color): ... here.
9974 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9975 * include/grub/video.h (grub_video_parse_color): ... here.
9976
9977 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9978 video/colors.c.
9979 (gfxmenu): Remove gfxmenu/named_colors.c.
9980 (video) [videomodules]: Add video/colors.c.
9981
9982 Add a background_color command.
9983
9984 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9985 function.
9986 (GRUB_MOD_INIT): Register background_color command.
9987 (GRUB_MOD_FINI): Unregister background_color command.
9988 (redraw_screen_rect): Allow blend/replace of text layer to be
9989 controlled independently from whether there is a background bitmap.
9990 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9991 changing bitmap.
9992
1e4b4390
VS
99932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9994
26618ff0
VS
9995 Patch BPB in ntldr and chainloader --bpb.
9996
1e4b4390
VS
9997 * grub-core/fs/fat.c: Include grub/fat.h.
9998 (grub_fat_bpb): Moved to ...
9999 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10000 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10001 grub/ntfs.h.
10002 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10003 Moved from here...
10004 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10005 here.
10006 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10007 New function.
10008 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10009 (GRUB_MOD_INIT): Show --bpb.
10010 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10011 * grub-core/normal/main.c (features): New variable.
10012 (GRUB_MOD_INIT): Set feature_* variables.
10013 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10014 proto.
10015 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10016
cf02731e
VS
100172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10020 for cleanness.
10021
e3a1073f
VS
100222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 FreeDOS direct loading support.
10025
10026 * docs/grub.texi (Supported OS): Add FreeDOS.
10027 * grub-core/Makefile.core.def (freedos): New module.
10028 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10029 variable.
10030 (grub_relocator16_boot): Handle %ebx.
10031 * grub-core/lib/i386/relocator16.S: Likewise.
10032 * grub-core/loader/i386/pc/freedos.c: New file.
10033
05caa461
VS
100342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 Long Linux command line support.
10037
10038 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10039 (maximal_cmdline_size): New variable.
10040 (allocate_pages): Use maximal_cmdline_size.
10041 (grub_cmd_linux): Set and use maximal_cmdline_size.
10042 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10043 (allocate_pages): Use maximal_cmdline_size.
10044 (grub_cmd_linux): Set and use maximal_cmdline_size.
10045 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10046 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10047 and cmdline_size.
10048
a2491e23
VS
100492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
100502011-05-18 Colin Watson <cjwatson@ubuntu.com>
10051
10052 Improve devmapper support
10053
10054 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10055 (grub_util_is_lvm): New function.
10056 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10057 than lvm if not dmraid.
10058 Handle mapped md nodes.
10059 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10060 (grub_util_device_is_mapped): ... this. Make always available. All users
10061 updated.
10062 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10063 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10064 dmraid nodes.
10065 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10066
6ad6223e
VS
100672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10070
10071 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10072 * grub-core/modinfo.sh.in: New file.
10073 * grub-core/Makefile.core.def (modinfo.sh): New script.
10074 * util/grub-mknetdir.in: Use modinfo.sh.
10075 * util/grub-mkrescue.in: Likewise.
10076
543a8f6e
VS
100772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10080 Fix potential usage of Elf32 instead of Elf64 when compiling on
10081 32-bit architecture. Add endianness macros while on it.
10082
4959e111
VS
100832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 Use mipsel- rather than mips- in directories involving mipsel ports to
10086 allow both endiannesses coexist.
10087
10088 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10089 mips. All conditions adjusted.
10090 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10091 variable.
10092 * util/grub-install.in: Adjust conditions to take renaming into account.
10093 * util/grub-mkimage.c (image_targets): Likewise. New target
10094 mips-qemu_mips-elf for bigendian mips.
10095
35341bbc
VS
100962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 Avoid unnecessary copying on MIPS.
10099
10100 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10101 early if src == dest.
10102 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10103 compression is none.
10104
b772baed
VS
101052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 Reduce memory footprint on SGI by putting modules before the kernel
10108 as opposed to after.
10109
10110 * grub-core/Makefile.core.def (kernel): Increase linking address.
10111 (none_decompress): Likewise.
10112 (xz_decompress): Likewise.
10113 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10114 address.
10115 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10116 layout change.
10117 (grub_arch_modules_addr): New function.
10118 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10119 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10120 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10121 here.
10122 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10123 (grub_total_modules_size): ... this. Make global.
10124 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10125 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10126 New definition.
10127 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10128 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10129 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10130 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10131 * util/grub-mkimage.c (image_target_desc): New flag
10132 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10133 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10134 (generate_image): Handle images with modules before kernel.
10135
566a1917
VS
101362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Prevent potential loss of memory map by overwrite on qemu-mips.
10139
10140 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10141 Save ram size in $s4.
10142 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10143 All users changed to grub_arch_memsize.
10144 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10145 Loongson.
10146 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10147 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10148 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10149 external variable.
10150
5d420cd9
CW
101512011-05-17 Colin Watson <cjwatson@ubuntu.com>
10152
10153 * .bzrignore: Remove grub-dumpbios.
10154
d064b830
CW
101552011-05-17 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10158 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10159 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10160 existing options which append).
10161 * docs/grub.texi (Simple configuration): Document new options.
10162 Reported by: Ian Jackson. Fixes Debian bug #617538.
10163
3ca2b466
CW
101642011-05-17 Colin Watson <cjwatson@ubuntu.com>
10165
10166 * util/grub-fstest.c (cmd_cat): New function.
10167 (fstest): Handle CMD_CAT.
10168 (options): Add cat.
10169 (argp_parser): Handle cat.
10170
24c9143a
CW
101712011-05-17 Colin Watson <cjwatson@ubuntu.com>
10172
10173 * Makefile.util.def (grub-bin2h): Don't install.
10174 * docs/man/grub-bin2h.h2m: Remove.
10175
90f7ac19
VS
101762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10179 place.
10180
8d4a5178
VS
101812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 Reenable qemu-mips port.
10184
10185 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10186 Fix small arc bug while on it.
10187 * gentpl.py: Handle qemu_mips.
10188 * grub-core/Makefile.am: Likewise.
10189 * grub-core/Makefile.core.def: Likewise.
10190 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10191 inappropriate includes.
10192 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10193 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10194 * grub-core/kern/main.c (grub_modules_get_end)
10195 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10196 * grub-core/kern/mips/qemu-mips: Moved to ..
10197 * grub-core/kern/mips/qemu_mips: ... this.
10198 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10199 (grub_machine_init): Call terminfo_init and serial_init.
10200 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10201 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10202 New variable.
10203 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10204 parameter passing.
10205 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10206 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10207 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10208 * include/grub/mips/qemu_mips/cmos.h: New file.
10209 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10210 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10211 Removed.
10212 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10213 Use correct mips-style address.
10214 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10215 (GRUB_TICKS_PER_SECOND): Removed.
10216 (grub_get_rtc): Likewise.
10217 (grub_cpu_idle): Likewise.
10218 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10219 New definition.
10220 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10221 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10222 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10223 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10224 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10225 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10226 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10227 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10228
400b9371
VS
102292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 SGI ARCS port.
10232
10233 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10234 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10235 platforms.
10236 * configure.ac: New target mips-arc.
10237 * gentpl.py: Likewise.
10238 * grub-core/Makefile.am: Likewise.
10239 * grub-core/Makefile.core.def: Likewise.
10240 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10241 (none_decompress): Likewise.
10242 (lsdev): New module.
10243 (datetime): Use lib/arc/datetime.c on ARC.
10244 (part_dvh): New module.
10245 * grub-core/commands/arc/lsdev.c: New file.
10246 * grub-core/disk/arc/arcdisk.c: Likewise.
10247 * grub-core/kern/mips/arc/init.c: Likewise.
10248 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10249 aligned addresses.
10250 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10251 support.
10252 (grub_arch_dl_relocate_symbols): Likewise.
10253 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10254 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10255 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10256 platforms.
10257 * grub-core/lib/arc/datetime.c: New file.
10258 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10259 pci.h on non-loongson.
10260 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10261 (grub_linux_boot): Set unused registers to 0.
10262 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10263 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10264 * grub-core/mmap/mips/uppermem.c: ...here.
10265 * grub-core/partmap/dvh.c: New file.
10266 * grub-core/term/arc/console.c: Likewise.
10267 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10268 (grub_terminfo_set_current): Add terminal "arc".
10269 (grub_terminfo_readkey): Support ARC sequences.
10270 * include/grub/arc/arc.h: New file.
10271 * include/grub/arc/console.h: Likewise.
10272 * include/grub/disk.h (grub_disk_dev_id): Add
10273 GRUB_DISK_DEVICE_ARCDISK_ID.
10274 * include/grub/mips/arc/kernel.h: New file.
10275 * include/grub/mips/arc/memory.h: Likewise.
10276 * include/grub/mips/arc/time.h: Likewise.
10277 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10278 * include/grub/mips/kernel.h (grub_halt): ... here.
10279 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10280 here...
10281 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10282 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10283 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10284 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10285 proto.
10286 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10287 from here ...
10288 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10289 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10290 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10291 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10292 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10293 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10294 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10295 (grub_phys_addr_t): Moved from here ...
10296 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10297 (grub_vtop): Moved from here ...
10298 * include/grub/mips/memory.h (grub_vtop): ... here.
10299 (grub_map_memory): Moved from here ...
10300 * include/grub/mips/memory.h (grub_map_memory): ... here.
10301 (grub_unmap_memory): Moved from here ...
10302 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10303 (grub_machine_mmap_iterate): Moved from here ...
10304 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10305 (grub_mmap_get_lower): Moved from here ...
10306 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10307 (grub_mmap_get_upper): Moved from here ...
10308 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10309 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10310 here ...
10311 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10312 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10313 here ...
10314 * include/grub/mips/time.h (grub_get_rtc): ... here.
10315 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10316 here ...
10317 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10318 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10319 here ...
10320 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10321 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10322 definition.
10323 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10324 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10325 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10326 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10327 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10328 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10329 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10330 (GRUB_MACHINE_LINK_ADDR): Likewise.
10331 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10332 to 6.
10333 * util/grub-install.in: Run dvhtool on ARC.
10334 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10335 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10336
c8ecc840
VS
103372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10340 blocks.
10341
153a4b55
VS
103422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10345 after enabling port.
10346
ff44d107
VS
103472011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Skip incorrect USB devices.
10350
10351 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10352 configcnt == 0.
10353 * include/grub/usb.h (grub_usb_err_t): New enum value
10354 GRUB_USB_ERR_BADDEVICE.
10355
638dbe4f
VS
103562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 Fuloong video init support.
10359
10360 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10361 well.
10362 (grub_vga_read_arx): New function.
10363 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10364 definition.
10365 (framebuffer): New members io, mmioptr and mmiobase.
10366 (read_sis_cmd): New function.
10367 (write_sis_cmd): Likewise.
10368 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10369 rather than 640x400.
10370 * grub-core/video/sis315_init.c: New file.
10371
c3fc520c
VS
103722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10375 non-loongson.
10376 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10377 to grub_dl_register_symbol.
10378
67b1e5c9
VS
103792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Fix compilation errors.
10382
10383 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10384 potentially unused.
10385 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10386 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10387 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10388 to loongson machines.
10389
b756f75f
VS
103902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 Several FS mtime support.
10393
10394 * grub-core/fs/affs.c (grub_affs_time): New struct.
10395 (grub_affs_file): New field mtime.
10396 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10397 type. Removed 'size'. New field 'di'. All users updated.
10398 (grub_affs_mount): Simplify checsum checking.
10399 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10400 (grub_affs_dir): Handle mtime.
10401 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10402 (grub_cpio_dir): Likewise.
10403 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10404 (grub_hfs_filerec): New field mtime.
10405 (grub_hfs_dir): Handle mtime.
10406 (grub_hfs_mtime): New function.
10407 (grub_hfs_fs): Register grub_hfs_mtime.
10408 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10409 (grub_iso9660_dir): New field mtime.
10410 (grub_fshelp_node): New field dirent.
10411 (iso9660_to_unixtime): New function.
10412 (iso9660_to_unixtime2): Likewise.
10413 (grub_iso9660_read_symlink): Use node->dirent.
10414 (grub_iso9660_iterate_dir): Likewise.
10415 (grub_iso9660_dir): Set mtime.
10416 (grub_iso9660_mtime): New function.
10417 (grub_iso9660_fs): Register grub_iso9660_mtime.
10418 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10419 (grub_jfs_inode): New fields atime, ctime and mtime.
10420 (grub_jfs_dir): Set mtime.
10421 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10422 * grub-core/fs/ntfs.c (list_file): Set mtime.
10423 (grub_ntfs_dir): Likewise.
10424 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10425 (grub_reiserfs_iterate_dir): Set mtime.
10426 (grub_reiserfs_dir): Likewise.
10427 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10428 (grub_fshelp_node): Likewise.
10429 (grub_sfs_iterate_dir): Set mtime.
10430 (grub_sfs_dir): Likewise.
10431 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10432 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10433 (grub_xfs_inode): New fields atime, mtime, ctime.
10434 (grub_xfs_dir): Set mtime.
10435 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10436 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10437 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10438
10439 Support UDF symlinks.
10440
10441 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10442 (grub_ufs_read_symlink): New function. All users updated.
10443
10444 Check amiga partmap checksum.
10445
10446 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10447 (grub_amiga_partition): Likewise.
10448 (amiga_partition_map_checksum): New function.
10449 (amiga_partition_map_iterate): Check checksum.
10450
5470225d
VS
104512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 ROMFS support.
10454
10455 * Makefile.util.def (libgrubmods.a): Add romfs.
10456 * grub-core/Makefile.core.def (romfs): New module.
10457 * grub-core/fs/romfs.c: New file.
10458
d4680a35
VS
104592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 Squashfs v4 support.
10462
10463 * Makefile.util.def (libgrubmods.a): Add squash4.
10464 * grub-core/Makefile.core.def (squash4): New module.
10465 * grub-core/fs/squash4.c: New file.
10466 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10467 disk_input_start, disk_input.
10468 (get_byte): Handle disk_input.
10469 (grub_zlib_disk_read): New function.
10470 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10471
bcb18e74
FZ
104722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
104732011-05-15 Feiran Zheng <famcool@gmail.com>
10474
10475 * Makefile.util.def (libgrubmods.a): Add minix3.
10476 * grub-core/Makefile.core.def (minix3): New module.
10477 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10478 (GRUB_MINIX_BSIZE): Removed.
10479 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10480 (grub_minix_ino_t): New type.
10481 (grub_minix_le_to_cpu_ino): New macro.
10482 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10483 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10484 (grub_minix_data): New field block_size.
10485 (grub_minix_read_file): Handle 64-bit correctly.
10486 * grub-core/fs/minix3.c: New file.
10487
32297d5f
TG
104882011-05-15 Tristan Gingold <gingold@free.fr>
104892011-05-15 Robert Millan <rmh.grub@aybabtu.com>
104902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 IA64 support.
10493
10494 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10495 * configure.ac: Add ia64-efi target.
10496 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10497 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10498 * gentpl.py: Add ia64_efi platform.
10499 Rename x86_efi to efi and Add ia64-efi. All users updated.
10500 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10501 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10502 Remove kern/generic/rtc_get_time_ms.c on EFI.
10503 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10504 kern/ia64/dl_helper.c on ia64-efi.
10505 Add kern/emu/cache.c on emu.
10506 (linux): Use on loader/ia64/efi/linux.c on ia64.
10507 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10508 whether symbol is a function.
10509 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10510 (grub_symbol): New field 'isfunc'.
10511 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10512 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10513 (grub_dl_load_segments): Place all sections into the same region.
10514 [__ia64__]: Create trampolines and got.
10515 [GRUB_MACHINE_EMU]: Call mprotect.
10516 (grub_dl_resolve_symbols): Resolve symbol type as well.
10517 [__ia64__]: Create function descriptors.
10518 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10519 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10520 (grub_get_rtc): New function.
10521 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10522 * grub-core/kern/emu/cache.S: Renamed to ...
10523 * grub-core/kern/emu/cache_s.S: ... this.
10524 [__ia64__]: Add a nop.
10525 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10526 [__ia64__]: New function.
10527 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10528 * grub-core/kern/ia64/dl.c: New file.
10529 * grub-core/kern/ia64/dl_helper.c: Likewise.
10530 * grub-core/kern/ia64/efi/init.c: New file.
10531 * grub-core/kern/ia64/efi/startup.S: Likewise.
10532 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10533 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10534 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10535 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10536 * grub-core/loader/ia64/efi/linux.c: New file.
10537 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10538 (GRUB_MOD_DEP): Likewise.
10539 (grub_dl) [__ia64__]: New fields got and tramp.
10540 (grub_dl): New field 'base'.
10541 (grub_dl_register_symbol): New argument isfunc. All users updated.
10542 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10543 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10544 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10545 (grub_ia64_dl_get_tramp_got_size): New proto.
10546 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10547 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10548 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10549 * include/grub/efi/api.h: Skip call wrappers on ia64.
10550 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10551 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10552 * include/grub/elf.h (ELF_ST_INFO): New definition.
10553 * include/grub/ia64/efi/kernel.h: New file.
10554 * include/grub/ia64/efi/memory.h: Likewise.
10555 * include/grub/ia64/efi/time.h: Likewise.
10556 * include/grub/ia64/kernel.h: Likewise.
10557 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10558 * include/grub/ia64/time.h: New file.
10559 * include/grub/ia64/types.h: Likewise.
10560 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10561 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10562 New protos.
10563 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10564 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10565 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10566 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10567 All users updated.
10568 (EFI64_HEADER_SIZE): New definition. All users updated.
10569 (image_targets): Add ia64-efi.
10570 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10571 jumpers_addr. All users updated.
10572 Create function descriptors.
10573 (count_funcs): New function.
10574 (unaligned_uint32): New struct.
10575 (MASK20): New definition.
10576 (MASK19): Likewise.
10577 (MASKF21): Likewise.
10578 (add_value_to_slot_20b): New function.
10579 (add_value_to_slot_21_real): Likewise.
10580 (add_value_to_slot_21): Likewise.
10581 (ia64_kernel_trampoline): New struct.
10582 (nopm): New variable.
10583 (jump): Likewise.
10584 (make_trampoline): New function.
10585 (relocate_addresses): Handle ia64.
10586 (make_reloc_section): Likewise.
10587 (load_image): Likewise.
10588
983b414d
VS
105892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10592 warning. Move variables before code while on it.
10593
5d063cdc
VS
105942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Fuloong support.
10597
10598 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10599 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10600 * grub-core/boot/mips/loongson/fuloong.S: New file.
10601 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10602 Explicitly init CS5536.
10603 [FULOONG]: Don't use serial until CS5536 is available.
10604 Set GPIO based on dumps.
10605 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10606 [FULOONG]: Handle GPIO and memory controller differences.
10607 Parse machine type in $a2.
10608 * grub-core/boot/mips/startup_raw.S: Determine and save the
10609 architecture.
10610 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10611 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10612 init on architecture type.
10613 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10614 SIS315E. Don't init at_keyboard on fuloong.
10615 (grub_halt): Support Fuloong.
10616 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10617 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10618 (loongson_machtypes): New array.
10619 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10620 type.
10621 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10622 config. All users updated. Handle CS5536 serial.
10623 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10624 default port on machine type. Register serial as inactive.
10625 * grub-core/video/sis315pro.c: New file.
10626 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10627 definition.
10628 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10629 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10630 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10631 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10632 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10633 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10634 to ...
10635 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10636 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10637 definition.
10638 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10639 (grub_arch_machine): New extern var.
10640 * include/grub/mips/loongson/serial.h
10641 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10642 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10643 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10644 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10645 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10646 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10647 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10648 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10649 * include/grub/term.h (grub_term_register_input_inactive): New inline
10650 function.
10651 (grub_term_register_output_inactive): Likewise.
10652 * include/grub/video.h (grub_video_driver_id): New value
10653 GRUB_VIDEO_DRIVER_SIS315PRO.
10654 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10655 New field "names". All users updated.
10656 New field value IMAGE_FULOONG_FLASH.
10657 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10658
6ada82d1
JU
106592011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10660
10661 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10662 and add some clarification.
10663
90c571a4
VS
106642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10667 platforms if kernel is compressed.
10668
de04eecf
VS
106692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10672 unused modules since currently referrence counter isn't reliable and
10673 there isn't much memory to recover there anyway.
10674
57688121
VS
106752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10678 rather than resetting it to allow modules to reference themselves
10679 in init.
10680
3d2c7e35
VS
106812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10684 counter on dependencies since grub_dl_unref already handles this.
10685
b25db218
VS
106862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10689 on error if not already done.
10690
25a45338
VS
106912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Fix few potential memory misusage.
10694
10695 * grub-core/font/font.c (load_font_index): Don't free char_index to
10696 avoid double free.
b25db218
VS
10697 (grub_font_load): Zero-fill font at alloc for safety.
10698 Close file on error.
10699 (free_font): Free bmp_idx.
25a45338 10700
0cac83df
VS
107012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * docs/grub.texi (Installation): Fix several outdated claims.
10704
2217a143
VS
107052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Handle module_license on windows.
10708
10709 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10710 sections shifted.
10711 (insert_string): Make argument const char * instead of char *.
10712 (write_section_data): Handle long section names.
10713 Handle module_license.
10714
d4de6b01
VS
107152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10718 handle class-free menuentries.
10719 (grub_normal_add_menu_entry): Add a check to be sure.
10720
4c2a3b43
VS
107212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10724 PgUp and PgDown.
10725
85c6210f
VS
107262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * configure.ac: Bump version to 1.99.
10729
36084912
VS
107302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 Give ATA device a bit more time on first try in order to allow disks
10733 to spin up.
10734
10735 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10736 if dev->present is 1. Reset dev->present on failure.
10737 (grub_ata_device_initialize): Set dev->present to 1.
10738 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10739 (grub_ata_device): New member 'present'.
10740
bda0e219
VS
107412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * util/grub-mkimage.c (generate_image): Update hash.
10744
19e1c41b
VS
107452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 Flush caches on DMA memory.
10748
10749 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10750 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10751 (grub_dma_free): Likewise.
10752 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10753
91bbcc0c
VS
107542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10757 to avoid asm treating ld and sd as macros.
10758
60ddfad3
VS
107592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10762 decompressor.
10763
a298aa04
VS
107642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10767 grub_decompress_core since later would fail if grub_decompress_core
10768 is too far.
10769
9b44feca
VS
107702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10773 R_MIPS_JALR since it's used by newer compiler.
10774
56dbe7b4
VS
107752011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10778
52856af2
VS
107792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10782 file_path to 0 for surety.
10783 (grub_chainloader_boot): Set exit_data to NULL.
10784 Unset the loader once done.
10785 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10786
9c9bfc6d
VS
107872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10790 unknown key into a dprintf.
10791
dd94a3df
VS
107922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10795 on first non-existant partition.
10796
fa68d99c
VS
107972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10800 openning fails.
10801 Reported by: Mark Korenberg.
10802
157effb7
VS
108032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10806 overflow.
10807
ea75312f
VS
108082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10811 before closing to ensure that it will be readable by grub-setup.
10812
072b5d31
VS
108132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10816 (devpath_1): Use MAKE_PIWG_PATH.
10817 (devpath_2): Likewise.
10818 (devpath_3): Likewise.
10819 (devpath_4): Likewise.
10820 (devpath_5): Likewise.
10821 (devpath_6): Likewise.
10822
10823 The appleldr.mod was checked that to be binary identical to previous
10824 version.
10825
7fae0051
Z
108262011-05-05 Zach <mikezackles>
10827
10828 Support 2010 Macbooks.
10829
10830 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10831 (devs): Add devpath_6.
10832
7c515bee
VS
108332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10836 /dev/random. /dev/urandom is good enough for our purposes (salting).
10837
ed660bd8
VS
108382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10841
ee5614b7
VS
108422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10845 hexadecimal.
10846
664889a6
VS
108472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10850 and not 0 on failure.
10851
bd405bbc
CW
108522011-05-03 Colin Watson <cjwatson@ubuntu.com>
10853
10854 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10855 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10856 disk; otherwise grub_fs_probe will not fall back to the next
10857 filesystem.
10858 (grub_pxefs_open): Likewise, for consistency.
10859 Reported and tested by: Ezekiel Grave.
10860
4ebff753
CW
108612011-05-03 Colin Watson <cjwatson@ubuntu.com>
10862
10863 * tests/partmap_test.in: Don't hardcode path to parted.
10864 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10865
8f942553
CW
108662011-05-01 Colin Watson <cjwatson@ubuntu.com>
10867
10868 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10869 of `ls' to find out which devices are available.
10870
3c62402d
VS
108712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10874 than source address for efi mmap buffer.
10875
723f63f2
VS
108762011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10879 wrong action on non-detecting the magic.
10880
68797f92
VS
108812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10884 already supplied by another part of the module (fixes compilation on
10885 FreeBSD).
10886
6be8715d
VS
108872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10890 match the one used by mdadm.
10891
e91dba5b
CW
108922011-04-21 Colin Watson <cjwatson@ubuntu.com>
10893
10894 * po/README: Add instructions for creating po/LINGUAS.
10895
c85140b3
CW
108962011-04-21 Colin Watson <cjwatson@ubuntu.com>
10897
10898 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10899 #551428.
10900
10901 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10902 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10903 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10904 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10905 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10906 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10907 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10908 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10909 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10910 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10911 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10912 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10913 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10914 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10915 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10916 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10917 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10918 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10919 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10920 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10921 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10922 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10923
92051871
CW
109242011-04-21 Colin Watson <cjwatson@ubuntu.com>
10925
10926 * grub-core/kern/emu/getroot.c
10927 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10928 test that was incorrectly reintroduced in r3214.
10929 Reported by: Ian Dall. Fixes Savannah bug #33133.
10930
b13f79a4
CW
109312011-04-21 Colin Watson <cjwatson@ubuntu.com>
10932
10933 Fix stack pointer handling in 16-bit relocator.
10934
10935 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10936 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10937 Fixes Ubuntu bug #683904.
10938
9b710a88
VS
109392011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * configure.ac: Bump version to 1.99~rc2.
10942
d97e7b59
VS
109432011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10946 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10947 * grub-core/lib/x86_64/setjmp.S: Likewise.
10948 * grub-core/lib/mips/setjmp.S: Likewise.
10949 * grub-core/lib/powerpc/setjmp.S: Likewise.
10950 * grub-core/lib/sparc64/setjmp.S: Likewise.
10951
0624551c
VS
109522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10955 * grub-core/lib/efi/datetime.c: Likewise.
10956
e8f28d4c
VS
109572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10960 New function.
10961 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10962 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10963 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10964
bba79a15
VS
109652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10968 bitmap.
10969 (grub_gfxterm_term_init): Likewise.
10970
abc474ef
VS
109712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 Take into account the decorations the computing menu entry width.
10974
10975 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10976 (grub_gfxmenu_create_box): Register get_border_width.
10977 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10978 if available.
10979 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10980 get_border_width.
10981
e74b3947
EP
109822011-04-18 Endres Puschner <code@e7p.de>
10983
10984 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10985 Don't skip first class.
10986
34faa595
VS
109872011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10990 chunks.
10991 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10992
93a777e3
VS
109932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 Complete 64-bit division support.
10996
10997 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10998 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10999 * include/grub/misc.h (grub_divmod64): Rename to ...
11000 (grub_divmod64_full): ... this.
11001 (grub_divmod64): New inline function.
11002
a5102d94
VS
110032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11006
f3fb7b36
VS
110072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11010 performing the necessary test.
11011
9ac718b0
VS
110122011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11015 (kfreebsd.elf): Likewise.
11016 (pc-chainloader.elf): Likewise.
11017 (ntldr.elf): Likewise.
11018
50d2cc5a
VS
110192011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 Identify RAID by its UUID rather than (guessed) name.
11022
11023 * grub-core/disk/raid.c (ascii2hex): New function.
11024 (grub_raid_open): Accept mduuid/%s specification.
11025 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11026 (get_mdadm_uuid): ... this.
11027 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11028
e03f7bea
VS
110292011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11032 to negative size.
11033
e74c3112
CW
110342011-04-13 Colin Watson <cjwatson@ubuntu.com>
11035
11036 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11037 btrfs subvolume.
11038 * util/grub.d/20_linux_xen.in: Likewise.
11039
78fa584f
CW
110402011-04-13 Colin Watson <cjwatson@ubuntu.com>
11041
11042 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11043 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11044
11045 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11046 Build a list of relevant visible mounts using the mnt_id and
11047 parent_mnt_id fields, and then scan that list at the end.
11048
9d5f8162
CW
110492011-04-12 Colin Watson <cjwatson@ubuntu.com>
11050
11051 * docs/grub.texi (normal): New section.
11052 (normal_exit): New section.
11053 (Embedded configuration): Add reference to normal.
11054 (GRUB only offers a rescue shell): Likewise.
11055 * docs/grub-dev.texi (Error Handling): Fix typo.
11056
09a9d66f
CW
110572011-04-12 Colin Watson <cjwatson@ubuntu.com>
11058
11059 * NEWS: Drop obsolete entry about probe-only btrfs support.
11060
0c676933
CW
110612011-04-12 Colin Watson <cjwatson@ubuntu.com>
11062
11063 * util/import_gcry.py: Fix typo.
11064
ec9f5e0d
VS
110652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * NEWS: Add btrfs support.
11068
fe6b2cba
VS
110692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
110702011-04-11 Colin Watson <cjwatson@ubuntu.com>
11071
11072 BtrFS support. Written by me (Vladimir) with important bugfixes and
11073 even more important testing by Colin.
11074
11075 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11076 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11077 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11078 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11079 mem_input_off and mem_input. All users updated to accept in-RAM input.
11080 (gzio_seek): New function.
11081 (test_zlib_header): Likewise.
11082 (grub_gzio_read): Likewise.
11083 (grub_zlib_decompress): Likewise.
11084 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11085 Accept partial and non-virtual mounts.
11086 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11087 avoid receiving /dev/dm-X as device.
11088 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11089 Handle bind and partial mounts.
11090 * grub-core/lib/crc.c: New file.
11091 * include/grub/deflate.h: Likewise.
11092 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11093 proto.
11094 * include/grub/lib/crc.h: New file.
11095
e745cf0c
VS
110962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 Implement automatic module license checking according to new GNU
11099 guidelines.
11100
11101 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11102 (grub_dl_load_core): Use grub_dl_check_license.
11103 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11104 (GRUB_MOD_LICENSE): Likewise.
11105 (GRUB_MOD_DUAL_LICENSE): Likewise.
11106 All modules updated.
11107
2a9bc016
CW
111082011-04-11 Colin Watson <cjwatson@ubuntu.com>
11109
11110 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11111 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11112 loaders.
11113 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11114
8a3bc88e
VS
111152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11118
af869a4a
VS
111192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11122 failed.
11123
9ee8d94f
VS
111242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11127 parenthesis in the middle of the filename.
11128
b01abe3e
VS
111292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11132 rather than trying to put initrd way too high.
11133 Reported by: Ryan Lortie <desrt@desrt.ca>
11134
335bda1e
VS
111352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11138 improperly removed string.
11139
5ca1a64d
VS
111402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11143 is_disk.
11144 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11145 (open_device) Likewise.
11146 (grub_util_biosdisk_close): Likewise.
d8ce9995 11147 Reported by: Mark Korenberg.
5ca1a64d 11148
cbac5b1e
AK
111492011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11150
11151 * util/grub-mkconfig_lib.in: Add missing quotes.
11152
088cdb65
CW
111532011-04-10 Colin Watson <cjwatson@ubuntu.com>
11154
11155 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11156 is NULL.
11157
8b8a81fa
VS
111582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 Dynamically count the number of lines for the lower banner.
11161
11162 * grub-core/normal/menu_entry.c (per_term_screen): New member
11163 num_entries.
11164 (print_down): Use num_entries.
11165 (update_screen): Likewise.
11166 (grub_menu_entry_run): Set num_entries.
11167 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11168 num_entries.
11169 (grub_print_message_indented): Move real part to ...
11170 (grub_print_message_indented_real): ... here. Additional argument
11171 dry_run.
11172 (draw_border): Additional argument num_entries.
11173 (print_message): Additional argument dry_run.
11174 (print_entries): Receive menu viewer data.
11175 (grub_menu_init_page): New argment num_entries.
11176 (menu_text_set_chosen_entry): Use num_entries.
11177 (grub_menu_try_text): Likewise.
11178 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11179 All users updated.
11180 (grub_ucs4_count_lines): New function.
11181 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11182 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11183 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11184 (grub_term_border_height): Likewise.
11185 (grub_term_num_entries): Likewise.
11186
277f955b
VS
111872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11190 Remove now unused string.
11191
536ce85a
CW
111922011-04-09 Colin Watson <cjwatson@ubuntu.com>
11193
11194 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11195 build system.
11196 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11197
11198 (Comment): Fix typo.
11199 (Getting started): General copy-editing.
11200 (Typical Development Experience): Likewise.
11201 (Error Handling): Likewise.
11202 (Video API): Likewise.
11203
2cf09e32
CW
112042011-04-09 Colin Watson <cjwatson@ubuntu.com>
11205
11206 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11207 throughout.
11208
1ec652f4
VS
112092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11212 directory.
11213
2c583728
CW
112142011-04-08 Colin Watson <cjwatson@ubuntu.com>
11215
11216 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11217 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11218 "development".
11219
d7a565e9
VS
112202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11223 grub_strcpy since the lines aren't necessarily 0-terminated.
11224
7c2e4909
VS
112252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11228 root on legacy.
11229
34c09785
VS
112302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11233 (GRUB_MOD_INIT): DEVICE isn't optional.
11234
6a6f8058
VS
112352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11238 word on new line if it's too long anyway. Fixes a hang.
11239
2e335e90
VS
112402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11243 const.
11244 * util/grub-setup.c (main): Reuse md device name if available.
11245 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11246 not GRUB name as argument.
11247 Based on patch by: Florian Wagner <fwagner>.
11248
10a7a867
VS
112492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11252 Place mbi on low memory for better compatibility.
11253
7a3d6cd9
VS
112542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11257
18dd6b47
VS
112582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
112592011-04-08 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11262 * conf/Makefile.common: Likewise.
18dd6b47 11263
3c0e3f14
VS
112642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11265
f7148863
VS
11266 * grub-core/normal/menu.c: Add missing include.
11267
112682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11271
6d1fa41f
MZ
112722011-04-08 Martin Zuther <mzuther@mzuther.de>
11273
11274 * util/grub-mkconfig.in: Ignore emacsen backup.
11275
478182a8
VS
112762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11279 on open.
11280 (grub_util_biosdisk_close): Likewise.
11281
72a89a54
VS
112822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11285 const attribute and use grub_isdigit.
11286
b5ebecfa
A
112872011-04-06 Andrey <dev_null@ukr.net>
11288
11289 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11290 gcc warning.
11291
7755f66e
VS
112922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11295 useful grub_dprintf's.
11296
461121ff
VS
112972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11300
2a961775
VS
113012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11304
adf594cc
VS
113052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Output errors if theme loading failed.
11308
11309 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11310 grub_gfxterm_fullscreen on error paths to ...
11311 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11312 theme loading error.
11313
665900a3
VS
113142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11317 space for older compilers.
11318 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11319
a562b479
VS
113202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11323 and report them as not RAID members since they are useless for GRUB.
11324 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11325
850e9373
VS
113262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Increase LVM implementation robustness in order not to crash on
11329 configurations like pvmove. Previously code assumed that in some places
11330 only lvs or only pvs are used whereas it seems that they are used
11331 interchangeably.
11332
11333 * grub-core/disk/lvm.c (read_node): New function.
11334 (read_lv): Use read_node.
11335 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11336 Match volumes only at the end when all lvs are found. Take both
11337 pvs (first) and lvs (second) into account.
11338 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11339 mirror_* into node_*. All users updated.
11340 (grub_lvm_stripe): Merge this ...
11341 (grub_lvm_mirror): ... and this ...
11342 (grub_lvm_node): ... into this. All users updated.
11343
6f332153
VS
113442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11347 of function to allow further scanning for LVMs.
11348
829ea451
VS
113492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11352 on failed seek as it breaks open fd reusage.
11353
09ceb9a5
VS
113542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * util/grub-install.in: Add a recommendation to use --recheck before
11357 reporting bugs.
11358
67e11623
VS
113592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11362 are obtained.
11363
caee5efd
VS
113642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 GRUB developper manual based on existing Internals section and
11367 contributions by the various authors with active copyright assignment.
11368
11369 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11370 * docs/font_char_metrics.png: New file.
11371 * docs/font_char_metrics.txt: Likewise.
11372 * docs/grub-dev.texi: Likewise.
11373 * docs/grub.texi (Internals): Move from here ...
11374 * docs/grub-dev.texi: ... here.
11375
2cccc747
CW
113762011-04-01 Colin Watson <cjwatson@ubuntu.com>
11377
11378 Store the loopback device as data on loopback grub_disk structures,
11379 rather than the file it points to. This fixes use of freed memory
11380 if an existing loopback device is replaced.
11381
11382 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11383 disk->data, not dev->file.
11384 (grub_loopback_read): Adjust file assignment to match.
11385 Fixes Ubuntu bug #742967.
11386
186ae367
CW
113872011-04-01 Colin Watson <cjwatson@ubuntu.com>
11388
11389 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11390 when replacing an existing device.
11391
cfed2ad0
VS
113922011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11395 memory corruptions.
11396
11397 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11398 unsigned.
11399 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11400 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11401 (grub_jfs_read_inode): Likewise.
11402 (grub_jfs_opendir): Likewise. Remove now useless casts.
11403 (grub_jfs_getent): Likewise.
11404 Make ino a grub_uint32_t rather than int.
11405 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11406 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11407 division and module with bit operations.
11408 (grub_jfs_find_file): Make ino a grub_uint32_t.
11409 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11410
05d2ed32
CW
114112011-04-01 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11414 warning. (This was in fact always initialised before use, but GCC
11415 wasn't smart enough to prove that.)
11416 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11417
91dc6073
VS
114182011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11421 stack alignment.
11422 (efi_wrap_1): Likewise.
11423 (efi_wrap_2): Likewise.
11424 (efi_wrap_3): Likewise.
11425 (efi_wrap_4): Likewise.
11426 (efi_wrap_5): Likewise.
11427 (efi_wrap_6): Likewise.
11428 (efi_wrap_10): Likewise.
11429 Based on information by: Red Hat/Peter Jones.
11430
a8afc1d1
CW
114312011-03-31 Colin Watson <cjwatson@ubuntu.com>
11432
11433 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11434 set-but-not-used variable.
11435
a826cc7d
CW
114362011-03-31 Colin Watson <cjwatson@ubuntu.com>
11437
11438 * docs/grub.texi (Simple configuration): Be more explicit about
11439 GRUB_DEFAULT, and add an example.
11440 Reported by: Leslie Rhorer.
11441
875b67ba
CW
114422011-03-30 Colin Watson <cjwatson@ubuntu.com>
11443
11444 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11445 shell".
11446
fd7cd914
AS
114472011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11448
11449 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11450 * util/grub.d/20_linux_xen.in: Likewise.
11451
090b1b6a
VS
114522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * util/grub.d/10_linux.in: Try alternative config filenames where
11455 we parse config file.
11456 * util/grub.d/20_linux_xen.in: Likewise.
11457
baad885c
AS
114582011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11459
11460 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11461 * util/grub.d/20_linux_xen.in: Likewise.
11462
241e41f5
VS
114632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/disk/raid.c (insert_array): Add few potentially
11466 useful grub_util_info.
11467 (grub_raid_register): Likewise.
11468
56445fb2
VS
114692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11472 Preserve partition number in mdadm code path.
11473
c871b1c6
VS
114742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11477 few potentially useful grub_util_info.
11478
5e631b4f
CW
114792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11482
2d5d0333
CW
114832011-03-30 Colin Watson <cjwatson@ubuntu.com>
11484
11485 * docs/grub.texi (default): Use @example rather than nested
11486 itemized lists to avoid breaking gendocs.
11487
3d7ed04e
CW
114882011-03-30 Colin Watson <cjwatson@ubuntu.com>
11489
11490 * docs/grub.texi (Future): Update.
11491
abf04200 114922011-03-30 Colin Watson <cjwatson@ubuntu.com>
11493
11494 * docs/grub.texi (Environment): New chapter.
11495 (Changes from GRUB Legacy): Link to "Environment block" section for
11496 details of limitations.
11497 (Simple configuration): Likewise. Link to documentation of gfxmode
11498 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11499 respectively.
11500 (Shell-like scripting): Note that normal variables are stored in the
11501 environment.
11502 (gettext): Link to documentation of lang and locale_dir.
11503 (list_env): New section.
11504 (load_env): New section.
11505 (save_env): New section.
11506
11507 (Reporting bugs): Fix typo.
11508
e1ad0edd
VS
115092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11512 the example.
11513
5d803174
VS
115142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/term/at_keyboard.c (set_scancodes)
11517 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11518
2a2da1d0
CW
115192011-03-30 Colin Watson <cjwatson@ubuntu.com>
11520
11521 * docs/grub.texi (Menu-specific commands): Remove some semantics
11522 that were true in GRUB Legacy but not in GRUB 2.
11523 (submenu): New section.
11524 (false): New section.
11525 (read): New section.
11526 (true): New section.
11527
a7527639
CW
115282011-03-30 Colin Watson <cjwatson@ubuntu.com>
11529
11530 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11531
115322011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11533
11534 * docs/grub.texi (Simple configuration): Explain some of the
11535 current limitations of grub-mkconfig.
8a748df2 11536 Reported by: Leslie Rhorer.
e30af029 11537
fc858482
VS
115382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Old macs search for boot.efi rather than for bootia32.efi.
11541
11542 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11543 * util/grub-mkrescue.in: Likewise.
11544 Suggested by: Peter Jones.
11545
e1eb511d
VS
115462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11549
70e75364
VS
115502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11553 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11554 (grub_lvm_mirror): New struct.
11555 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11556 (grub_lvm_iterate): Iterate only visible volumes.
11557 (grub_lvm_read): Factor out to ..
11558 (read_lv): ... this. Support mirrors.
11559 (grub_lvm_read): New wrapper function.
11560 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11561 stripped or mirrored.
11562
fc18f6a3
VS
115632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11566
5c650f4c
CW
115672011-03-29 Colin Watson <cjwatson@ubuntu.com>
11568
11569 * docs/grub.texi (loopback): New section.
11570
61d7156b
CW
115712011-03-29 Colin Watson <cjwatson@ubuntu.com>
11572
11573 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11574 removed -p option.
11575
994b8264
CW
115762011-03-29 Colin Watson <cjwatson@ubuntu.com>
11577
11578 * docs/grub.texi (BIOS installation): New section, partly based on
11579 previous text in other sections.
11580 (Installing GRUB using grub-install): Replace BIOS discussion with a
11581 cross-reference.
11582 (Images): Likewise.
11583
9e4d19e0
VS
115842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11587 [HAVE_DIOCGDINFO]: Add safety checks.
11588
a307c0b2
VS
115892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11592 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11593
b4db4f39
CW
115942011-03-29 Colin Watson <cjwatson@ubuntu.com>
11595
11596 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11597 real_sb->size is zero (e.g. RAID-0), get the disk size from
11598 real_sb->data_size instead.
11599 Fixes Ubuntu bug #743136.
11600
35e5f84c
VS
116012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11604 printf clauses for printing size and start.
11605
d2e29d81
VS
116062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11609 Reported and tested by: Timothy Nikkel.
11610
ed5587af
VS
116112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11614 (dirty_region_add_real): ... this.
11615 (dirty_region_add): Don't discard margin refresh when performing
11616 scheduled repaint.
11617
a1dc717c
VS
116182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/lib/relocator.c (allocate_regstart)
11621 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11622 terminals are capabple of malloc-free operation.
11623 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11624 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11625
9f3677d3
VS
116262011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11627
11628 * util/grub-setup.c: Copy the partition table zone if floppy support
11629 is disabled, even if no partition table is found.
11630
11631 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11632 during POST if an invalid partition table is contained in the PBR
11633 of the active partition when GRUB is installed to a partition.
11634
24148725
CW
116352011-03-28 Colin Watson <cjwatson@debian.org>
11636
11637 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11638 comment.
11639
f329eda7
CW
116402011-03-28 Colin Watson <cjwatson@debian.org>
11641
11642 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11643 to be specific about what kind of RAID device we're scanning for.
11644
c482ad98
SG
116452011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11646
11647 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11648 return freed string.
11649
5ee04984
VS
116502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11653
f4727da9
VS
116542011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 Use libgeom on FreeBSD to detect partitions.
11657
11658 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11659 (grub-mkrelpath): Likewise.
11660 (grub-script-check): Likewise.
11661 (grub-editenv): Likewise.
11662 (grub-mkpasswd-pbkdf2): Likewise.
11663 (grub-fstest): Likewise.
11664 (grub-mkfont): Likewise.
11665 (grub-mkdevicemap): Likewise.
11666 (grub-probe): Likewise.
11667 (grub-setup): Likewise.
11668 (grub-ofpathname): Likewise.
11669 (grub-mklayout): Likewise.
11670 (example_unit_test): Likewise.
11671 (grub-menulst2cfg): Likewise.
11672 * grub-core/Makefile.core.def (grub-emu): Likewise.
11673 (grub-emu-lite): Likewise.
11674 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11675 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11676 define HAVE_DIOCGDINFO.
11677 (follow_geom_up) [FreeBSD]: New function.
11678 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11679 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11680 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11681 unconditionally of HAVE_DIOCGDINFO.
11682
82fe6c75
VS
116832011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 Fix FreeBSD compilation problem.
11686
11687 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11688 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11689
4c6c9431
CW
116902011-03-24 Colin Watson <cjwatson@ubuntu.com>
11691
11692 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11693 Switch back to page zero before loading a kernel, since some kernel
11694 drivers expect that.
11695 Thanks to: Felix Kuehling.
11696
c7064d94
VS
116972011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11700 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11701 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11702
3f71cded
VS
117032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11706 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11707
ef6de21a
VS
117082011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11711 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11712 malloc is disabled.
11713
8bc66a2c
VS
117142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11717 for modules headers when counting the needed allocation size.
11718
5657722c
VS
117192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11722 if no ASCII character is found to prevent crash.
11723
41a85f55
AK
117242011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11725
11726 * grub-core/video/bitmap.c (match_extension): Ignore case.
11727
59e1e5f1
VS
117282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11731
bd4d051a
VS
117322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/script/parser.y: Declare "time" as valid argument.
11735
bae7fcc1
PJ
117362011-03-23 Peter Jones <pjones@redhat.com>
11737
11738 Fix incorrect assert failure reporting.
11739
11740 * grub-core/tests/example_functional_test.c (example_test): Add
11741 a failure comment.
11742 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11743 (failure_start): ...this. Check that malloc succeeded.
11744 Don't call xvasprintf. Return failure struct.
11745 (failure_append_vtext): New function.
11746 (failure_append_text): Likewise.
11747 (add_failure): Likewise.
11748 (grub_test_assert_helper): Likewise.
11749 * include/grub/test.h (grub_test_assert_helper): New declaration.
11750 (grub_test_assert): Macro rewritten.
11751
537dc9be
VS
117522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11755
fa3e01bf
VS
117562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11759
b1d28404
VS
117602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11763 into GRUB-style one.
11764
2e3e2e09
VS
117652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11768 error and not grub_errno.
11769 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11770
ed57e557
VS
117712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11774 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11775
d1611f01
VS
117762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/efiemu/i386/pc/cfgtables.c
11779 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11780 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11781 (grub_xnu_unlock): Likewise.
11782 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11783
7d4e39d6
VS
117842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11787 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11788 * grub-core/commands/hashsum.c (aliases): Likewise.
11789 * grub-core/commands/setpci.c (pci_registers): Likewise.
11790 * grub-core/disk/usbms.c (attach_hook): Likewise.
11791 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11792 (zio_checksum_table): Likewise.
11793 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11794 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11795 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11796 * grub-core/lib/relocator.c (leftovers): Likewise.
11797 (extra_blocks): Likewise.
11798 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11799 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11800 (modules_last): Likewise.
11801 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11802 (devices): Likewise.
11803 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11804 (modules_last): Likewise.
11805 * grub-core/normal/auth.c (users): Likewise.
11806 * grub-core/normal/context.c (initial_menu): Likewise.
11807 (current_menu): Likewise.
11808 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11809 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11810 (grub_serial_terminfo_input_template): Likewise.
11811 (grub_serial_terminfo_output_template): Likewise.
11812 (grub_serial_terminfo_input): Likewise.
11813 (grub_serial_terminfo_output): Likewise.
11814 (registered): Likewise.
11815 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11816
40fc4659
VS
118172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11820 grub_video_mode_type_t.
11821 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11822 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11823 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11824
2da48d28
VS
118252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * util/grub-install.in: Correct the x86-64 name as x86_64.
11828
9b43bf39
CW
118292011-03-11 Colin Watson <cjwatson@ubuntu.com>
11830
11831 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11832 initial chunk read from the kernel always includes GRUB's multiboot
11833 header, which is now outside the first sector.
11834
be1a7ce0
CW
118352011-03-09 Colin Watson <cjwatson@ubuntu.com>
11836
11837 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11838 cached mmap_size, so that this works correctly when called multiple
11839 times.
11840 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11841
83a3c48d
CW
118422011-03-09 Colin Watson <cjwatson@ubuntu.com>
11843
11844 * docs/grub.texi (Simple configuration): Tidy up formatting.
11845
57d75699
SJ
118462011-03-07 Szymon Janc <szymon@janc.net.pl>
11847
11848 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11849 Set-but-not-used variable removed.
11850
028501a0
VS
118512011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 Workaround yet another IEEE1275 bug.
11854
11855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11856 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11857 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11858 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11859 is set.
11860 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11861 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11862
d998657d
VS
118632011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11866 error.
11867
fee7cdd4
CW
118682011-02-11 Colin Watson <cjwatson@ubuntu.com>
11869
11870 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11871 empty, since in that case we can only generate either nothing or a
11872 syntactically invalid configuration file.
11873 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11874
97286eb5
CW
118752011-02-09 Colin Watson <cjwatson@ubuntu.com>
11876
11877 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11878 (Making a GRUB bootable CD-ROM): Likewise.
11879 (Invoking grub-mkrescue): New section.
11880 Reported by: Yann Dirson. Fixes Debian bug #612585.
11881
22b28eb3
CW
118822011-02-09 Colin Watson <cjwatson@ubuntu.com>
11883
11884 * util/grub-install.in: Remove unnecessary brackets from tr
11885 arguments.
11886 * util/grub.d/10_hurd.in: Likewise.
11887 * util/grub.d/10_kfreebsd.in: Likewise.
11888 * util/grub.d/10_linux.in: Likewise.
11889 * util/grub.d/20_linux_xen.in: Likewise.
11890 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11891
7e735e43
CW
118922011-02-08 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * include/grub/file.h (not_easly_seekable): Rename to ...
11895 (not_easily_seekable): ... this. Update all users.
11896
800f1881
CW
118972011-01-28 Colin Watson <cjwatson@ubuntu.com>
11898
11899 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11900 grub-mkrescue.
11901
3281d3d6
VS
119022011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * util/grub-mkimage.c (generate_image): Refuse to create the images
11905 bigger than the actual flash (512K) in Loongson machines. 512K is also
11906 the biggest chip supported by them.
11907
3533413c
VS
119082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11911
73ae4f4f
VS
119122011-01-22 Anthony DeRobertis <anthony@derobert.net>
11913
11914 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11915 super_offset field.
11916
37f4f608
VS
119172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * util/grub-install.in: Ignore install device on platforms
11920 where it doesn't make sense. Always use UUIDs except on pc, efi and
11921 sparc64.
11922 Reported by: Daniel Kahn Gillmor.
11923
03a4ccb5
VS
119242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11927
ffc8f4d8
VS
119282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11931 (iterate_real): Don't rely on partition being non-NULL.
11932
80f23be7
VS
119332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11936 supported platforms. Put a compile time assert for this rather than
11937 generate a warning with 32-bit shift.
11938
5d4f4dd5
VS
119392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11942 logical expression more readable.
11943
e489601a
VS
119442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11947 even if some elements have a name.
11948 Reported by: Alexander GQ Gerasiov.
11949
96e0a6ea
CW
119502011-01-22 Colin Watson <cjwatson@ubuntu.com>
11951
11952 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11953 path unreadable if `grub-probe -t abstraction' fails, for example if
11954 memberlist fails on an LVM volume group.
11955 Reported by: Darius Jahandarie.
11956
81431e2b
CW
119572011-01-22 Colin Watson <cjwatson@ubuntu.com>
11958
11959 * docs/grub.texi (Simple configuration): Document
11960 GRUB_PRELOAD_MODULES.
11961
5e79d66a
CW
119622011-01-17 Colin Watson <cjwatson@ubuntu.com>
11963
11964 * .bzrignore: Remove nonexistent grub-pbkdf2.
11965
646ada34
VS
119662011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * configure.ac: Bump version to 1.99~rc1.
11969
04360337
VS
119702011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11973 for safety.
11974
46c9db88
VS
119752011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11978 module.
11979
119802011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11981
11982 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11983
4fbf1852
VS
119842011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11987 diskdevid.
11988
f1632d4d
VS
119892011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Fix compilation on cygwin.
11992
11993 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11994 -R .drectve on cygwin.
11995 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11996 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11997 (COND_CYGWIN): New condition.
11998 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11999 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12000 not @TARGET_OBJ2ELF@.
12001 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12002 type to determine whether aux is to be used.
12003
0b5e127b
VS
120042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12007 realpath'ed device string.
12008 Handle floppy (somewhat).
12009 Issue error in unknown case rather than garbage.
12010 Reported by: Axel Beckert.
12011
173b71e9
VS
120122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * util/grub.d/00_header.in (load_video): Handle the case when no video
12015 drivers available.
12016 Thanks to: Axel Beckert.
12017
f8f479db
VS
120182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12021 variable. Fixes problem on big endian platforms.
12022
8fc0a245
VS
120232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12026 It doesn't work well there.
12027
b8494fbe
VS
120282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12031 warning.
12032 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12033 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12034 counter.
12035
b44a558c
VS
120362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 Use alias->path rather than buggy "canon".
12039
12040 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12041 (ofdisk_hash_add): New argument curcan. All users updated.
12042
51fa856c
CW
120432011-01-11 Colin Watson <cjwatson@ubuntu.com>
12044
12045 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12046
9da068a5
VS
120472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12050 loadmask before doing any calculations. Use correct type for offset.
12051 (grub_linux_load64): Likewise.
12052
86205c94
CW
120532011-01-11 Colin Watson <cjwatson@ubuntu.com>
12054
12055 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12056 with NULL.
12057 (console_grub_equivalences_unshift): Likewise.
12058 Reported by: Daniel Dehennin.
12059
4531a206
VS
120602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12063 (set_env_limn_ro): Likewise.
12064 (GRUB_MOD_INIT): Likewise.
12065 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12066 ARRAY_SIZE while on it.
12067 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12068 * grub-core/normal/context.c (grub_env_export): Move from here ...
12069 * grub-core/kern/env.c (grub_env_export): ... here.
12070 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12071 prefix.
12072 * grub-core/kern/main.c (grub_main): Export root and prefix.
12073 * include/grub/env.h (grub_env_export): Export.
12074 Reported by: Seth Goldberg.
12075
45146057
VS
120762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12079 Take into account space used by ELF sections and multiboot palette.
12080 Reported by: Grégoire Sutre.
12081
f093110b
VS
120822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * BUGS: New file.
12085
3395fe52
VS
120862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 Pass more appropriate video id to Linux.
12089
12090 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12091 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12092 fill have_vga.
12093 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12094 shift params->lfb_size.
12095 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12096
c2fa6cbb
VS
120972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12100
b3ff6ff0
VS
121012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12104 separator and pass bootpath/devid even if only one of them is available.
12105 Reported by: Seth Goldberg.
12106
ae67942e
VS
121072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12110 implementations bug on them.
12111
12112 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12113 memory.
12114 (filter_memory_map): Likewise.
12115
d570097a
VS
121162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12119 Reported by: nebuchadnezzar.
12120
a508e776
VS
121212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12124 Reported by: nebuchadnezzar.
12125
dcb883b1
VS
121262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 Submenu default support.
12129
12130 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12131 auto_boot. All users updated.
12132 Declared static.
12133 Handle chosen and default with submenus.
12134 (grub_menu_execute_with_fallback): Declared static.
12135 Don't notify failure if autobooted. Upper level does it.
12136 (menuentry_eq): New function.
12137 (get_entry_number): Use menuentry_eq.
12138 (show_menu): New parameter "autobooted". All users updated.
12139 (grub_show_menu): Likewise.
12140 * include/grub/normal.h (grub_show_menu): Likewise.
12141 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12142 (grub_menu_execute_with_fallback): Likewise.
12143
6fef99b4
VS
121442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * util/grub-mklayout.c (usage): Update help text.
12147
47a77af5
VS
121482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12151
ce6bb3ee
VS
121522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * util/grub-menulst2cfg.c (main): Trim the line.
12155
db87be2a
VS
121562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12159 (grub_machine_init): Don't check amount of low memory as reportedly
12160 INT 12h can be broken and if low memory is too low we wouldn't have
12161 gotten into grub_machine_init anyway.
12162
c49849cc
VS
121632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12166 (grub_machine_mmap_iterate): Take low memory into account
12167
b1969b30
VS
121682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12171 badfs.
12172 Reported by: TiCPU.
12173
cf0eaf13
VS
121742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12177 members errors.
12178
1f060f39
GS
121792011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12180
12181 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12182 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12183
a21e5672
GS
121842011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12185
12186 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12187 openbsd and netbsd types being in part_bsd module.
12188
c88172fa
VS
121892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12192 (_FILE_OFFSET_BITS): Likewise.
12193 Reported by: Seth Goldberg.
12194
53798c4b
GS
121952011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12196
12197 * configure.ac: Check for libdevmapper header.
12198
e7121b69
VS
121992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12202 avoid aliasing.
12203 (fzap_lookup): Likewise.
12204 (dnode_get): Likewise.
12205 (make_mdn): Likewise.
12206 (zfs_mount): Likewise.
12207 (fzap_iterate): Use temporary pointer to avoid aliasing.
12208 (grub_zfs_read): Likewise.
12209 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12210 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12211 pointers to avoid aliasing.
12212 (grub_cmd_xnu_kernel64): Likewise.
12213 (grub_xnu_load_driver): Likewise.
12214
fc836af9
VS
122152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12218 aliasing warning.
12219 (grub_cmd_terminal_output): Likewise.
12220 Reported and tested by: Grégoire Sutre.
12221
f9f37648
VS
122222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12225 warning.
12226 Reported and tested by: Grégoire Sutre.
12227
ec1dfd63
VS
122282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * configure.ac: Do CPU substitution even if it's specified explicitly.
12231 Reported and tested by: Alain Greppin.
12232
9462775a
VS
122332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12236 Reported and tested by: Alain Greppin.
12237
0fd48e35
VS
122382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 Satisfy some bison versions need for inttypes.h.
12241
12242 * grub-core/lib/posix_wrap/inttypes.h: New file.
12243 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12244 (int16_t): Likewise.
12245 (int32_t): Likewise.
12246 (int64_t): Likewise.
12247 Reported and tested by: Alain Greppin.
12248
43f1bc83
VS
122492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12252 Silence spurious warning.
12253 Reported and tested by: Alain Greppin.
12254
64d1f041
SJ
122552011-01-07 Szymon Janc <szymon@janc.net.pl>
12256
12257 * docs/grub.texi (Support automatic decompression): Update with xz
12258 decompression support.
12259
25953e10
SJ
122602011-01-07 Szymon Janc <szymon@janc.net.pl>
12261
12262 Improve loaders' kernel command line handling.
12263
12264 * grub-core/lib/cmdline.c: New file.
12265 * include/grub/lib/cmdline.h: Likewise.
12266 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12267 grub_create_loader_cmdline to create kernel command line.
12268 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12269 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12270 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12271 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12272 (linux): Add lib/cmdline.c on common.
12273
e72d259f
VS
122742011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12277 inopos might be unaligned.
12278
c0cf26da
VS
122792011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12282 endian transformations.
12283 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12284 Based on report by: Doug Nazar.
12285
0ca09e6c
DN
122862011-01-07 Doug Nazar <nazard.michi@gmail.com>
12287
12288 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12289 array->members[i].start_sector.
12290 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12291
014b6806
VS
122922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12295 Reported and tested by: Grégoire Sutre.
12296
415502c2
CW
122972011-01-06 Colin Watson <cjwatson@ubuntu.com>
12298
12299 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12300 avoid causing test failures by clearing the screen.
12301
71b6a2b7
CW
123022011-01-06 Colin Watson <cjwatson@ubuntu.com>
12303
12304 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12305 Fix prefix check to handle the case where dir ends with a slash
12306 (most significantly, "/" itself).
12307 Reported by: Michael Vogt.
12308
b3f8d28a
VS
123092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Run terminfo_cls on initing terminfo output to clear the screen and
12312 move the cursor to (0,0).
12313
12314 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12315 Call grub_terminfo_output_init.
12316 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12317 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12318 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12319
4c3e4f37
VS
123202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12323 only when needed.
12324
488f71f1
VS
123252011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12328 CTRL.
12329
18a38098
VS
123302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 The E820 type 5 is BADRAM, not EXEC_CODE.
12333
12334 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12335 (GRUB_E820_BADRAM): New define.
12336 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12337 into reserved. Propagate BADRAM.
12338 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12339 (GRUB_E820_BADRAM): New define.
12340
9eae2084
VS
123412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12344 Ignore the memory post-4G.
12345 (grub_relocator_firmware_alloc_region): Additional debug statement.
12346
ebc71d28
VS
123472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12350 names.
12351 Reported by: David Pravec.
12352
446fa400
VS
123532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12356 BIOSes.
12357
a0159f37
VS
123582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12361 Prevent overflow.
12362 (grub_reed_solomon_recover): Likewise.
12363
e5146ca1
VS
123642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12367
123682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12369
12370 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12371 variable.
12372
5b1bdf12
CW
123732011-01-04 Colin Watson <cjwatson@ubuntu.com>
12374
12375 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12376 descriptions of extract_legacy_entries_source and
12377 extract_legacy_entries_configfile.
12378 Reported by: Seung Soo, Ha.
12379
99d925aa
CW
123802011-01-03 Colin Watson <cjwatson@ubuntu.com>
12381
12382 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12383 on devices that do not implement function 0.
12384
4af0504b
DV
123852011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12386
12387 * grub-core/fs/hfsplus.c: Make parent unsigned.
12388 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12389 overflows.
12390 (grub_hfsplus_cmp_extkey): Likewise
12391
469ee10a
VS
123922011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * util/grub-install.in: Correctly use bootloader_id and not
12395 GRUB_DISTRIBUTOR on efibootmgr line.
12396
323a8e9c
VS
123972011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12400
1b394975
IC
124012010-12-31 Ian Campbell <ijc@hellion.org.uk>
12402
12403 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12404 Xen and reorder menu item wording to make it clearer that this entry
12405 will launch Xen. Print separate messages when loading Xen and
12406 Linux.
12407
275bff5f
VS
124082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12411 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12412 loop in case of incorrect amiga partmap.
12413
307806cb
VS
124142010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12417 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12418 Reported by:EHeM.
12419
b12b923e
VS
124202010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12423 spurious warning.
12424 Reported by: crocket
12425
14b48a19
VS
124262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12429 Preload EFIemu.
12430 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12431
693db2df
VS
124322010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12435 is loaded
12436 (grub_cmd_xnu_kextdir): Likewise.
12437 (grub_cmd_xnu_splash): Likewise.
12438
c7638645
VS
124392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 Avoid using Reed-Solomon with 0 redundancy.
12442
12443 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12444 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12445 or 0 redundancy.
12446 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12447 (grub_reed_solomon_recover): Likewise.
12448
25dd4780
VS
124492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Don't use disk subsystem in freebsd_boot.
12452
12453 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12454 (freebsd_biosdev): Likewise.
12455 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12456 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12457
0b2db943
VS
124582010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 Handling of files of unknown size is currently limited. They can't be
12461 used e.g. for initrd or modules. Moreover gzip handling of not
12462 easily seekable files is buggy. Disable unknown file size for now. May
12463 be inefficient but works.
12464
12465 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12466 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12467
5c408d0f
MP
124682010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12469
12470 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12471 floppy probe.
12472
190a011a
JD
124732010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12474
12475 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12476
022d01b8
SL
124772010-12-25 Shea Levy <shlevy>
12478
12479 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12480
c4855fdc
VS
124812010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12484 Windows Server 2008.
12485 Reported by: Devin Giddings.
12486
0354b867
VS
124872010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12490 writing an error message because of async power management.
12491 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12492 (grub_reboot): Likewise.
12493
ab66c69f
JU
124942010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12495
12496 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12497 keep unit tests from failing when they shouldn't.
12498
1426ef35
CW
124992010-12-21 Colin Watson <cjwatson@ubuntu.com>
12500
12501 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12502 previous patch increased the size of the RS code by 20 bytes (at
12503 least with gcc-4.4), so increase this by 20 bytes to match.
12504 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12505
20641b6b
CW
125062010-12-21 Colin Watson <cjwatson@ubuntu.com>
12507
12508 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12509 scratch area. Make sure to initialise chosen in standalone mode as
12510 well as non-standalone.
12511 Reported by: Robert Hooker and Andy Whitcroft.
12512 Tested by: Andy Whitcroft.
12513
d060ad60
CW
125142010-12-21 Colin Watson <cjwatson@ubuntu.com>
12515
12516 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12517 constructing a new unescaped string and passing it to grub_xputs in
12518 one go, rather than passing characters to grub_printf one at a time.
12519
b889cfad
CW
125202010-12-21 Colin Watson <cjwatson@ubuntu.com>
12521
12522 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12523 initialising utf16.
12524
4e01b6c8
CW
125252010-12-21 Colin Watson <cjwatson@ubuntu.com>
12526
12527 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12528 comment. Add an extra layer of quotation, requiring the output of
12529 this function to be used in a printf format string.
12530 (gettext_printf): New function.
12531 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12532 Extract translatable strings from here-documents and use a temporary
12533 variable instead, so that xgettext can find them.
12534 * util/grub.d/10_kfreebsd.in: Likewise.
12535 * util/grub.d/10_linux.in: Likewise.
12536 * util/grub.d/20_linux_xen.in: Likewise.
12537
12538 * po/grub.d.sed: New file.
12539 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12540 arguments. Set c-format flags on all strings extracted from
12541 util/grub.d/ (xgettext refuses to include these itself for strings
12542 it extracted from a shell file, but these really are c-format).
12543
5318fe98
VS
125442010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12547 Avoid next pointing to nowhere.
12548
6c85b743
VS
125492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12552 rather than assuming than rootblock is exactly in the middle.
12553 (grub_affs_label): Likewise.
12554
a2a08a35
VS
125552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12558 reserved_first_sector to 0.
12559 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12560 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12561 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12562
7059d1ec
VS
125632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 Fix handling of UTF-16 UDF labels.
12566
12567 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12568 (read_string): .. here.
12569 (grub_udf_label): Use read_string.
12570
30aff4cb
BC
125712010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12572
12573 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12574 editor under argument scope.
12575 Reported by: Jordan Uggla
12576
5cf86f4b
VS
125772010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12580
32570200
CW
125812010-12-18 Colin Watson <cjwatson@ubuntu.com>
12582
12583 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12584 line, and other keys scroll an entire page (previous handling was
12585 for \r and \n to scroll a page and other keys to scroll two lines).
12586
e1dffcf2
VS
125872010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12590 Set ptrdest to correct get_physical_target_address rather than
12591 incorrect get_virtual_current_address.
12592
b04298cf 125932010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12594
12595 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12596 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12597
5367ecd3
CW
125982010-12-10 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * .bzrignore: Ignore grub-core/rs_decoder.S.
12601
1fb430f8
CW
126022010-12-10 Colin Watson <cjwatson@ubuntu.com>
12603
12604 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12605 .mo/.mo.gz opening sequence to ...
12606 (grub_mofile_open_lang): ... here.
12607 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12608 * util/grub.d/00_header.in (grub_lang): Include country part of
12609 locale.
12610 Reported by: Mario Limonciello.
12611
a94a6671
RM
126122010-12-09 Robert Millan <rmh@gnu.org>
12613
12614 * NEWS: Document addition of ZFS support.
12615
24b7938b
CW
126162010-12-04 Colin Watson <cjwatson@ubuntu.com>
12617
12618 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12619 rather than `/ 2', as the latter requires -Wa,--divide which would
12620 require bumping our minimum binutils version.
12621
bddc3ef6
BC
126222010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12623
12624 * util/grub-script-check.c (main): Print script line number on
12625 error.
12626
bf78d5b2
RM
126272010-12-01 Robert Millan <rmh@gnu.org>
12628
12629 * grub-core/fs/zfs/zfs.c: New file.
12630 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12631 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12632 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12633 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12634
12635 * include/grub/zfs/dmu.h: Likewise.
12636 * include/grub/zfs/dmu_objset.h: Likewise.
12637 * include/grub/zfs/dnode.h: Likewise.
12638 * include/grub/zfs/dsl_dataset.h: Likewise.
12639 * include/grub/zfs/dsl_dir.h: Likewise.
12640 * include/grub/zfs/sa_impl.h: Likewise.
12641 * include/grub/zfs/spa.h: Likewise.
12642 * include/grub/zfs/uberblock_impl.h: Likewise.
12643 * include/grub/zfs/vdev_impl.h: Likewise.
12644 * include/grub/zfs/zap_impl.h: Likewise.
12645 * include/grub/zfs/zap_leaf.h: Likewise.
12646 * include/grub/zfs/zfs.h: Likewise.
12647 * include/grub/zfs/zfs_acl.h: Likewise.
12648 * include/grub/zfs/zfs_znode.h: Likewise.
12649 * include/grub/zfs/zil.h: Likewise.
12650 * include/grub/zfs/zio.h: Likewise.
12651 * include/grub/zfs/zio_checksum.h: Likewise.
12652
12653 * Makefile.util.def: Build ZFS into libgrubmods.
12654 * grub-core/Makefile.core.def: Build zfs.mod.
12655
3f0f3831
SJ
126562010-11-30 Szymon Janc <szymon@janc.net.pl>
12657
12658 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12659 variable.
12660 * grub-core/commands/wildcard.c (match_files): Likewise.
12661
3a4253b2
RM
126622010-11-30 Robert Millan <rmh@gnu.org>
12663
12664 * grub-core/loader/i386/bsd.c
12665 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12666 whether kernel is loaded using grub_loader_is_loaded(), rather
12667 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12668 certain error conditions.
12669
8c317b27
RM
126702010-11-30 Robert Millan <rmh@gnu.org>
12671
c5c9cd3e
RM
12672 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12673 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12674
49d3ab46
VS
126752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 Avoid using tricks for initialising endian variables.
12678
12679 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12680 Make const.
12681 (GRUB_MOD_INIT): Don't byte-swap.
12682 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12683 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12684 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12685 (grub_swap_bytes32_compile_time): Likewise.
12686 (grub_cpu_to_le32_compile_time): Likewise.
12687 (grub_cpu_to_le16_compile_time): Likewise.
12688
f420a804
VS
126892010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * util/grub-setup.c (setup): Stop recommending --force. People who
12692 understand the dangers of blocklists are able to find this option
12693 anyway and the ones who don't shouldn't use it anyway.
12694
4e7db17b
RM
126952010-11-26 Robert Millan <rmh@gnu.org>
12696
12697 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12698 Update all users.
12699
9be57a0d
CW
127002010-11-26 Colin Watson <cjwatson@ubuntu.com>
12701
12702 Fix LVM-on-RAID probing.
12703
12704 * util/grub-probe.c (probe): Remember which disk was detected as
12705 RAID (perhaps an LVM physical volume). Use that disk's raidname
12706 rather than that of the top-level disk.
12707
2c7859b3 127082010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 12709
d7647bb6
BC
12710 Fix cmdline argument quotes for setparams command of menuentry
12711 definitions.
7e623b0d
BC
12712
12713 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12714 quotes for arguments.
f866fe80 12715 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12716 grub_strchrsub function instead.
f866fe80 12717
7955bea0 12718 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12719
74f72a64
CW
127202010-11-24 Colin Watson <cjwatson@ubuntu.com>
12721
12722 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12723 effort by skipping "." and ".." entries up-front.
12724 Suggested by: Michael Lazarev.
12725
5a407278
CW
127262010-11-24 Colin Watson <cjwatson@ubuntu.com>
12727
12728 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12729 ldflags to ldadd, to fix link line ordering.
12730 (none_decompress): Likewise.
12731
3030d8ec
CW
127322010-11-24 Colin Watson <cjwatson@ubuntu.com>
12733
12734 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12735 platforms.
12736 (grub-emu-lite): Remove kern/emu/cache.S.
12737
b7fbac12
CW
127382010-11-23 Colin Watson <cjwatson@ubuntu.com>
12739
12740 * util/deviceiter.c (compare_devices): If the by-id link for a
12741 device couldn't be resolved, fall back to sorting by the by-id link
12742 rather than segfaulting.
12743 Reported and tested by: Daniel Mierswa.
12744
5225f328
CW
127452010-11-23 Colin Watson <cjwatson@ubuntu.com>
12746
12747 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12748 ldflags, to fix link line ordering.
12749
038b3ce8
CW
127502010-11-23 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12753 linkers are picky about this.
12754
bf16e98e
CW
127552010-11-23 Colin Watson <cjwatson@ubuntu.com>
12756
12757 * grub-core/Makefile.am (command.lst): Adjust sed expression
12758 ordering so that extended and priority commands aren't treated as
12759 ordinary commands.
12760
7242bab6
CW
127612010-11-23 Colin Watson <cjwatson@ubuntu.com>
12762
12763 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12764 Remove byte-swapping function calls, which are not valid in
12765 structure initialisers.
12766 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12767 non-const.
12768 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12769 grub_gpt_partition_type_bios_boot.
12770
14e8b279
CW
127712010-11-22 Colin Watson <cjwatson@ubuntu.com>
12772
12773 Fix test program build on GNU/kFreeBSD.
12774
12775 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12776 $(LIBNVPAIR)' library dependencies.
12777
e6f63338 127782010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12779
12780 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12781
cf8ffc38
CW
127822010-11-22 Colin Watson <cjwatson@ubuntu.com>
12783
12784 * util/grub-install.in: Remove excessive quoting that broke
12785 installations to RAID devices.
12786
7f8b0fd7
VS
127872010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12790 bootloader version instead of 0.
12791
dfd240b1
VS
127922010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12795 warning.
12796
7b61e609
VS
127972010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12800 retrieve the metadat sector if size isn't known.
12801 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12802
9dfe92d0
RM
128032010-11-18 Robert Millan <rmh@gnu.org>
12804
12805 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12806 with grub_memcmp().
12807
41cc919e
VS
128082010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12811 arrow.
12812 Reported by: Jordan Uggla.
12813
1afcc914
VS
128142010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Make better UTF compliant.
12817
12818 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12819 sequences as incorrect.
12820 (grub_is_valid_utf8): Likewise.
12821 (grub_utf8_to_ucs4): Likewise.
12822 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12823 (grub_ucs4_to_utf8_alloc): Likewise.
12824 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12825
f1808884
VS
128262010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Make legacy_source behave like source.
12829
12830 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12831 grub_show_menu.
12832 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12833
24ec575b
CW
128342010-11-16 Colin Watson <cjwatson@debian.org>
12835
12836 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12837 (-Wunused implies -Wunused-parameter, but not vice versa).
12838
72b7c7aa
CW
128392010-11-16 Colin Watson <cjwatson@ubuntu.com>
12840
12841 * configure.ac: Make error messages less confusing by testing for
12842 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12843 accepted, but produces a diagnostic if something else is wrong).
12844
e98937aa
VS
128452010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12848 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12849 (now unused).
12850 (grub_keyboard_controller_init)
12851 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12852 read the initial state since controller isn't inited yet.
12853
f6bbabc3
VS
128542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12857 allocate_regbeg may need to create new chunk header.
12858
22e7dbb2
VS
128592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 Fix quoting in legacy parser.
12862
12863 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12864 single quotes.
12865 (grub_legacy_parse): Likewise.
12866 Reported by: Jordan Uggla.
12867 Tested by: Jordan Uggla.
12868
03f80960
VS
128692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Don't add -lgcc on i386 and x86_64.
12872
12873 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12874 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12875 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12876
779dc15b
VS
128772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * configure.ac: Add -Wno-trampolines when supported.
12880
d20a3b37
MV
128812010-11-14 Modestas Vainius <modax@debian.org>
12882
12883 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12884 fakeraid.
12885
e5360933
GC
128862010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12887
12888 Add generic logical block size support for UDF.
12889
12890 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12891 (GRUB_UDF_BLKSZ): Removed.
12892 (struct grub_udf_data): New field "lbshift" to hold the logical block
12893 size of the file system in log2 format. All users updated.
12894 (sblocklist): Change type to unsigned.
12895 (grub_udf_mount): Change type of "sblklist" to unsigned.
12896 Move AVDP search before VRS recognition, because the latter requires
12897 knowledge of the logical block size, which is detected during the
12898 former.
12899 Detect and validate logical block size during AVDP search, adding
12900 support for block sizes 512, 1024 and 4096.
12901 Make VRS recognition independent of block size.
12902
cb0229c5
GC
129032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12904
12905 Properly handle deleted files on UDF.
12906
12907 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12908 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12909 set.
12910
406858a8
GC
129112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12912
12913 Support reading files larger than 2 GiB.
12914
12915 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12916 "offset" to grub_off_t.
12917 (grub_udf_read_file): Likewise for parameter "pos".
12918
130da6a7
VS
129192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12922 unavailable.
12923 (Simple configuration): Refer to Changes from GRUB Legacy about
12924 save_env availability.
12925
65e93f6b
VS
129262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/grub-install.in: Ignore empty partition table detection
12929 instead of trying to include part_ module.
12930
1fd08bf1
VS
129312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12934 LVM on RAID support.
12935
de1a024f
VS
129362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 Properly define WORDS_BIGENDIAN in wrapped environments.
12939
12940 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12941 definition.
12942 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12943
12944 Reported by: Manoel Rebelo Abranches.
12945 Tested by: Manoel Rebelo Abranches.
12946
bc5dd0b9
VS
129472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * util/grub-mkconfig.in: Fix quoting.
12950
58c184be
VS
129512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 Support big ext2 files.
12954
12955 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12956 (grub_ext2_read_block): Support triple indirect blocks.
12957 (grub_ext2_read_file): Use 64-bit types and read size_high.
12958 (grub_ext2_open): Read size_high.
12959 Reported by: Ximin Luo.
12960 Tested by: Manoel Rebelo Abranches.
12961
5f0c02b3
VS
129622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * util/grub-install.in: Handle filenames containing spaces.
12965 Reported by: Jordan Uggla.
12966 Tested by: Jordan Uggla.
12967
4417aae6
VS
129682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * util/grub-mkconfig.in (grub_script_check): New variable.
12971 Use grub_script_check instead of grub-script-check.
12972 Reported by: Barry Jackson.
12973
7625a68e
VS
129742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * docs/grub.texi (menu): Correct the order.
12977 Reported by: D. Hugh Redelmeier.
12978
10001ac5
VS
129792010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12982 jump.
12983
9c4cf53b
MRA
129842010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12985
10001ac5
VS
12986 * include/grub/elfload.h (grub_elf32_size): New parameter.
12987 All users updated.
9c4cf53b
MRA
12988 Return maximum segments alignment.
12989 (grub_elf64_size): Likewise.
12990 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12991 Return maximum segments alignment.
12992 (grub_elf64_size): Likewise.
12993 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12994 (grub_linux_claimmap_iterate): New function. Uses the
12995 "available" property in the "memory" node for memory allocation
12996 for kernel in the PowerPC loader.
9c4cf53b
MRA
12997 (grub_linux_load32): Correctly find linux entry point offset.
12998 (grub_linux_load64): Likewise.
12999
d2bf06bf
RM
130002010-11-07 Robert Millan <rmh@gnu.org>
13001
13002 On mips-yeeloong, build with -march=loongson2f when this flag is
13003 available (GCC >= 4.4).
13004 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13005 `-march=mips3'.
13006 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13007 or otherwise add -march=mips3.
13008
898c99a2
BC
130092010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13010
87220a68
BC
13011 Suppress shell expansion on echo '*' and echo "*" like cases.
13012 Reported by: Jordan Uggla.
898c99a2
BC
13013
13014 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13015 string arguments before shell expansion.
13016 * tests/grub_cmd_echo.in: New testcases.
13017
4f9b406a
RM
130182010-11-07 Robert Millan <rmh@gnu.org>
13019
13020 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13021 transition.
13022
80c6d25e
VS
130232010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/kern/emu/hostdisk.c
13026 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13027
4a1a0153
VS
130282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13031 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13032 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13033
34706ddc
VS
130342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13037
6972dea9
VS
130382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * util/grub-install.in: Replace useless recomendation to pass
13041 --modules with a recomendation to report a bug.
13042
9c693bd6
VS
130432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 Properly register serial terminfo.
13046 Reported by: Jordan Uggla
13047
13048 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13049 const.
13050 (grub_serial_terminfo_output_template): Likewise.
13051 (grub_cmd_serial): Register "serial" with terminfo.
13052 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13053 grub_serial_terminfo_output.
13054
6c9e4c0c
RM
130552010-11-05 Robert Millan <rmh@gnu.org>
13056
13057 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13058 needed).
13059
b9b3839f
RM
130602010-11-05 Robert Millan <rmh@gnu.org>
13061
13062 On Yeeloong, pass machine type information to Linux.
13063
13064 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13065 (LOONGSON_MACHTYPE): New macro, set to
13066 "machtype=lemote-yeeloong-2f-8.9inches".
13067 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13068 additional argument to Linux.
13069
1a3aaff4
RM
130702010-11-04 Robert Millan <rmh@gnu.org>
13071
13072 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13073 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13074 (its SATA disks are detected as slaveless IDE master drives on
13075 kFreeBSD).
13076 Reported by Carsten Aulbert.
13077
a75f4f62
CW
130782010-11-02 Colin Watson <cjwatson@ubuntu.com>
13079
13080 * util/bin2h.c (main): Fix spelling error in generated output.
13081
33b4b0c6
GS
130822010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13083
13084 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13085
2b36fbf4
VS
130862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13089 vga= option is supplied.
13090
74aaf558
VS
130912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13094 * util/grub.d/10_kfreebsd.in: Likewise.
13095 * util/grub.d/10_linux.in: Likewise.
13096 * util/grub.d/20_linux_xen.in: Likewise.
13097
6428dec3
VS
130982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13101 argument as an argument to no-argument option.
13102
f8729d98
VS
131032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 * util/grub.d/10_linux.in: Add missing load_video with explicit
13106 GRUB_GFXPAYLOAD_LINUX.
13107
89d68fa6
VS
131082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13109
13110 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13111
3a1197cd
VS
131122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13115 elements with invlid index.
13116 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13117 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13118 members.
13119 * include/grub/raid.h (grub_raid_member): New struct.
13120 (grub_raid_array): Transform devices and start_sector into usage of
13121 grub_raid_member. All users updated
13122 (allocated_devs): New member.
13123
71574288
VS
131242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13127 is modified
13128
8d40ec65
BC
131292010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13130
13131 NetBSD build fix for getline function conflict from gnulib.
13132
13133 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13134 components that depend on gnulib headers.
13135 (libgrubmods.a): Renamed from earlier libgrub.a.
13136 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13137
95b9257e
VS
131382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13141 install rather than creating a broken install.
13142
26c53dc6
VS
131432010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * util/grub-setup.c (argp): Remove misleading example of installing to
13146 a partition.
13147
4171b3c5
VS
131482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * util/grub-setup.c (setup): Clarify the error message.
13151
18568d18
VS
131522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13155
4f6a2e21
VS
131562010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 * grub-core/kern/emu/misc.c
13159 (grub_make_system_path_relative_to_its_root)
13160 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13161
131622010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13163
13164 * grub-core/kern/emu/misc.c
13165 (grub_make_system_path_relative_to_its_root): Revert r2882.
13166
e138c458
VS
131672010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13170 useless field head. All users updated.
13171 (free_subchunk): Correct handling of IN_REGION subchunk.
13172
0cbcdf0e
CW
131732010-10-22 Colin Watson <cjwatson@ubuntu.com>
13174
13175 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13176 (Supported kernels): Likewise.
13177
b65ea155
GS
131782010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13179
13180 Make mktemp invocations portable.
13181
13182 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13183 exit if mktemp fails.
13184 * tests/grub_script_blockarg.in: Likewise.
13185 * tests/partmap_test.in: Likewise.
13186 * tests/util/grub-shell-tester.in: Likewise.
13187 * tests/util/grub-shell.in: Likewise.
13188 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13189 * Makefile.am: Likewise, and chain shell commands with `&&'
13190 instead of ';'.
13191 * util/grub-mkrescue.in: Use the same explicit template as above, and
13192 exit if mktemp fails.
13193
05f43cdd
BC
131942010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13195
13196 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13197 Linux kernel, reported by Dennis Schridde.
13198
800e6a9b
SJ
131992010-10-17 Szymon Janc <szymon@janc.net.pl>
13200
13201 * grub-core/normal/auth.c (grub_auth_check_authentication):
13202 Set-but-not-used variable removed.
13203
d82df574
VS
132042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13207 32-bit linux protocol.
13208
7bced458
VS
132092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13212 cursor shape for sanity.
13213
5b027690
VS
132142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * docs/grub.texi (Installation): Document buggy BIOS install.
13217
ba5f65cf
VS
132182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * docs/grub.texi (Installation): Indent.
13221
fdf2ec9c
VS
132222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * util/grub-setup.c (setup): New parameter allow_floppy.
13225 (arguments): New member allow_floppy.
13226 (argp_parser): Handle --allow-floppy.
13227 (main): Pass allow_floppy.
13228 * util/grub-install.in: New option --allow-floppy passed though to
13229 grub-setup.
13230
861dfd4c
VS
132312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * util/grub-install.in: Handle partitionless disks.
13234
f77a8c24
VS
132352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * util/grub-setup.c (setup): Don't clean blocklists before readability
13238 verfification.
13239
27d9ee32
VS
132402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * docs/grub.texi (Installation): Document embedding zone. Remove
13243 obsolete grub-install example.
13244
6bdda8f8
SJ
132452010-10-16 Szymon Janc <szymon@janc.net.pl>
13246
13247 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13248 Set-but-not-used variable ifdef'ed.
13249 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13250 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13251 variable removed.
13252 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13253 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13254 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13255 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13256 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13257 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13258 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13259 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13260 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13261 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13262 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13263 Likewise.
13264
e19b016b
VS
132652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13268 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13269 enum value.
13270
6c8d3002
VS
132712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13274 synonym to _S5_. Needed for some DSDTs.
13275
c32b51c9
VS
132762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 Userspace ACPI parser debugging.
13279
13280 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13281 headers and add relevant defines. Don't include standard headers.
13282 (main) [GRUB_DSDT_TEST]: New function.
13283 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13284 Don't declare functions.
13285
fbfbeb39
VS
132862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 Remove dead grub_efi_mm_fini.
13289
13290 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13291 (ALLOCATED_PAGES_SIZE): Likewise.
13292 (MAX_ALLOCATED_PAGES): Likewise.
13293 (allocated_pages): Likewise.
13294 (grub_efi_allocate_pages): Don't record allocated pages.
13295 (grub_efi_free_pages): Likewise.
13296 (grub_efi_mm_init): Likewise.
13297 (grub_efi_mm_fini): Removed.
13298
65f7ed7c
VS
132992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13302 (grub_efi_mm_init): Take into account the memory map size increase.
13303
24977b44
VS
133042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13307 (serial_hw_put): Wait based on real time rather than port reads. Don't
13308 roken ports.
13309 * include/grub/serial.h (grub_serial_port): New field broken.
13310
1eb01cd2
RM
133112010-10-16 Robert Millan <rmh@gnu.org>
13312
13313 * grub-core/kern/emu/misc.c
13314 (grub_make_system_path_relative_to_its_root): Fix premature return
13315 when processing non-root ZFS filesystems.
5f8b440b 13316 Reported by Sergio Talens-Oliag.
1eb01cd2 13317
2d5fed60
RM
133182010-10-15 Robert Millan <rmh@gnu.org>
13319
13320 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13321 guarantee compressed ones are processed first.
13322
d0f4c1ea
VS
133232010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13326 grub_efiemu_autocore.
13327
d87c681f
VS
133282010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13331 rather than 0x1b.
13332 (grub_console_getkey): Use correct jae opcode rather than ja.
13333
219b3564
RM
133342010-10-12 Robert Millan <rmh@gnu.org>
13335
13336 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13337 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13338 variable. All references updated.
13339
13340 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13341
20c6bb7e
VS
133422010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Correctly distinguish mdraid flavours.
13345
13346 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13347 (insert_array): New argument raid.
13348 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13349 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13350 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13351
74baff84
VS
133522010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13355 handling of special keys.
13356
3ef068df 133572010-10-02 Aleš Nesrsta <starous@volny.cz>
13358
c7980ad9
VS
13359 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13360 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13361
a9455194 133622010-10-02 Aleš Nesrsta <starous@volny.cz>
13363
c7980ad9
VS
13364 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13365 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13366 users updated.
a9455194 13367 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13368 Use right endpoint when querying descriptor.
a9455194 13369
441cfe65
VS
133702010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 Clear out 0x80 color bit on EFI.
13373 Tested by: decoder
13374 Reported by: decoder and meta tech.
13375
13376 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13377 (grub_console_setcolorstate): Clear out 0x80 bit.
13378 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13379 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13380 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13381
bf26bcc4
VS
133822010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13385 Set to "auto".
13386
6e3c515d
VS
133872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13390 mo_file after freeing.
13391
e6d983ba
VS
133922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13395
74ccb5b5
VS
133962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13399 flags.
13400
17821956
VS
134012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13404 usage.
13405
ee74fa48
VS
134062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13409
13410 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13411 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13412 and terminfo.h when needed.
13413 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13414 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13415 (terminfo): Enable only on terminfokernel.
13416 (extcmd): Likewise.
13417 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13418 * include/grub/lib/arg.h: Likewise.
13419 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13420 incorrect usage of ->.
13421
aa438e68
VS
134222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13425 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13426
57994012
VS
134272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 Fix coreboot compilation.
13430
13431 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13432 Take VBE info into account even if only text is supported.
13433 (fill_vbe_info): Take into account the case when only VGA text
13434 is supported.
13435 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13436 on coreboot, multiboot and qemu.
13437
2a406611
VS
134382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13441 debug messages.
13442 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13443
d33613fc
VS
134442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13447 parameters.
13448
44a1b432
VS
134492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13452 if they were BSD-style.
13453
edde54e6
VS
134542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/boot/i386/pc/lnxboot.S: Replace
13457 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13458 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13459
b65830fa
VS
134602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 Write embedding zone using Reed-Solomon.
13463
13464 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13465 * grub-core/Makefile.am (rs_decoder.S): New target.
13466 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13467 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13468 (multiboot): Move to RS part.
13469 (post_reed_solomon): New label.
13470 (grub_boot_drive): Move to non-RS part since it's modified in memory
13471 on boot.
13472 Include rs_decoder.S.
13473 * grub-core/lib/reed_solomon.c: New file.
13474 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13475 New definition.
13476 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13477 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13478 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13479 * include/grub/partition.h (grub_partition_map): Change prototype of
13480 embed to allow returning additional sectors.
13481 * include/grub/reed_solomon.h: New file.
13482 * util/grub-setup.c (setup): Handle Reed-Solomon.
13483
0b4b227f
CW
134842010-09-28 Colin Watson <cjwatson@ubuntu.com>
13485
13486 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13487 i386 and x86-64 definedness tests.
13488
f772623b
YB
134892010-09-27 Yves Blusseau <blusseau@zetam.org>
13490
13491 Fix generation of kernel_syms.lst
13492
13493 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13494 ASM_PREFIX
13495
8e57a6ca
RM
134962010-09-26 Robert Millan <rmh@gnu.org>
13497
13498 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13499
13500 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13501 the pool is an array of devices, iterate through it and return the
13502 first device that passes a stat() test (instead of blindly returning
13503 the first one).
13504
f9130836
RM
135052010-09-26 Robert Millan <rmh@gnu.org>
13506
13507 Build fixes for GNU/kFreeBSD.
13508
13509 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13510 to programs that require ZFS conversion.
13511 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13512 kernels that don't have FLOPPY_MAJOR.
13513
96510faf
BC
135142010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13515
13516 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13517
449333eb
BC
135182010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13519
13520 Fix grub-emu build.
13521
13522 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13523 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13524 mdraid09 and mdraid1x.
13525
e1fd1939
CW
135262010-09-24 Colin Watson <cjwatson@ubuntu.com>
13527
13528 Re-enable grub-extras.
13529
13530 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13531 avoid confusing Automake. Run autogen only twice, once for the top
13532 level and once for grub-core. Add Makefile.util.def and
13533 Makefile.core.def from extra modules to the appropriate autogen
13534 invocations. If Makefile.common exists in an extra module, include
13535 it in both Makefile.util.am and grub-core/Makefile.core.am;
13536 similarly, include any Makefile.util.common file in Makefile.util.am
13537 and any Makefile.core.common file in grub-core/Makefile.core.am.
13538 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13539 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13540 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13541 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13542
13543 * gentpl.py (gvar_add): Turn GVARS into a set.
13544 (global_variable_initializers): Sort global variables on output.
13545 (vars_init): New function.
13546 (first_time): Likewise.
13547 (library): Ensure that non-global variable initialisations are
13548 emitted before the first time we emit code for a library block.
13549 Append to variables rather than setting them. Only emit
13550 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13551 each conditional path.
13552 (program): installdir() emits an Autogen macro, so must be passed to
13553 var_add rather than gvar_add.
13554 (data): Likewise.
13555 (script): Likewise.
13556 (rules): New function, centralising handling for different target
13557 types. Set up Guile association lists for first_time and vars_init,
13558 and send most output to a diversion so that variable initialisations
13559 can be emitted first.
13560 (module_rules): Use new rules function.
13561 (kernel_rules): Likewise.
13562 (image_rules): Likewise.
13563 (library_rules): Likewise.
13564 (program_rules): Likewise.
13565 (script_rules): Likewise.
13566 (data_rules): Likewise.
13567
13568 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13569
13570 * .bzrignore: Add contrib and grub-core/contrib. Remove
13571 grub-core/Makefile.gcry.am.
13572
1d12cf29
YB
135732010-09-24 Yves Blusseau <blusseau@zetam.org>
13574
13575 * grub-core/lib/LzFind.c: Add missing include.
13576 * grub-core/lib/LzmaEnc.c: Likewise.
13577 * grub-core/script/lexer.c: Likewise.
13578 * grub-core/script/yylex.l: Likewise.
13579 * util/grub-macho2img.c: Likewise.
13580 * util/grub-menulst2cfg.c: Likewise.
13581 * util/grub-mklayout.c: Likewise.
13582 * util/grub-mkpasswd-pbkdf2.c
13583 * util/grub-mkrelpath.c: Likewise.
13584 * util/resolve.c: Likewise.
13585
dd363028
BC
135862010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13587
13588 * Makefile.util.def (example_unit_test): Add
13589 grub-core/gnulib/libgnu.a.
13590
f5a109e2
GS
135912010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13592
13593 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13594
6d0fa83c
VS
135952010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 Support xz compression on yeeloong.
13598
13599 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13600 * configure.ac: Check for LZMA.
13601 * grub-core/Makefile.core.def (xz_decompress): New target.
13602 (none_decompress): Likewise.
13603 * grub-core/boot/decompressor/minilib.c: New file.
13604 * grub-core/boot/decompressor/none.c: Likewise.
13605 * grub-core/boot/decompressor/xz.c: Likewise.
13606 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13607 * grub-core/kern/mips/cache_flush.S: Likewise.
13608 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13609 * grub-core/kern/mips/startup.S: Move first stage to ...
13610 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13611 nomacro.
13612 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13613 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13614 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13615 Allocate statically.
13616 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13617 Allocate statically or use scratch. Don't check CRC32.
13618 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13619 Allocate statically. Don't check CRC32.
13620 * include/grub/decompressor.h: New file.
13621 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13622 Removed.
13623 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13624 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13625 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13626 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13627 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13628 * util/grub-mkimage.c (grub_compression_t): New type.
13629 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13630 (image_target_desc): New field default_compression.
13631 (image_targets): Adjust yeeloong targets.
13632 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13633 (compress_kernel): New parameter comp.
13634 (generate_image): Likewise. Handle new compression case.
13635 (options): New option --compression
13636 (help): Likewise.
13637 (main): Handle new option.
13638
1b655af6
GS
136392010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13640
13641 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13642
8f03f0b5
CW
136432010-09-22 Colin Watson <cjwatson@ubuntu.com>
13644
13645 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13646 typo in __i386__ conditional.
13647
7835dfd3
VS
136482010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13651 include.
13652
e255597e
VS
136532010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13654
6d0fa83c 13655 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13656
13657 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13658 new tags as supported.
13659 (acpiv2_size): New function.
13660 (grub_multiboot_get_mbi_size): Take new tags into account.
13661 (grub_multiboot_make_mbi): Add new tags.
13662 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13663
6cc14051 136642010-09-21 Aleš Nesrsta <starous@volny.cz>
13665
13666 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13667 Added missing configuration of USB device.
13668
df7769d8
CW
136692010-09-21 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * grub-core/normal/menu_entry.c (run): Make sure we always return
13672 a value.
13673
b031012d
CW
136742010-09-21 Colin Watson <cjwatson@ubuntu.com>
13675
13676 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13677 NumberOfPages is UINT64 according to the UEFI specification, not
13678 UINTN. Fix printf format.
13679
174de8f3
CW
136802010-09-21 Colin Watson <cjwatson@ubuntu.com>
13681
13682 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13683 `err' to grub_usb_err_t.
13684 Reported and tested by: KESHAV P.R.
13685
d7dbe923
CW
136862010-09-21 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13689 tpart non-const, so that we can assign to it. (Since this is a
13690 typedef, the constness refers to the pointer rather than what it
13691 points to.)
13692
8d5e2af3
CW
136932010-09-21 Colin Watson <cjwatson@ubuntu.com>
13694
13695 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13696 $(top_srcdir)/grub-core/gnulib as well as
13697 $(top_builddir)/grub-core/gnulib.
13698 Reported by: KESHAV P.R.
13699
5c527783
CW
137002010-09-21 Colin Watson <cjwatson@ubuntu.com>
13701
13702 * util/grub-install.in: Fix the bootloader ID option to be
13703 consistently --bootloader-id, not --bootloader_id.
13704 Reported by: KESHAV P.R.
13705
d309a16e
CW
137062010-09-21 Colin Watson <cjwatson@ubuntu.com>
13707
13708 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13709 check hash checksum." consistently translatable.
13710
b830cd16
YB
137112010-09-21 Yves Blusseau <blusseau@zetam.org>
13712
13713 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13714 $(top_builddir).
13715
c4fe27a8
CW
137162010-09-21 Colin Watson <cjwatson@ubuntu.com>
13717
13718 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13719 (GRUB_MOD_INIT): Register sha1sum command.
13720 (GRUB_MOD_FINI): Unregister sha1sum command.
13721
a4c1d277
YB
137222010-09-21 Yves Blusseau <blusseau@zetam.org>
13723
13724 Keep boot and grub directory names in sync with utils scripts
13725
13726 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13727 * config.h.in: Add previous macros.
13728 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13729 * util/grub-install.in: Use $bootdir and $grubdir variables.
13730
4eff79d2
CW
137312010-09-21 Colin Watson <cjwatson@ubuntu.com>
13732
13733 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13734 convert partition names to disk names if the new `convert' parameter
13735 is set.
13736 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13737 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13738 disk in its own right. This can happen with Xen disk images.
13739
934d7e44
YB
137402010-09-21 Yves Blusseau <blusseau@zetam.org>
13741
13742 * util/grub-editenv.c: Update strings to avoid warnings when generating
13743 grub.pot file.
13744 * util/grub-setup.c: Likewise.
934d7e44 13745
df3367cc
VS
137462010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * configure.ac: Change version to 1.99~beta0.
13749
77a94e98
VS
137502010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13753 Add BADRAM.
13754 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13755 Likewise.
13756 * include/multiboot.h: Resynced with specification.
13757 * include/multiboot2.h: Likewise.
13758
269004c1
CW
137592010-09-21 Colin Watson <cjwatson@ubuntu.com>
13760
13761 Fix po directory handling.
13762
13763 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13764 * grub-core/gnulib/Makefile.am: Import gettext module.
13765 * m4/gnulib-cache.m4: Likewise.
13766 * m4/gnulib-comp.m4: Likewise.
13767 * m4/gettext.m4: New file, from gnulib.
13768 * m4/glibc2.m4: Likewise.
13769 * m4/iconv.m4: Likewise.
13770 * m4/intdiv0.m4: Likewise.
13771 * m4/intl.m4: Likewise.
13772 * m4/intldir.m4: Likewise.
13773 * m4/intlmacosx.m4: Likewise.
13774 * m4/intmax.m4: Likewise.
13775 * m4/inttypes-pri.m4: Likewise.
13776 * m4/lcmessage.m4: Likewise.
13777 * m4/lib-ld.m4: Likewise.
13778 * m4/lib-link.m4: Likewise.
13779 * m4/lib-prefix.m4: Likewise.
13780 * m4/lock.m4: Likewise.
13781 * m4/nls.m4: Likewise.
13782 * m4/po.m4: Likewise.
13783 * m4/printf-posix.m4: Likewise.
13784 * m4/progtest.m4: Likewise.
13785 * m4/threadlib.m4: Likewise.
13786 * m4/uintmax_t.m4: Likewise.
13787 * m4/visibility.m4: Likewise.
13788 * po/Makefile.am: Remove.
13789 * po/Makefile.in.in: New file, from gettext.
13790 ($(DOMAIN).pot-update): Support POTFILES-shell.
13791 * po/Makevars: New file.
13792 * po/POTFILES-shell: Rename to ...
13793 * po/POTFILES-shell.in: ... this. Update.
13794 * po/POTFILES: Rename to ...
13795 * po/POTFILES.in: ... this. Update.
13796 * po/Rules-quot: New file, from gettext.
13797 * po/boldquot.sed: Likewise.
13798 * po/en@boldquot.header: Likewise.
13799 * po/en@quot.header: Likewise.
13800 * po/insert-header.sin: Likewise.
13801 * po/quot.sed: Likewise.
13802 * po/remove-potcdate.sin: Likewise.
13803
3e0fa5d0
VS
138042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13807
ade9bd66
VS
138082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * util/grub.d/20_linux_xen.in: Use submenus.
13811
fc55cc4c
VS
138122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 Support submenus.
13815
13816 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13817 parameter submenu. All users updated.
13818 * grub-core/normal/main.c (free_menu): Rename to ...
13819 (grub_normal_free_menu): ... this. Made global.
13820 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13821 if requested.
13822 * grub-core/normal/menu_entry.c (screen): New field submenu.
13823 (make_screen): Set submenu.
13824 (run): Open new context if requested.
13825 * include/grub/menu.h (grub_menu_entry): New field submenu.
13826 * include/grub/normal.h (grub_normal_free_menu): New proto.
13827
600cedf7
VS
138282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 Menu entries extractor.
13831
13832 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13833 variants.
13834 (GRUB_MOD_INIT): Register new variants.
13835 (GRUB_MOD_FINI): Unregister new variants.
13836 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13837 into grub_cmd_legacy_source.
13838 (grub_cmd_legacy_source): Implement extractor variants.
13839 (GRUB_MOD_INIT): Register new variants.
13840 (GRUB_MOD_FINI): Unregister new variants.
13841 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13842 as an extractor.
13843 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13844 search as an extractor.
13845 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13846 test as an extractor.
13847 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13848 as an extractor.
13849 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13850 (grub_env_new_context): New function.
13851 (grub_env_context_open): Likewise.
13852 (grub_env_extractor_open): Likewise.
13853 (grub_env_extractor_close): Likewise.
13854 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13855 grub_extractor_level.
13856 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13857 * include/grub/env.h (grub_env_extractor_open): New proto.
13858 (grub_env_extractor_close): Likewise.
13859 * include/grub/normal.h (grub_extractor_level): New external variable.
13860
7bda3a87
VS
138612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 Make cutmem accept a region specification.
13864 Suggested by: Samuel Thibault
13865
13866 * grub-core/mmap/mmap.c (parsemem): New function.
13867 (grub_cmd_cutmem): Handle new arguments.
13868
2ea57f88
VS
138692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 New command cutmem.
13872
13873 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13874 (GRUB_MOD_INIT): Register new command.
13875 (GRUB_MOD_FINI): Unregister new command.
13876
74342e31
VS
138772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 Support some annoying BSD and Minix subpartitions.
13880
13881 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13882 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13883 Properly handle concatenation.
13884 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13885 * grub-core/normal/completion.c (iterate_partition): Likewise.
13886 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13887 contain partition. All users updated.
13888 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13889 struct.
13890 (grub_openbsdlabel_partition_map): Likewise.
13891 (bsdlabel_partition_map_iterate): Rename to ..
13892 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13893 (bsdlabel_partition_map_iterate): New function.
13894 (netopenbsdlabel_partition_map_iterate): Likewise.
13895 (netbsdlabel_partition_map_iterate): Likewise.
13896 (openbsdlabel_partition_map_iterate): Likewise.
13897 (GRUB_MOD_INIT): Register new partmaps.
13898 (GRUB_MOD_FINI): Unregister new partmaps.
13899 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13900 (grub_partition_msdos_iterate): ... this. All users updated.
13901 Don't support embedding other than in a minix partition.
13902 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13903 proto.
13904 * include/grub/partition.h (grub_partition): New field msdostype.
13905 * util/grub-install.in: Handle openbsd and netbsd types being in
13906 part_bsd module.
13907
1e8d555b
VS
139082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13911
13912 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13913 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13914 (mdraid09): ... this.
13915 (mdraid1x): New module.
13916 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13917 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13918
899d8af4
VS
139192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13922 vsprintf.
13923
40901acd
CW
139242010-09-20 Colin Watson <cjwatson@ubuntu.com>
13925
13926 * grub-core/commands/efi/lsefimmap.c: Correct header.
13927 * NEWS: Update.
13928
dfe3b247
CW
139292010-09-20 Colin Watson <cjwatson@ubuntu.com>
13930
13931 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13932 as printf format strings; the translations might contain '%' which
13933 could cause a crash.
13934 (main): Likewise.
13935 * util/grub-fstest.c (argp_parser): Likewise.
13936 * util/grub-setup.c (argp_parser): Likewise.
13937 (main): Likewise.
13938
3286a4b4
VS
139392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 Use argp in grub-fstest.
13942
13943 * util/grub-fstest.c: Don't include getopt.h.
13944 Include argp.h.
13945 (root): New variable.
13946 (args_count): Likewise.
13947 (nparm): Likewise.
13948 (num_disks): Likewise.
13949 (images): Likewise.
13950 (cmd): Likewise.
13951 (debug_str): Likewise.
13952 (args): Likewise.
13953 (options): Transformed to argp.
13954 (usage): Removed.
13955 (main): Split argument parsing into ...
13956 (argp_parser): ... this. Changed to argp format.
13957 (argp): New variable.
13958 (main): Use argp_parse.
13959
3dccbe4b
TG
139602010-09-20 Tristan Gingold <gingold@free.fr>
139612010-09-20 Robert Millan <rmh.grub@aybabtu.com>
139622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/commands/efi/lsefimmap.c: New file.
13965 * grub-core/Makefile.core.def (lsefimmap): New module.
13966 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13967
38c259a7
VS
139682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 Pause the execution (10s max) if any errors are displayed so the user
13971 has a chance to see them.
13972
13973 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13974 (grub_print_error): Increment grub_err_printed_errors.
13975 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13976 execution if any errors were displayed.
13977 (show_menu): Remove old code for pause.
13978 * grub-core/normal/menu_entry.c (run): Likewise.
13979 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13980 users updated.
13981 (grub_normal_get_char_counter): Likewise.
13982 * include/grub/err.h (grub_err_printed_errors): New external variable.
13983 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13984
f218b09c
VS
139852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Support multiboot VBE info.
13988
13989 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13990 Take VBE info into account.
13991 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13992 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13993 Call fill_vbe_info when appropriate.
13994 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13995 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13996 as supported.
13997 (grub_multiboot_get_mbi_size): Take new tags into account.
13998 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13999 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14000 Call fill_vbe_tag when appropriate.
14001 (grub_multiboot_make_mbi): Properly align tags.
14002 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14003 function.
14004 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14005 proto.
14006 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14007
a9cc5438
VS
140082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 Suport manual terminal geometry specification.
14011
14012 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14013 Save state in grub_ofconsole_terminfo_output.
14014 (grub_ofconsole_term): Use grub_terminfo_getwh.
14015 (grub_ofconsole_getwh): Removed.
14016 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14017 (grub_serial_term): Use grub_terminfo_getwh.
14018 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14019 (options): New struct.
14020 (OPTION_*): New enum.
14021 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14022 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14023 width and height.
14024 (grub_terminfo_getwh): New proto.
14025 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14026
1a8fed20
VS
140272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 Handle legacy "terminal" command.
14030
14031 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14032 and FLAG_TERMINAL.
14033 (legacy_commands): Add terminal and title.
14034 (grub_legacy_parse): Handle terminal. Simplify title handling.
14035
41e9c57d
VS
140362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14039 parameters overflow.
14040
61c874c5
CW
140412010-09-20 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14044 widthspec.h.
14045
14046 * docs/grub.texi (Shell-like scripting): Document `!'.
14047 (Network): Simplify using new i386-pc-pxe format. Mention
14048 grub-mknetdir.
14049
14050 * NEWS: Update.
14051
943682b4
CW
140522010-09-20 Colin Watson <cjwatson@ubuntu.com>
14053
14054 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14055 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14056 when needed.
14057
6d3d698d
CW
140582010-09-20 Colin Watson <cjwatson@ubuntu.com>
14059
14060 * grub-core/commands/efi/lsefisystab.c: Correct header.
14061 * grub-core/commands/efi/lssal.c: Likewise.
14062 * grub-core/commands/testload.c: Likewise.
14063
c982589f
CW
140642010-09-20 Colin Watson <cjwatson@ubuntu.com>
14065
14066 * util/grub-mkrescue.in: Add explicit root argument to --set to
14067 prevent the UUID being interpreted as an argument to --set (matches
14068 previous change to prepare_grub_to_access_device).
14069
a63c31b6
CW
140702010-09-20 Colin Watson <cjwatson@ubuntu.com>
14071
14072 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14073 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14074 the verbosity of later #ifs.
14075 (find_partition_start): Define this function on FreeBSD too.
14076 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14077 function.
14078 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14079 on FreeBSD.
14080
6439b8ee
YB
140812010-09-20 Yves Blusseau <blusseau@zetam.org>
14082
14083 * util/grub-editenv.c: Use argp instead of getopt.
14084
c5930ec8
YB
140852010-09-20 Yves Blusseau <blusseau@zetam.org>
14086
14087 * util/grub-setup.c: Use argp instead of getopt.
14088
15c69261
YB
140892010-09-20 Yves Blusseau <blusseau@zetam.org>
14090
14091 Use gnulib-tool to create gnulib source files.
14092
14093 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14094 grub-core/gnulib directories
14095 * .bzignore: Add **/.deps and autogenerated gnulib files
14096 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14097 of gnulib macros, add grub-core/gnulib/Makefile
14098 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14099 include m4 directory to aclocal.
14100 * Makefile.util.def: Remove direct compilation of gnulib source files
14101 and use the new grub-core/gnulib/libgnu.a.
14102 * build-aux/config.rpath: move config.rpath from top directory to
14103 build-aux
14104 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14105 in gnulib headers
14106 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14107 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14108 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14109 header.
14110 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14111 string.
14112
e511c9f5
YB
141132010-09-20 Yves Blusseau <blusseau@zetam.org>
14114
14115 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14116 grub-core/genmod.sh and grub-core/gensyminfo.sh
14117
c2dede05
BC
141182010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14119
14120 Add a test for echo command options.
14121
14122 * tests/grub_cmd_echo.in: New test.
14123 * Makefile.util.def: Rules for new test.
14124
c55f5018
SJ
141252010-09-20 Szymon Janc <szymon@janc.net.pl>
14126
14127 Remove crc.mod and move crc command to hashsum.mod.
14128 Remove lib/crc.c - users updated to use gcrypt implementation.
14129
14130 * grub-core/commands/crc.c: Removed.
14131 * grub-core/Makefile.core.def (crc): Module removed.
14132 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14133 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14134 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14135 * grub-core/lib/crc.c: Removed.
14136 * include/grub/lib/crc.h: Removed.
14137 * Makefile.util.def (crc): Remove lib/crc.c
14138 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14139 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14140 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14141 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14142 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14143 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14144
e0337366
VS
141452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14148
742f9232
VS
141492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 Split config.h for util and core.
14152
14153 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14154 (ADDR32): Likewise.
14155 (DATA32): Likewise.
14156 (BSS_START_SYMBOL): Likewise.
14157 (END_SYMBOL): Likewise.
14158 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14159 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14160 * config.h.in: New file.
14161 * configure.ac: Use config-util.h as config define file.
14162 Rename MACHINE into GRUB_MACHINE. All users updated.
14163 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14164 updated.
14165 (NESTED_FUNC_ATTR): Likewise.
14166 Substitue new variables.
14167 (COND_HAVE_ASM_USCORE): New conditional.
14168 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14169 (kernel_syms.lst): Use ASM_PREFIX.
14170 * grub-core/kern/emu/console.c: Include config-util.h.
14171 * grub-core/kern/emu/misc.c: Likewise.
14172 * grub-core/kern/emu/mm.c: Likewise.
14173 * include/grub/emu/misc.h: Likewise.
14174 * include/grub/libgcc.h: Likewise.
14175
39feb0e8
VS
141762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14179 constants usage.
14180 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14181 Fix GRUB_TERM_KEY_* constants usage.
14182 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14183
9af6dac3
VS
141842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14187 print pointer.
14188 * grub-core/bus/usb/uhci.c: Remove empty define.
14189 (grub_uhci_check_transfer): Add missing cast.
14190 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14191 print pointer.
14192 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14193 PRIuGRUB_SIZE.
14194 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14195
d6d94820
VS
141962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/Makefile.core.def (legacycfg): Add
14199 lib/i386/pc/vesa_modes_table.c on emu.
14200
3572f2b6
BC
142012010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14202
14203 Reduce number of temporary files generated by build system.
14204
14205 * grub-core/gencmdlist.sh: Removed.
14206 * grub-core/genfslist.sh: Removed.
14207 * grub-core/genhandlerlist.sh: Removed.
14208 * grub-core/genmodsrc.sh: Removed.
14209 * grub-core/genpartmaplist.sh: Removed.
14210 * grub-core/genparttoollist.sh: Removed.
14211 * grub-core/gentermiinallist.sh: Removed.
14212 * grub-core/genvideolist.sh: Removed.
14213
14214 * grub-core/genmod.sh.in: New file.
14215 * grub-core/gensyminfo.sh.in: New file.
14216
14217 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14218 * conf/Makefile.extra-dist: Update with new files.
14219 * gentpl.py: Remove rules related to unnecessary temporary files.
14220 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14221 and und-* files.
14222 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14223 genmod.sh scripts.
14224 * grub-core/bus/usb/uhci.c: Remove empty #define.
14225 * grub-core/genmoddep.awk: Updated with new syminfo format.
14226 * util/bash-completion.d/Makefile.am: Add config.log to
14227 CLEANFILES.
14228
c836b030
YB
142292010-09-19 Yves Blusseau <blusseau@zetam.org>
14230
14231 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14232
2f4e8053
BC
142332010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14234
14235 * util/grub-mkconfig.in: Check the config script for syntax errors
14236 before saving.
14237
75831c34
CW
142382010-09-19 Colin Watson <cjwatson@ubuntu.com>
142392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14242 platforms.
14243 * util/grub-install.in: Add EFI and IEEE1275 support.
14244 * util/i386/efi/grub-install.in: Removed.
14245 * util/ieee1275/grub-install.in: Likewise.
14246
eaf41b25
VS
142472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14250 (grub_cmd_cmosclean): Likewise.
14251 (GRUB_MOD_INIT): Register command cmosclean.
14252 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14253 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14254
1a9130dd
CPE
142552010-09-18 Carles Pina i Estany <carles@pina.cat>
142562010-09-18 Aleš Nesrsta <starous@volny.cz>
142572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 Add keyboard layouts support.
14260
14261 * Makefile.util.def (grub-mklayout): New file.
14262 (grub-kbdcomp): New script.
14263 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14264 Add keyboard_layouts.h.
14265 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14266 commands/boot.c on yeeloong.
14267 (keylayouts): New module.
14268 * grub-core/bus/usb/ohci.c
14269 * grub-core/bus/usb/uhci.c
14270 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14271 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14272 (attach_root_port): Likewise.
14273 (poll_nonroot_hub): Likewise.
14274 (grub_usb_poll_devices): Likewise.
14275 (detach_device): Close transfer.
14276 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14277 function.
14278 (grub_usb_bulk_setup_readwrite): Likewise.
14279 (grub_usb_bulk_finish_readwrite): Likewise.
14280 * grub-core/commands/keylayouts.c: New file.
14281 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14282 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14283 aliases.
14284 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14285 support scancode 2.
14286 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14287 * include/grub/keyboard_layouts.h: New file.
14288 * util/grub-mklayout.c: New file.
14289 * util/grub-kbdcomp.in: Likewise.
14290
a1d84a5e
VS
142912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 Unify memory types.
14294
14295 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14296 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14297 types.
14298 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14299 (grub_upper_mem): Likewise.
14300 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14301 * include/grub/memory.h (grub_memory_type_t): New enum.
14302 All users updated.
14303
9696382e
VS
143042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/Makefile.core.def (lsapm): New module.
14307 * grub-core/commands/i386/pc/lsapm.c: New file.
14308 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14309 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14310 Likewise.
14311 * include/grub/i386/pc/apm.h: New file.
14312 * include/multiboot.h (multiboot_apm_info): New struct.
14313
143142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 GRUB-legacy configuration file support.
14317
14318 * Makefile.util.def (grub-menulst2cfg): New util.
14319 * docs/man/grub-menulst2cfg.h2m: New file.
14320 * grub-core/Makefile.core.def (legacycfg): New module.
14321 * grub-core/commands/legacycfg.c: New file.
14322 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14323 (grub_normal_add_menu_entry): ... this.
14324 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14325 (grub_normal_set_password): ...this.
14326 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14327 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14328 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14329 * grub-core/lib/legacy_parse.c: New file.
14330 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14331 * include/grub/i386/pc/vesa_modes_table.h: New file.
14332 * include/grub/legacy_parse.h: Likewise.
14333 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14334 * util/grub-menulst2cfg.c: New file.
14335
bf8d1338
CW
143362010-09-17 Colin Watson <cjwatson@ubuntu.com>
14337
14338 * grub-core/kern/emu/hostdisk.c
14339 (convert_system_partition_to_system_disk): Initialise node.
14340
9c0bad2e
CW
143412010-09-17 Colin Watson <cjwatson@ubuntu.com>
14342
14343 * grub-core/kern/emu/hostdisk.c
14344 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14345 leak.
14346 Reported and based on patch by: Modestas Vainius.
14347
a939d135
CW
143482010-09-17 Colin Watson <cjwatson@ubuntu.com>
14349
14350 Fix DM-RAID probing with recent versions of device-mapper udev
14351 rules.
14352
14353 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14354 canonicalise device paths under /dev/mapper/.
14355 (convert_system_partition_to_system_disk): Compare the
14356 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14357 path, since device nodes under /dev/mapper/ are often symlinks.
14358
0f7ee3c9
YB
143592010-09-17 Yves Blusseau <blusseau@zetam.org>
14360
14361 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14362
10854d0d
YB
143632010-09-16 Yves Blusseau <blusseau@zetam.org>
14364
14365 * configure.ac: Avoid some annoying error messages if freetype-config
14366 program is not found.
14367
108538d8
CW
143682010-09-16 Colin Watson <cjwatson@ubuntu.com>
14369
14370 Support RAID on virtio devices, and others.
14371
14372 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14373 Rename to ...
14374 [__MINGW32__] (grub_find_device): ... this.
14375 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14376 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14377 reasonable default if dir is NULL.
14378 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14379 ...
14380 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14381 (grub_guess_root_device): Update callers.
14382 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14383
14384 * util/raid.c (grub_util_getdiskname): Remove.
14385 (grub_util_raid_getmembers): Use grub_find_device rather than
14386 grub_util_getdiskname.
14387
e5bfc130
CW
143882010-09-16 Colin Watson <cjwatson@ubuntu.com>
14389
14390 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14391 needing to be compiled with serial support.
14392 (ls): Indicate that multiple files are accepted.
14393 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14394 indicate that multiple files are accepted.
14395
be458ae2
CW
143962010-09-16 Colin Watson <cjwatson@ubuntu.com>
14397
14398 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14399 libgrub_a_init.c, and util/bash-completion.d/grub.
14400
cb731b5e
VS
144012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 * util/grub-setup.c (setup): Fix incorrect container semantics.
14404
35139e8a
VS
144052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14408 misusage.
14409 Reported by: J. Nick Terry
14410
e50fca4a
VS
144112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 Move embedding routines to partmap sources files.
14414
14415 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14416 [GRUB_UTIL]: New variable.
14417 (gpt_partition_map_iterate): Set part.parent.
14418 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14419 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14420 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14421 New function.
14422 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14423 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14424 (grub_partition_map) [GRUB_UTIL]: New field embed.
14425 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14426 (setup): Use ->embed.
14427
f00478b7
VS
144282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14431 function.
14432 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14433 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14434
2b94e3ff
YB
144352010-09-15 Yves Blusseau <blusseau@zetam.org>
14436
14437 Add function to get completions from usage.
14438
14439 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14440 completions from usage. Use LC_ALL=C to get options properly.
14441
2e04a006
VS
144422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * grub-core/gnulib/basename-lgpl.c: Imported.
14445 * grub-core/gnulib/basename.c: Likewise.
14446 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14447 * grub-core/gnulib/dirname.c: Likewise.
14448 * grub-core/gnulib/dirname.h: Likewise.
14449 * grub-core/gnulib/stripslash.c: Likewise.
14450
5dcdf93a
VS
144512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * grub-core/gnulib/error.c: Resynced.
14454 * grub-core/gnulib/getopt.c: Likewise.
14455 * grub-core/gnulib/getopt_int.h: Likewise.
14456 * grub-core/gnulib/regex.h: Likewise.
14457 * grub-core/gnulib/regex_internal.c: Likewise.
14458 * grub-core/gnulib/regex_internal.h: Likewise.
14459
014f47b7
SJ
144602010-09-15 Szymon Janc <szymon@janc.net.pl>
14461
14462 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14463 CRC calculations and validity checks.
14464 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14465 calculations.
14466
dd521a4a
SJ
144672010-09-15 Szymon Janc <szymon@janc.net.pl>
14468
14469 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14470
79c4eeb9
VS
144712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 Fix incorrect echo options handling.
14474 Reported by: Yves Blusseau.
14475
14476 * include/grub/command.h (grub_command_flags_t): New flags
14477 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14478 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14479 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14480
ed80f7d5
VS
144812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14484 users updated.
14485 (GRUB_COMMAND_FLAG_MENU): Likewise.
14486 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14487 (GRUB_COMMAND_FLAG_TITLE): Removed.
14488 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14489 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14490 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14491 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14492 (grub_command_flags_t): New enum. All users updated.
14493
5fe7620a
SG
144942010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14495
14496 Fix solaris compilation.
14497
14498 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14499 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14500 (grub-emu-list): Likewise.
14501
545b752f
VS
145022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 Remove deprecated root command.
14505
14506 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14507 updated.
14508
6c1a338c
VS
145092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * util/i386/pc/grub-setup.c: Merge this ...
14512 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14513 * util/grub-setup.c: ... into this.
14514 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14515 New struct.
14516
145172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14520 possible.
14521
d2ea4551
VS
145222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14525 allocate p.
14526
3c3b5040
VS
145272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14530 explicit root argument to set to prevent UUID to be interpreted as
14531 argument to set.
14532
b71c3fae
VS
145332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14536
275433e6
VS
145372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Don't export grub_gate_a20.
14540
14541 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14542 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14543 to ...
14544 (grub_gate_a20): ... this. All users updated.
14545 * include/grub/i386/pc/init.h: Removed. All users updated.
14546
a5dbb1f1
VS
145472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 Create euro.pf2 which supports most European languages.
14550
14551 * Makefile.am (grubdata_DATA): Add euro.pf2.
14552 (euro.pf2): New target.
14553 (CLEANFILES): Add euro.pf2.
14554
62a747cb
VS
145552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * configure.ac: Disable emu-usb by default to prevent inadvertent
14558 device takeover.
14559
608e43b1
VS
145602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 Disable usbserial on grub-emu since our libusb code isn't good enough
14563 yet.
14564
14565 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14566 (usbserial_pl2303): Likewise.
14567 (usbserial_ftdi): Likewise.
14568
94564f81
VS
145692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * include/grub/disk.h (grub_disk): Remove has_partitions.
14572 All users updated.
14573 * disk/loopback.c (grub_loopback): Remove has_partitions.
14574 All users updated.
14575 (options): Remove partitions. All users updated.
14576 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14577 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14578 actual partition table is found.
14579
3352800b
VS
145802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 Remove readability checks (too many false negatives).
14583
14584 * util/grub-install.in: Remove readability checks.
14585 * util/grub-mkconfig.in: Likewise.
14586 * util/grub.d/10_hurd.in: Likewise.
14587 * util/grub.d/10_kfreebsd.in: Likewise.
14588 * util/grub.d/10_linux.in: Likewise.
14589 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14590 way.
14591
2419f17a
VS
145922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 Enable acpi shutdown on all ACPI platforms.
14595
14596 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14597 on coreboo, multiboot and EFI.
14598 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14599 (grub_acpi_halt): Likewise.
14600 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14601 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14602 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14603 * grub-core/lib/i386/halt.c (grub_halt)
14604 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14605
0575c7c3
VS
146062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14609 context.
14610
54ac3cd1
VS
146112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14614 * grub-core/video/efi_uga.c: Likewise.
14615
b2a30ac5
VS
146162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Filter devaliases and never open same device twice.
14619
14620 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14621 (last_ihandle): Likewise.
14622 (ofdisk_hash_ent): New member shortest.
14623 (ofdisk_hash_add): Add canonical path too.
14624 (scan): New function.
14625 (grub_ofdisk_iterate): Iterate over hashed entries.
14626 (compute_dev_path): Don't add :0.
14627 (grub_ofdisk_open): Don't really open the disk.
14628 (grub_ofdisk_close): Avoid closing unrelated disk.
14629 (grub_ofdisk_read): Implement reopen logic.
14630 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14631 New function.
14632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14633 New proto.
14634
fb53b340
VS
146352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 Fix sparc64.
14638
14639 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14640 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14641 right address. Add sparc64_ieee1275_ldflags.
14642 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14643 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14644 to grub_host_to_target_addr
14645 (load_image): Likewise.
14646
f452b040
VS
146472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * grub-core/normal/completion.c (complete_file): Handle device
14650 containing slash.
14651 Fix based on patch by Doug Nazar.
14652
9b5b2541
VS
146532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 grub-mknetdir script.
14656
14657 * Makefile.util.def (grub-mknetdir): New module.
14658 * tests/util/grub-shell.in: Support boot=net
14659 * util/grub-mknetdir.in: New file.
14660
9d2be652
VS
146612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 videoinfo on non-vbe.
14664
14665 * grub-core/Makefile.core.def (vbeinfo): Removed.
14666 (vbetest): Removed.
14667 (videoinfo): New module.
14668 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14669 * grub-core/commands/i386/pc/vbetest.c: Removed.
14670 * grub-core/commands/videoinfo.c: New file.
14671 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14672 specification.
14673 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14674 as vbetest.
14675 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14676 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14677 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14678 mode_number. New parameter mode. All users updated.
14679 (grub_video_gop_iterate): New function.
14680 (grub_video_efi_gop): New member iterate.
14681 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14682 (grub_vbe_set_video_mode): Remove setting useless fields.
14683 (vbe2videoinfo): New function.
14684 (grub_video_vbe_iterate): Likewise.
14685 (grub_video_vbe_setup): Use vbe2videoinfo.
14686 (grub_video_vbe_print_adapter_specific_info): New function.
14687 (grub_video_vbe_adapter): New fields iterate and
14688 print_adapter_specific_info.
14689 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14690 All users updated.
14691 (grub_video_mode_info): New field mode_number.
14692 (grub_video_adapter): New fields iterate and
14693 print_adapter_specific_info.
14694
179503f5
TG
146952010-09-13 Tristan Gingold <gingold@free.fr>
146962010-09-13 Robert Millan <rmh.grub@aybabtu.com>
146972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * grub-core/commands/efi/lsefisystab.c: New file.
14700 * grub-core/commands/efi/lssal.c: Likewise.
14701 * grub-core/Makefile.core.def (lsacpi): New module.
14702 (lsefisystab): Likewise.
14703 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14704 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14705 (grub_efi_sal_system_table): New struct.
14706 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14707 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14708 (grub_efi_sal_system_table_platform_features): Likewise.
14709 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14710 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14711 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14712 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14713
cf9827de
VS
147142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 Support explicit user claim that a device is BIOS-visible.
14717
14718 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14719 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14720 * grub-core/kern/emu/hostdisk.c
14721 (convert_system_partition_to_system_disk): Support mdX.
14722 (find_system_device): New parameter add. All users updated.
14723 (grub_util_biosdisk_is_present): New function.
14724 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14725 proto.
14726
53f0eb1f
VS
147272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Search hints support.
14730
14731 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14732 All users updated.
14733
b23ffd70
YB
147342010-09-13 Yves Blusseau <blusseau@zetam.org>
14735
14736 Bash completion script for util commands
14737
14738 * Makefile.am: Add util/bash-completion.d directory
14739 * configure.ac: Likewise.
14740 * util/bash-completion.d/Makefile.am: New file.
14741 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14742
d547dc28
VS
147432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14746 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14747 Reported by: Yves Blusseau.
14748
2fc8ccb9
VS
147492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14752 partition size and offset.
14753
d8a84076
VS
147542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14757
84fb3b3d
VS
147582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14761
768ec2e2
VS
147622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14765 (grub_xvasprintf): Likewise.
14766
4870900f
VS
147672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14770
faca6bec
VS
147712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14774 args ending with NULL.
14775
147762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14777
14778 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14779 pointer.
14780
3c70f225
SJ
147812010-09-11 Szymon Janc <szymon@janc.net.pl>
14782
14783 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14784
4df7996d
VS
147852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Shutdown using ACPI.
14788
14789 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14790 * grub-core/commands/acpihalt.c: New file.
14791 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14792 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14793 (grub_acpi_halt): New proto.
14794 (GRUB_ACPI_SLP_EN): New const.
14795 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14796 (GRUB_ACPI_OPCODE_*): New enum.
14797 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14798
126b4c32
TG
147992010-09-11 Tristan Gingold <gingold@free.fr>
148002010-09-11 Robert Millan <rmh.grub@aybabtu.com>
148012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * commands/lsacpi.c: New file.
14804 * grub-core/Makefile.core.def (lsacpi): New module.
14805 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14806 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14807 (grub_acpi_madt_entry_header): New struct.
14808 (grub_acpi_madt): Likewise.
14809 (grub_acpi_madt_entry_interrupt_override): Likewise.
14810 (grub_acpi_madt_entry_sapic): Likewise.
14811 (grub_acpi_madt_entry_lsapic): Likewise.
14812 (grub_acpi_madt_entry_platform_int_source): Likewise.
14813 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14814 (PRIuGRUB_UINT32_T): Likewise.
14815 (PRIxGRUB_UINT64_T): Likewise.
14816
1aa4fe88
VS
148172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 Implement loading palette on ieee1275_fb.
14820
14821 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14822 (have_setcolors): Likewise.
14823 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14824 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14825 (grub_video_ieee1275_set_palette): Implement.
14826
25761e13
VS
148272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
148282010-09-11 Colin Watson <cjwatson@ubuntu.com>
14829
14830 * util/grub-install.in (grub_partition): New variable.
14831 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14832 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14833 Fixes a bug reported by Yves Blusseau.
14834
050abaea
VS
148352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 Fix emu on mipsel.
14838
14839 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14840 =grub_cpu_flush_cache on all mips and not only yeeloong.
14841 * configure.ac (COND_mips): New conditional.
14842 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14843 platforms.
14844 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14845 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14846 [GRUB_LINKER_HAVE_INIT]: New function.
14847 (grub_emu_post_init): Likewise.
14848 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14849 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14850 * include/grub/cache.h (_mips): Include mips/cache.h.
14851 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14852 LVM and RAID prototypes.
14853 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14854 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14855 function.
14856
5ed7d816
CW
148572010-09-10 Colin Watson <cjwatson@ubuntu.com>
14858
14859 * util/grub-install.in: Don't try to verify core.img until after
14860 running grub-mkimage to create it.
14861
90367e04
RM
148622010-09-10 Robert Millan <rmh@gnu.org>
14863
14864 * util/grub.d/10_hurd.in: Add misc readability checks.
14865 * util/grub.d/10_kfreebsd.in: Likewise.
14866 * util/grub.d/10_linux.in: Likewise.
14867
c452fa66
CW
148682010-09-10 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * util/grub-install.in: ${imgext} won't be defined here until the
14871 install branch is merged. For the meantime, only verify core.img on
14872 i386-pc and sparc64-ieee1275 platforms.
14873
c38fe9f4
RM
148742010-09-10 Robert Millan <rmh@gnu.org>
14875
14876 Solaris support in grub_find_zpool_from_dir(). Thanks
14877 Seth Goldberg for referring to getextmntent() facility.
14878
14879 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14880 `sys/mkdev.h'.
14881 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14882 `<sys/mnttab.h>'.
14883 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14884 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14885 method for finding zpool name.
14886
905f7773
CW
148872010-09-10 Colin Watson <cjwatson@ubuntu.com>
14888
14889 grub-fstest needs the host and hostfs modules while other utilities
14890 actively require those modules to be absent, so grub-fstest needs
14891 its own initialisation and finalisation code.
14892
14893 * Makefile.am (grub_fstest.pp): New target.
14894 (grub_fstest_init.lst): Likewise.
14895 (grub_fstest_init.c): Likewise.
14896 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14897
fb90b546
RM
148982010-09-10 Robert Millan <rmh@gnu.org>
14899
14900 * configure.ac: Check for `struct statfs.f_fstypename' and
14901 `struct statfs.f_mntfromname'.
14902
14903 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14904 kFreeBSD-specific code.
14905
66d4bea5
RM
149062010-09-10 Robert Millan <rmh@gnu.org>
14907
14908 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14909 on ZFS. Now non-main filesystems are supported as / too.
14910
b6a690ee
CW
149112010-09-09 Colin Watson <cjwatson@ubuntu.com>
14912
14913 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14914 and grub-core/disk/host.c to ...
14915 (grub-fstest): ... here. Having the host disk implementation
14916 present confuses grub-probe and other utility programs.
14917
14918 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14919 when writing to a file, not when writing to stdout.
14920
8901b00c 149212010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14922
14923 * tests/partmap_test.in: New test for partitions.
14924 * Makefile.util.def: Rules for new test.
14925
7bf45fdd
RM
149262010-09-09 Robert Millan <rmh@gnu.org>
14927
14928 * util/grub-probe.c (probe): Fix a pair of unhandled error
14929 conditions.
14930
4dfbc574
RM
149312010-09-09 Robert Millan <rmh@gnu.org>
14932
14933 Basic Btrfs support (detection and UUID).
14934
14935 * grub-core/fs/btrfs.c: New file.
14936 * Makefile.util.def (library): Register btrfs.c.
14937 * grub-core/Makefile.core.def: Likewise.
14938
6b8e78ae
RM
149392010-09-08 Robert Millan <rmh@gnu.org>
14940
14941 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14942 with (optional) parameters to specify device and relative path.
14943 * util/grub-install.in: Use is_path_readable_by_grub() to
14944 verify readability of a few critical files.
14945 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14946 verify readability of grub.cfg.new.
14947
27f21a8b
VS
149482010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Split minix.mod into minix.mod and minix2.mod.
14951
14952 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14953 * grub-core/Makefile.core.def (minix2): New module.
14954 * grub-core/fs/minix.c: Use definitions instead of runtime version
14955 checking.
14956 * grub-core/fs/minix2.c: New file.
14957
c0e53ea5
YB
149582010-09-08 Yves Blusseau <blusseau@zetam.org>
14959
14960 Add new --boot-directory option to replace --root-directory
14961
14962 * util/grub-install.in: Add new --boot-directory option
14963 * util/grub-reboot.in: Likewise.
14964 * util/grub-set-default.in: Likewise.
14965
b9fe6ea2
YB
149662010-09-08 Yves Blusseau <blusseau@zetam.org>
14967
14968 * util/grub-mkconfig.in: Use new variable.
14969
d87aedff
YB
149702010-09-08 Yves Blusseau <blusseau@zetam.org>
14971
14972 * configure.ac: Define some useful variables.
14973
e55e8495
VS
149742010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14977 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14978 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14979 Use terminfo and don't use cursor-on/cursor-off unless it's known
14980 to work.
14981 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14982 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14983
6fa6d675
CW
149842010-09-08 Colin Watson <cjwatson@ubuntu.com>
14985
14986 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14987 starts with "(,", fill the drive containing the loaded image in
14988 between those two characters, but expect that a full partition
14989 specification including partition map names will follow.
14990
92f2aef0
RM
149912010-09-08 Robert Millan <rmh@gnu.org>
14992
14993 * configure.ac: Remove `--enable-grub-fstest' option.
14994 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14995
14996 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14997 `grub-fstest' instead of `grub-probe' for readability verification.
14998 * util/grub-probe.c (probe): Remove readability verification kludge.
14999
99fd620d
RM
150002010-09-08 Robert Millan <rmh@gnu.org>
15001
15002 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15003 initializing `GRUB_FS'.
15004
058e30ac 150052010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15006
15007 Not command (!) support to GRUB script.
15008
15009 * tests/grub_script_not.in: New test.
15010 * Makefile.util.def: Rules for new test.
15011
15012 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15013 ! command as a special case.
15014 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15015
b61d05ed 150162010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15017
058e30ac 15018 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15019 grub_free.
b61d05ed 15020
4d69c786 150212010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15022
15023 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15024
aa3119c4 150252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15026
15027 * docs/grub.texi (Shell-like scripting): Documentation for break,
15028 continue, shift and return commands.
15029
db0f7e3d
VS
150302010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 Rename CD-ROM to cd on BIOS.
15033
15034 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15035 "cd".
15036 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15037
88b87c93
VS
150382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15041 * util/grub-probe.c (main): Likewise.
15042 * util/i386/pc/grub-setup.c (main): Likewise.
15043 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15044 Reported and debugged by: alexxy
15045
294f324d
VS
150462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15049 diagnostic info.
15050
d7ee3441
JS
150512010-09-05 Jo Shields <directhex@apebox.org>
15052
15053 * util/grub.d/30_os-prober.in: Add missing classes.
15054
d7e06c1f
VS
150552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * docs/grub.texi (Theme file format): Document new position format.
15058
fc157e53
VS
150592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15062 a table. Use @code instead of @verbatim.
15063
506e9a1c
CB
150642010-09-05 Colin D Bennett <colin@gibibit.com>
15065
15066 Gfxmenu documentation.
15067
15068 * docs/grub.texi (Theme file format): New chapter.
15069
f0aff67c
SJ
150702010-09-05 Szymon Janc <szymon@janc.net.pl>
15071
15072 * grub-core/Makefile.core.def (xzio): New module.
15073 * grub-core/io/xzio.c: New file.
15074 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15075 * grub-core/lib/xzembed/xz_config.h: Likewise.
15076 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15077 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15078 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15079 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15080 * grub-core/lib/xzembed/xz_private.h: Likewise.
15081 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15082 * include/grub/file.h (grub_file_filter_id): New compression filter
15083 GRUB_FILE_FILTER_XZIO.
15084
82a85062
VS
150852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15088 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15089 size.
15090
3579415d
VS
150912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15094 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15095
5124ae6d
VS
150962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 Uncompressed checksum support.
15099
15100 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15101 (check_list): New parameter uncompress.
15102 (grub_cmd_hashsum): Handle --uncompress.
15103
9aadb3d1
VS
151042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 Reintroduce testload.
15107
15108 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15109 from here ...
15110 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15111 (GRUB_MOD_INIT): New function.
15112 (GRUB_MOD_FINI): Likewise.
15113 * grub-core/Makefile.core.def (testload): New module.
15114
a17792c3
SJ
151152010-09-05 Szymon Janc <szymon@janc.net.pl>
15116
15117 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15118 (uint8_t): New type.
15119 (uint16_t): Likewise.
15120 (uint32_t): Likewise.
15121 (uint64_t): Likewise.
15122
b81e40a3
SJ
151232010-09-05 Szymon Janc <szymon@janc.net.pl>
15124
15125 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15126
fc2ef117
VS
151272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15130 Made static.
15131 (grub_gzfile_open): Removed. All users updated.
15132 (GRUB_MOD_INIT): New function.
15133 (GRUB_MOD_FINI): Likewise.
15134 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15135 (grub_file_filters_enabled): Likewise.
15136 (grub_file_open): Handle filters.
15137 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15138 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15139 * include/grub/file.h (grub_file_filter_id_t): New type.
15140 (grub_file_filter_t): Likewise.
15141 (grub_file_filters_all): New extern variable.
15142 (grub_file_filters_enabled): Likewise.
15143 (grub_file_filter_register): New inline function.
15144 (grub_file_filter_unregister): Likewise.
15145 (grub_file_filter_disable): Likewise.
15146 (grub_file_filter_disable_compression): Likewise.
15147 * include/grub/gzio.h: Removed.
15148
35ee15e0
BC
151492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15150
15151 Filename expansion support for wildcards in GRUB script.
15152
15153 * tests/grub_script_expansion.in: New test.
15154 * Makefile.util.def: Rule for new test.
15155
15156 * grub-core/commands/wildcard.c: New file, implements filename
15157 expansion support for GRUB script.
15158 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15159 * grub-core/script/argv.c: Cosmetic changes.
15160 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15161 Refactored to perform wildcard expansion on arguments.
15162 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15163 struct.
15164
15165 * tests/util/grub-shell.in: Fix quoting for read input.
15166
5f0c4aca
BC
151672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15168
15169 Support for updating environment variables with matched substrings
15170 of regexp.
15171
15172 * tests/grub_cmd_regexp.in: New test.
15173 * Makefile.util.def: Rule for new test.
15174
15175 * grub-core/commands/regexp.c: New option -s to update environment
15176 variables with regexp matches.
15177
3759a35f
SJ
151782010-09-04 Szymon Janc <szymon@janc.net.pl>
15179
15180 * include/grub/file.h (grub_file): New member not_easly_seekable.
15181 (grub_file_seekable): New inline function.
15182 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15183 easily seekable.
15184 (grub_gzio_open): Set not_easly_seekable.
15185 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15186 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15187
ed8c6dec
BC
151882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15189
15190 Support for options to appear multiple times on cmdline.
15191
15192 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15193 * grub-core/commands/extcmd.c: Support for repeatable option.
15194 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15195 repeatable option support.
15196
15197 Refactor menuentry into a regular command.
15198
15199 * grub-core/commands/menuentry.c: New file, menuentry command
15200 implementation.
15201 * grub-core/Makefile.core.def: Rule update for normal.mod.
15202 * grub-core/normal/main.c: Moved menuentry creation to
15203 grub-core/commands/menuentry.c.
15204 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15205 (grub_menu_execute_entry_real): Removed.
15206 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15207 function.
15208 (grub_script_execute_menuentry): Removed.
15209 * grub-core/script/parser.y (menuentry): Removed.
15210 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15211 * grub-core/script/yylex.l (menuentry): Removed.
15212 * include/grub/menu.h (grub_menu_init): New prototype.
15213 (grub_menu_fini): New prototype.
15214 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15215 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15216 (grub_script_execute_sourcecode): New prototype.
15217
dacd0cf0
BC
152182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15219
15220 "return" command for GRUB script functions.
15221
15222 * tests/grub_script_return.in: New test.
15223 * Makefile.util.def: Rules for new test.
15224
15225 * grub-core/script/execute.c (grub_script_return): New function.
15226 * grub-core/script/main.c: Register/unregister return commaond.
15227 * include/grub/script_sh.h (grub_script_return): New prototype.
15228
52e72f9d
BC
152292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15230
15231 "setparams" command to update positional parameters.
15232
15233 * tests/grub_script_setparams.in: New test.
15234 * Makefile.util.def: Rules for new test.
15235
15236 * grub-core/script/argv.c (grub_script_argv_make): New function.
15237 * grub-core/script/execute.c (replace_scope): New function.
15238 (grub_script_setparams): New function.
15239 * grub-core/script/lexer.c: Remove unused variables.
15240 * grub-core/script/main.c: Register/unregister setparams command.
15241 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15242 (grub_script_setparams): New prototype.
15243
25b60c91
BC
152442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15245
15246 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15247 grub_free order.
15248
37e7bf68
BC
152492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15250
15251 Support for passing block of commands as an argument to extcmds.
15252
15253 * Makefile.util.def: Rules for new test.
15254 * tests/grub_script_blockarg.in: New test.
15255 * grub-core/tests/test_blockarg.c: New file, block argument
15256 command used in the test.
15257
15258 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15259 (grub_register_extcmd_prio): New function prototype.
15260 (grub_extcmd_dispatcher): New function prototype.
15261 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15262 type.
15263 * include/grub/script_sh.h (struct grub_script): New members
15264 `children', `next_siblings' and `refcnt' for block arguments and
15265 reference counting.
15266 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15267 (grub_script_arg): New member `script' for block argument.
15268 (grub_script_argv): New member `script' for block argument.
15269 (grub_parser_param): New member `scripts' for block argument.
15270 (grub_script_mem_free): New extern function prototype.
15271 (grub_script_ref): New function prototype.
15272 (grub_script_unref): New function prototype.
15273
15274 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15275 extcmd form to support block arguments.
15276 * grub-core/script/argv.c: Block arguments support.
15277 * grub-core/script/execute.c: Likewise.
15278 * grub-core/script/lexer.c: Likewise.
15279 * grub-core/script/main.c: Likewise.
15280 * grub-core/script/script.c: Likewise.
15281 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15282 non-terminals.
15283
15284 * grub-core/commands/acpi.c: Update extcmd implementations with
15285 grub_extcmd_context_t.
15286 * grub-core/commands/cat.c: Likewise.
15287 * grub-core/commands/echo.c: Likewise.
15288 * grub-core/commands/extcmd.c: Likewise.
15289 * grub-core/commands/hashsum.c: Likewise.
15290 * grub-core/commands/hdparm.c: Likewise.
15291 * grub-core/commands/help.c: Likewise.
15292 * grub-core/commands/hexdump.c: Likewise.
15293 * grub-core/commands/i386/cpuid.c: Likewise.
15294 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15295 * grub-core/commands/i386/pc/halt.c: Likewise.
15296 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15297 * grub-core/commands/iorw.c: Likewise.
15298 * grub-core/commands/keystatus.c: Likewise.
15299 * grub-core/commands/loadenv.c: Likewise.
15300 * grub-core/commands/ls.c: Likewise.
15301 * grub-core/commands/lspci.c: Likewise.
15302 * grub-core/commands/memrw.c: Likewise.
15303 * grub-core/commands/probe.c: Likewise.
15304 * grub-core/commands/search_wrap.c: Likewise.
15305 * grub-core/commands/setpci.c: Likewise.
15306 * grub-core/commands/sleep.c: Likewise.
15307 * grub-core/disk/loopback.c: Likewise.
15308 * grub-core/hello/hello.c: Likewise.
15309 * grub-core/loader/i386/bsd.c: Likewise.
15310 * grub-core/loader/xnu.c: Likewise.
15311 * grub-core/term/gfxterm.c: Likewise.
15312 * grub-core/term/serial.c: Likewise.
15313 * grub-core/tests/lib/functional_test.c: Likewise.
15314
888d1500
BC
153152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15316
15317 Multi-line quoted strings support.
15318
15319 * grub-core/script/lexer.c (append_newline): Removed.
15320 (grub_script_lexer_yywrap): Refactored.
15321 (grub_script_lexer_init): Refactored.
15322 * grub-core/script/yylex.l (yywrap): New function.
15323 (grub_lexer_resplit): New function.
15324 (grub_lexer_unput): New function.
15325 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15326 and resplit.
15327 * tests/grub_script_echo1.in: Added few more testcases.
15328
dda060dd
VS
153292010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * grub-core/kern/misc.c: Don't add abort alias in utils.
15332 Reported by: echoline.
15333
6556eba9
BC
153342010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15335
15336 Add missing files into "make dist" tarball for other platforms.
15337
15338 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15339 * conf/Makefile.common (dist_noinst_DATA): New variable.
15340 * conf/Makefile.extra-dist: Added missing make dist files.
15341 * grub-core/Makefile.core.def: Likewise.
15342
c8e7bf5f
VS
153432010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Compress grub_prefix.
15346
15347 * grub-core/boot/i386/pc/lnxboot.S: Use
15348 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15349 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15350 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15351 GRUB_MACHINE_PREFIX_END. All users updated.
15352 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15353 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15354 + 0x40.
15355 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15356 * util/grub-mkimage.c (image_target_desc): Change data_end to
15357 prefix_end. All users updated.
15358
a7c00cdb
VS
153592010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15362 value.
15363 (grub_openbsd_boot): Likewise.
15364 (grub_netbsd_boot): Likewise.
15365 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15366 (grub_xnu_boot): Likewise.
15367
9f915872
VS
153682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * configure.ac: Clean LIBS variable after tests.
15371
efa1bee7
CW
153722010-09-02 Colin Watson <cjwatson@ubuntu.com>
15373
15374 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15375
61d720e5
VS
153762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15379 echo if libdevmapper will be used.
15380
ef8e0ec8
IT
153812010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15382
15383 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15384 constant for the same file.
15385
03e261d8
VS
153862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15389
c2a4eba6
CW
153902010-09-02 Colin Watson <cjwatson@ubuntu.com>
15391
15392 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15393 grub-core/*.pp.
15394
9056cbf3
CW
153952010-09-02 Colin Watson <cjwatson@ubuntu.com>
15396
15397 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15398 required by the boot protocol.
15399
15400 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15401 ebp and edi members.
15402 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15403 state.ebp and state.edi.
15404 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15405 %ebp and %edi according to grub_relocator32_ebp and
15406 grub_relocator32_edi respectively.
15407 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15408 and state.edi.
15409
529cc99a
VS
154102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 Add i386-pc-pxe image target.
15413
15414 * util/grub-mkimage.c (image_target_desc): New enum value
15415 IMAGE_I386_PC_PXE.
15416 (image_targets): New target i386-pc-pxe.
15417 (generate_image): Handle i386-pc-pxe image.
15418
9a093920
VS
154192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 Fix grub_pxe_scan.
15422
15423 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15424 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15425 All users updated.
15426 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15427 (grub_pxe_pxenv): Correct type.
15428
f9cefc4e
CW
154292010-09-01 Colin Watson <cjwatson@ubuntu.com>
15430
15431 * NEWS: Document most of the important changes since 1.98.
15432
4066f57f
CW
154332010-09-01 Colin Watson <cjwatson@ubuntu.com>
15434
15435 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15436 generated manual page) a little.
15437
da2891f9
CW
154382010-09-01 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * docs/grub.texi: Add myself as an author.
15441
ad717fae
VS
154422010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * Makefile.util.def (libgrub.a): Add missing sunpc.
15445 Reported by: Seth Goldberg.
15446
eefe8abd
VS
154472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 Interrupt wrapping and code simplifications.
15450
9494ef9a
VS
15451 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15452 x86_noieee1275 which are functionaly equivalent in this case.
15453 (grub-install): Make source on each platform explicit. Enable on
15454 all noemu.
15455 * gentpl.py (x86_efi_pc): Removed group.
15456 (x86_noefi): Likewise.
15457 (i386_noefi): Likewise.
15458 (x86_noieee1275): Likewise.
15459 (i386_noieee1275): Likewise.
15460 (i386_noefi_noieee1275): Likewise.
15461 (i386_pc_qemu_coreboot): Likewise.
15462 (i386_coreboot_multiboot): Likewise.
15463 (i386_pc_coreboot_multiboot_qemu): Likewise.
15464 (x86_noefi_mips): Likewise.
15465 (noieee1275): Likewise.
15466 (ieee1275_mips): Likewise.
15467 (noemu_noieee1275): Likewise.
15468 (cmos): New group.
15469 (usb): Likewise.
15470 (videoinkernel): Likewise.
15471 (videomodules): Likewise.
eefe8abd 15472 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15473 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15474 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15475 include/grub/loader.h, include/grub/msdos_partition.h,
15476 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15477 include/grub/machine/console.h, include/grub/machine/vga.h,
15478 include/grub/machine/vbe.h, include/grub/machine/init.h,
15479 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15480 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15481 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15482 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15483 * grub-core/Makefile.core.def (kernel): Explicit the source for
15484 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15485 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15486 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15487 Use videoinkernel tag.
15488 (usb): Enable on all usb.
15489 (usbserial_common): Likewise.
15490 (usbserial_pl2303): Likewise.
15491 (usbserial_ftdi): Likewise.
15492 (uhci): Enable on all x86.
15493 (ohci): Enable on all pci.
15494 (cmostest): Enable on all CMOS.
15495 (acpi): Include commands/acpi.c on all platforms.
15496 (halt): Add relevant lib/*/halt.c.
15497 (hdparm): Enable on all pci.
15498 (lspci): Likewise.
15499 (usbtest): Enable on all usb.
15500 (ata): Enable on all pci.
15501 (ata_pthru): Likewise.
15502 (usbms): Enable on all usb.
15503 (usb_keyboard): Likewise.
15504 (font): Use tag videomodules.
15505 (bufio): Likewise.
15506 (datetime): Use tag cmos. Enable on all noemu.
15507 (mmap): Use tags common and x86.
15508 (gfxterm): Use tag videomodules.
15509 (bitmap): Likewise.
15510 (bitmap_scale): Likewise.
15511 (video_fb): Likewise.
15512 (video): Likewise.
15513 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15514 adjust padding accordingly. All users updated.
15515 (grub_ohci_transaction): Fix bad format specification.
15516 (GRUB_MOD_INIT): Add asserts for struct size.
15517 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15518 (grub_alloc_td): Likewise.
15519 (grub_free_queue): Likewise.
15520 (grub_uhci_transfer): Likewise.
15521 (grub_uhci_transaction): Fix bad format specification.
15522 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15523 (grub_usb_bulk_readwrite): Likewise.
15524 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15525 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15526 Made static.
15527 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15528 Made static.
15529 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15530 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15531 Transformed into C.
15532 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15533 Moved from here ...
15534 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15535 ... here. Transformed into C. Made static.
15536 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15537 Moved from here ...
15538 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15539 ... here. Transformed into C. Made static.
15540 * grub-core/kern/i386/pc/startup.S
15541 (grub_biosdisk_check_int13_extensions): Moved from here ...
15542 * grub-core/disk/i386/pc/biosdisk.c
15543 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15544 Made static.
15545 * grub-core/kern/i386/pc/startup.S
15546 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15547 * grub-core/disk/i386/pc/biosdisk.c
15548 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15549 Transformed into C. Made static.
15550 * grub-core/kern/i386/pc/startup.S
15551 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15552 * grub-core/disk/i386/pc/biosdisk.c
15553 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15554 Transformed into C. Made static.
15555 * grub-core/kern/i386/pc/startup.S
15556 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15557 * grub-core/disk/i386/pc/biosdisk.c
15558 (grub_biosdisk_get_diskinfo_standard): ... here.
15559 Transformed into C. Made static.
15560 * grub-core/kern/i386/pc/startup.S
15561 (grub_biosdisk_get_num_floppies): Moved from here ...
15562 * grub-core/disk/i386/pc/biosdisk.c
15563 (grub_biosdisk_get_num_floppies): ... here.
15564 Transformed into C. Made static.
15565 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15566 New function.
15567 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15568 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15569 Transformed into C. Made static.
15570 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15571 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15572 Transformed into C. Made static.
15573 * grub-core/kern/i386/ieee1275/init.c: Removed.
15574 * grub-core/kern/i386/misc.S: Likewise.
15575 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15576 Splitted from here ...
15577 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15578 Transformed into C. Made static. All users updated.
15579 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15580 Transformed into C. Made static. All users updated.
15581 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15582 Moved from here...
15583 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15584 Transformed into C. Made static. All users updated.
15585 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15586 Moved from here...
15587 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15588 Transformed into C. Made static. All users updated.
15589 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15590 Removed (replaced by C version).
15591 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15592 Moved from here...
15593 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15594 Transformed into C. Made static.
15595 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15596 Moved from here...
15597 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15598 ... here. Transformed into C.
15599 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15600 Moved from here...
15601 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15602 ... here. Transformed into C.
15603 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15604 Moved from here...
15605 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15606 ... here. Transformed into C. Made static.
15607 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15608 Moved from here...
15609 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15610 ... here. Transformed into C.
21ed554b
VS
15611 * grub-core/kern/i386/pc/startup.S
15612 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15613 * grub-core/video/i386/pc/vbe.c
15614 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15615 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15616 Moved from here...
15617 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15618 ... here. Transformed into C.
15619 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15620 Moved from here...
15621 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15622 ... here. Transformed into C.
15623 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15624 Moved from here...
15625 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15626 ... here. Transformed into C.
15627 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15628 Moved from here...
15629 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15630 ... here. Transformed into C.
15631 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15632 Moved from here...
15633 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15634 ... here. Transformed into C. Made static.
15635 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15636 Moved from here...
15637 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15638 ... here. Transformed into C. Made static.
15639 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15640 Moved from here...
15641 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15642 ... here. Transformed into C. Made static.
15643 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15644 pxe_rm_entry as third argument.
15645 (grub_bios_interrupt): New function.
15646 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15647 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15648 of calling grub_stop.
15649 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15650 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15651 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15652 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15653 * grub-core/lib/i386/halt.c: Moved from here ...
15654 * grub-core/lib/i386/halt.c: ... here.
15655 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15656 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15657 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15658 grub_stop_floppy.
15659 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15660 * include/grub/i386/coreboot/init.h: Removed.
15661 * include/grub/i386/multiboot/init.h: Likewise.
15662 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15663 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15664 * include/grub/i386/pc/int.h: New file.
15665 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15666 (grub_pxe_scan): Removed.
15667 (grub_pxe_call): Update prototype.
15668 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15669 prototypes.
15670 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15671 * include/grub/i386/qemu/init.h: Removed.
15672 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15673 noreturn.
15674 (grub_halt): Likewise.
15675 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15676 (grub_reboot): Likewise.
15677 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15678 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15679 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15680
215dd471
RM
156812010-08-30 Robert Millan <rmh@gnu.org>
15682
15683 * NEWS: Document addition of ZFS support in `grub-install' and
15684 `grub-mkconfig'.
15685
ebd65b82
BC
156862010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15687
15688 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15689 dprintf output.
15690
11721d19
VS
156912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 Remove leftover embedding of font objects.
15694
15695 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15696 * util/grub-install.in (font): Removed.
15697 * util/grub-mkimage.c (generate_image): Remove font support. All users
15698 updated.
15699
37837d4e
VS
157002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15701
15702 Remove leftover embedding of font objects.
15703
15704 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15705 * util/grub-install.in (font): Removed.
15706 * util/grub-mkimage.c (generate_image): Remove font support. All users
15707 updated.
15708
b4c1aae0
VS
157092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15712 Reported by: Ian Turner
b4c1aae0 15713
8920a08d
VS
157142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15717 timeout to avoid indefinite boot stalling.
15718
f21db033
VS
157192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15720
15721 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15722 (grub_env_write_color_highlight): Likewise.
15723
9a9de209
VS
157242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 * grub-core/normal/term.c (print_more): Return to normal and not
15727 to standard state after printing "---MORE---".
15728
3dca01d7
VS
157292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15732 Mask out the bit 0x80 since it has other meaning that specifiing color.
15733
0b986c40
VS
157342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 New relocator. Allows for more kernel support and more straightforward
15737 loader writing.
15738
15739 * Makefile.am (BOOTTARGET): New variable.
15740 (QEMU32): Likewise.
15741 (linux.init.x86_64): New target.
15742 (linux.init.i386): Likewise.
15743 (multiboot.elf): Likewise.
15744 (kfreebsd.elf): Likewise.
15745 (kfreebsd.aout): Likewise.
15746 (pc-chainloader.elf): Likewise.
15747 (pc-chainloader.bin): Likewise.
15748 (ntldr.elf): Likewise.
15749 (ntldr.bin): Likewise.
15750 (multiboot2.elf): Likewise.
15751 (kfreebsd.init.x86_64): Likewise.
15752 (kfreebsd.init.i386): Likewise.
15753 (knetbsd.init.i386): Likewise.
15754 (kopenbsd.init.i386): Likewise.
15755 (knetbsd.init.x86_64): Likewise.
15756 (kopenbsd.init.x86_64): Likewise.
15757 (linux-initramfs.i386): Likewise.
15758 (linux-initramfs.x86_64): Likewise.
15759 (kfreebsd-mfsroot.i386.img): Likewise.
15760 (knetbsd.image.i386): Likewise.
15761 (kopenbsd.image.i386): Likewise.
15762 (kopenbsd.image.x86_64): Likewise.
15763 (knetbsd.miniroot-image.i386.img): Likewise.
15764 (kfreebsd-mfsroot.x86_64.img): Likewise.
15765 (knetbsd.image.x86_64): Likewise.
15766 (knetbsd.miniroot-image.x86_64.img): Likewise.
15767 (kfreebsd-mfsroot.i386.gz): Likewise.
15768 (bootcheck-kfreebsd-i386): Likewise.
15769 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15770 (bootcheck-kfreebsd-x86_64): Likewise.
15771 (knetbsd.miniroot-image.i386.gz): Likewise.
15772 (bootcheck-knetbsd-i386): Likewise.
15773 (bootcheck-kopenbsd-i386): Likewise.
15774 (bootcheck-kopenbsd-x86_64): Likewise.
15775 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15776 (bootcheck-knetbsd-x86_64): Likewise.
15777 (bootcheck-linux-i386): Likewise.
15778 (bootcheck-linux-x86_64): Likewise.
15779 (bootcheck-linux16-i386): Likewise.
15780 (bootcheck-linux16-x86_64): Likewise.
15781 (bootcheck-multiboot): Likewise.
15782 (bootcheck-multiboot2): Likewise.
15783 (bootcheck-kfreebsd-aout): Likewise.
15784 (bootcheck-pc-chainloader): Likewise.
15785 (bootcheck-ntldr): Likewise.
15786 (CLEANFILES): Add new targets.
15787 (BOOTCHECKS): New variable.
15788 (.PHONY): Add bootchecks.
15789 (SUCCESSFUL_BOOT_STRING): New variable.
15790 (BOOTCHECK_TIMEOUT): Likewise.
15791 (bootcheck): New target
15792 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15793 * configure.ac: Correct efiemu excuse.
15794 * docs/grub.texi (Supported kernels): New chapter.
15795 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15796 include/grub/mm_private.h. Simplify inclusion of
15797 include/grub/boot.h, include/grub/loader.h
15798 and include/grub/msdos_partition.h
15799 (KERNEL_HEADER_FILES) [i386_coreboot]:
15800 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15801 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15802 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15803 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15804 include/grub/machine/loader.h.
15805 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15806 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15807 extra_dist.
15808 (pci.mod): Enable on i386-multiboot.
15809 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15810 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15811 i386-qemu.
15812 (relocator.mod): Rewritten.
15813 (aout.mod): Enable on all x86.
15814 (bsd.mod): Likewise.
15815 (ntldr.mod): New module.
15816 (linux.mod): Use loader/i386/linux.c on all x86.
15817 (xnu.mod): Enable on all x86.
15818 (vga_text.mod): disable on EFI and QEMU.
15819 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15820 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15821 * grub-core/efiemu/loadcore.c: Likewise.
15822 * grub-core/efiemu/main.c: Likewise.
15823 (grub_efiemu_exit_boot_services): Removed.
15824 (grub_efiemu_finish_boot_services): Likewise.
15825 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15826 function.
15827 * grub-core/efiemu/i386/nocfgtables.c: New file.
15828 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15829 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15830 (grub_efi_finish_boot_services): Moved from here ...
15831 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15832 Fille finish memory map and related data.
15833 (finish_mmap_buf): New variable.
15834 (grub_efi_uintn_t finish_mmap_size): Likewise.
15835 (grub_efi_uintn_t finish_key): Likewise.
15836 (grub_efi_uintn_t finish_desc_size): Likewise.
15837 (grub_efi_uint32_t finish_desc_version): Likewise.
15838 (grub_efi_is_finished): Likewise.
15839 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15840 finished.
15841 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15842 (grub_elf64_phdr_iterate): Likewise.
15843 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15844 (grub_os_area_size): Likewise.
15845 (grub_machine_init): Don't reserve os area.
15846 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15847 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15848 * grub-core/kern/i386/loader.S: Removed.
15849 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15850 (grub_os_area_size): Likewise.
15851 (grub_machine_init): Don't reserve os area.
15852 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15853 Don't call grub_dl_unload_all.
15854 Don't include loader.S.
15855 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15856 Declare the memory after _end as available.
15857 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15858 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15859 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15860 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15861 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15862 * include/grub/mm_private.h (grub_mm_header): ... here.
15863 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15864 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15865 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15866 (grub_mm_region): ..here. Removed addr. Added pre_size.
15867 All users updated.
15868 * grub-core/kern/mm.c (base): Renamed to ...
15869 (grub_mm_base): ... this. Made global.
15870 (grub_real_malloc): Alloc from end of region.
15871 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15872 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15873 * grub-core/kern/powerpc/cache_flush.S: ... here.
15874 * grub-core/lib/efi/relocator.c: New file.
15875 * grub-core/lib/i386/relocator.c: Rewritten.
15876 * grub-core/lib/i386/relocator16.S: New file.
15877 * grub-core/lib/i386/relocator32.S: Likewise.
15878 * grub-core/lib/i386/relocator64.S: Likewise.
15879 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15880 * grub-core/lib/i386/relocator_common.S: New file.
15881 * grub-core/lib/ieee1275/relocator.c: Likewise.
15882 * grub-core/lib/mips/relocator.c: Rewritten.
15883 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15884 stylistic adjustments.
15885 * grub-core/lib/powerpc/relocator.c: New file.
15886 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15887 * grub-core/lib/relocator.c: Rewritten.
15888 * grub-core/lib/x86_64/relocator_asm.S: New file.
15889 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15890 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15891 (bsd_tag): New struct.
15892 (tags): New variable.
15893 (tags_last): Likewise.
15894 (netbsd_module): New struct.
15895 (netbsd_mods): New variable.
15896 (netbsd_mods_last): Likewise.
15897 (openbsd_opts): New parameter "serial".
15898 (OPENBSD_SERIAL_ARG): New definition.
15899 (netbsd_opts): New parameter "serial".
15900 (NETBSD_SERIAL_ARG): New definition.
15901 (grub_freebsd_add_meta): Reorganised into ...
15902 (grub_bsd_add_meta): ...this. All users updated.
15903 (grub_freebsd_add_mmap): Reorganised into ...
15904 (generate_e820_mmap): ...this...
15905 (grub_bsd_add_mmap): ...and this. All users updated.
15906 (grub_freebsd_list_modules): Use tags.
15907 (grub_netbsd_add_meta_module): New function.
15908 (grub_netbsd_list_modules): Likewise.
15909 (grub_freebsd_boot): Use relocator and finish EFI.
15910 (grub_openbsd_boot): Likewise.
15911 (grub_netbsd_setup_video): New function.
15912 (grub_netbsd_add_modules): Likewise.
15913 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15914 and finish EFI.
15915 (grub_bsd_unload): Unload tags.
15916 (grub_bsd_load_aout): Use relocator.
15917 (grub_bsd_elf32_size_hook): New function.
15918 (grub_bsd_elf32_hook): Use relocator.
15919 (grub_bsd_elf64_size_hook): New function.
15920 (grub_bsd_elf64_hook): Use relocator.
15921 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15922 (grub_bsd_load): Zero-out openbsd_ramdisk.
15923 (grub_bsd_load): Use relocator.
15924 (grub_cmd_openbsd): Support serial.
15925 (grub_cmd_netbsd): Support modules.
15926 (grub_cmd_freebsd_module): Use relocator.
15927 (grub_netbsd_module_load): New function.
15928 (grub_cmd_netbsd_module): Likewise.
15929 (grub_cmd_openbsd_ramdisk): Likewise.
15930 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15931 kopenbsd_ramdisk.
15932 (GRUB_MOD_FINI): Unregister new commands.
15933 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15934 (grub_freebsd_load_elfmodule_obj): Use relocator.
15935 (grub_freebsd_load_elfmodule): Likewise.
15936 (grub_freebsd_load_elf_meta): Likewise.
15937 (grub_netbsd_load_elf_meta): New function.
15938 (grub_openbsd_find_ramdisk): Likewise.
15939 * grub-core/loader/i386/bsd_helper.S: Removed.
15940 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15941 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15942 * grub-core/loader/i386/efi/linux.c: Likewise.
15943 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15944 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15945 (DEFAULT_VIDEO_MODE): Likewise.
15946 (real_mode_target): New variable.
15947 (prot_mode_target): Likewise.
15948 (initrd_mem_target): Likewise.
15949 (relocator): Likewise.
15950 (efi_mmap_buf): Likewise.
15951 (efi_mmap_size): Likewise.
15952 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15953 (free_pages): Use relocator.
15954 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15955 (grub_linux_setup_video): Return error.
15956 (grub_linux_trampoline_start): Removed.
15957 (grub_linux_trampoline_end): Likewise.
15958 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15959 andd video parameters depending on firmware.
15960 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15961 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15962 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15963 (grub_cmd_initrd): Use relocator.
15964 * grub-core/loader/i386/linux_trampoline.S: Removed.
15965 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15966 (elf_sec_entsize): Likewise.
15967 (elf_sec_shstrndx): Likewise.
15968 (elf_sections): Likewise.
15969 (grub_multiboot_load): Use relocator.
15970 (grub_multiboot_get_mbi_size): Account for sections.
15971 (grub_multiboot_make_mbi): Use relocator and support sections.
15972 (grub_multiboot_add_elfsyms): New function.
15973 (grub_multiboot_free_mbi): Free sections.
15974 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15975 (grub_linux_real_target): Likewise.
15976 (grub_linux_real_chunk): Likewise.
15977 (grub_linux16_prot_size): Likewise.
15978 (grub_linux16_boot): Use relocator.
15979 (grub_linux_unload): Unload relocator.
15980 (grub_cmd_linux): Use relocator.
15981 (grub_cmd_initrd): Likewise.
15982 * grub-core/loader/i386/pc/ntldr.c: New file.
15983 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15984 Don't try to guess CPU frequency.
15985 (grub_xnu_set_video): Stretch bitmap.
15986 (grub_xnu_boot): Use relocator.
15987 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15988 (grub_linux_unload): Free relocator.
15989 (grub_linux_load32): Use relocator.
15990 (grub_linux_load64): Likewise.
15991 (grub_cmd_initrd): Likewise.
15992 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15993 (grub_multiboot_unload): Unload relocator.
15994 (grub_cmd_multiboot): Use relocator.
15995 (grub_cmd_module): Likewise.
15996 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15997 Use relocator and support sections.
15998 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15999 (elf_sec_entsize): Likewise.
16000 (elf_sec_shstrndx): Likewise.
16001 (elf_sections): Likewise.
16002 (grub_multiboot_load): Use relocator.
16003 (grub_multiboot_get_mbi_size): Account for sections.
16004 (grub_multiboot_make_mbi): Use relocator and support sections.
16005 (grub_multiboot_add_elfsyms): New function.
16006 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16007 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16008 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16009 Prototype changed. All users updated.
16010 (grub_xnu_align_heap): Simplified.
16011 (grub_xnu_writetree_toheap): Likewise.
16012 (grub_xnu_unload): Unload relocator.
16013 (grub_cmd_xnu_kernel): Use relocator.
16014 (grub_cmd_xnu_kernel64): Likewise.
16015 (grub_xnu_register_memory): Simplified.
16016 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16017 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16018 EFI is finished.
16019 (grub_console_checkkey): Likewise.
16020 (grub_console_getkey): Likewise.
16021 (grub_console_getwh): Likewise.
16022 (grub_console_getxy): Likewise.
16023 (grub_console_gotoxy): Likewise.
16024 (grub_console_cls): Likewise.
16025 (grub_console_setcolorstate): Likewise.
16026 (grub_console_setcursor): Likewise.
16027 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16028 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16029 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16030 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16031 * grub-core/tests/boot/kernel-8086.S: Likewise.
16032 * grub-core/tests/boot/kernel-i386.S: Likewise.
16033 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16034 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16035 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16036 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16037 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16038 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16039 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16040 * grub-core/tests/boot/linux.cfg: Likewise.
16041 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16042 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16043 * grub-core/tests/boot/linux16.cfg: Likewise.
16044 * grub-core/tests/boot/multiboot.cfg: Likewise.
16045 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16046 * grub-core/tests/boot/ntldr.cfg: Likewise.
16047 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16048 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16049 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16050 New definition.
16051 * include/grub/dl.h (grub_dl_unload_all): Removed.
16052 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16053 (grub_efi_finish_boot_services): Change prototype.
16054 (grub_efi_is_finished): New variable.
16055 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16056 Changed prototype.
16057 (grub_efiemu_finish_boot_services): Removed.
16058 (grub_machine_efiemu_init_tables): New prototype.
16059 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16060 (grub_elf64_phdr_iterate): Likewise.
16061 * include/grub/i386/bsd.h: Include relocator.h.
16062 (freebsd_tag_header): New struct.
16063 (grub_openbsd_bios_mmap): Removed.
16064 (grub_unix_real_boot): Removed.
16065 (grub_freebsd_load_elfmodule32): Changed prototype.
16066 (grub_freebsd_load_elfmodule_obj64): Likewise.
16067 (grub_freebsd_load_elf_meta32): Likewise.
16068 (grub_freebsd_load_elf_meta64): Likewise.
16069 (grub_freebsd_add_meta): Removed.
16070 (grub_netbsd_load_elf_meta32): New prototype.
16071 (grub_netbsd_load_elf_meta64): Likewise.
16072 (grub_bsd_add_meta): Likewise.
16073 (grub_openbsd_ramdisk_descriptor): New struct.
16074 (grub_openbsd_find_ramdisk32): New prototype.
16075 (grub_openbsd_find_ramdisk64): Likewise.
16076 * include/grub/i386/coreboot/loader.h: Removed.
16077 * include/grub/i386/efi/loader.h: Likewise.
16078 * include/grub/i386/ieee1275/loader.h: Likewise.
16079 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16080 to grub_uint32_t.
16081 * include/grub/i386/loader.h: Removed.
16082 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16083 value.
16084 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16085 (grub_phys_addr_t): New type.
16086 (grub_vtop): New inline function.
16087 (grub_map_memory): Likewise.
16088 (grub_unmap_memory): Likewise.
16089 * include/grub/i386/multiboot/loader.h: Removed.
16090 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16091 (NETBSD_BTINFO_CONSOLE): New definition.
16092 (NETBSD_BTINFO_SYMTAB): Likewise.
16093 (NETBSD_BTINFO_MODULES): Likewise.
16094 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16095 (grub_netbsd_bootinfo): New struct.
16096 (grub_netbsd_btinfo_common): Use explicit bitsize.
16097 (grub_netbsd_btinfo_mmap_entry): Removed.
16098 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16099 (grub_netbsd_btinfo_bootdisk): New struct.
16100 (grub_netbsd_btinfo_symtab): Likewise.
16101 (grub_netbsd_btinfo_serial): Likewise.
16102 (grub_netbsd_btinfo_modules): Likewise.
16103 (grub_netbsd_btinfo_framebuf): Likewise.
16104 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16105 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16106 Likewise.
16107 (grub_openbsd_bootargs): Use explicit bitsize.
16108 (grub_openbsd_bootarg_console): New struct.
16109 (GRUB_OPENBSD_COM_MAJOR): New definition.
16110 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16111 * include/grub/i386/pc/efiemu.h: Removed.
16112 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16113 * include/grub/i386/qemu/loader.h: Removed.
16114 * include/grub/i386/relocator.h: Rewritten.
16115 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16116 * include/grub/mips/memory.h: New file.
16117 * include/grub/mips/multiboot.h: Rewritten.
16118 * include/grub/mips/relocator.h: Rewritten.
16119 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16120 (grub_vtop): New function.
16121 (grub_map_memory): Likewise.
16122 (grub_unmap_memory): Likewise.
16123 * include/grub/misc.h (ALIGN_DOWN): New definition.
16124 * include/grub/mm.h (grub_mm_check_real): New proto.
16125 (GRUB_MM_CHECK): New definition.
16126 * include/grub/mm_private.h: New file.
16127 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16128 (grub_multiboot_get_mbi_size): Removed.
16129 (grub_multiboot_make_mbi): Change prottype.
16130 (grub_multiboot_set_accepts_video): New proto.
16131 (grub_multiboot_add_elfsyms): Likewise.
16132 (grub_multiboot_payload_eip): New variable.
16133 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16134 New prototype.
16135 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16136 New definition.
16137 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16138 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16139 * include/grub/powerpc/ieee1275/loader.h: Removed.
16140 * include/grub/powerpc/memory.h: New file.
16141 * include/grub/powerpc/relocator.h: Likewise.
16142 * include/grub/relocator.h: Likewise.
16143 * include/grub/relocator_private.h: Likewise.
16144 * include/grub/sparc64/ieee1275/loader.h: Removed.
16145 * include/grub/x86_64/memory.h: New file.
16146 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16147 (grub_xnu_heap_malloc): Likewise.
16148 (grub_xnu_heap_real_start): Removed.
16149 (grub_xnu_heap_start): Likewise.
16150 (grub_xnu_relocator): New variable.
16151 (grub_xnu_heap_target_start): Likewise.
16152 * tests/util/grub-shell.in: Support non-pc.
16153 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16154
5303b85d
VS
161552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16158 on malloc error.
16159 (grub_bidi_logical_to_visual): Check that malloc succeded.
16160 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16161 puts.
16162 (grub_xputs_normal): Likewise.
16163
d768d159
VS
161642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16167 extra_dist.
16168
161692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16172
5bf84df4
VS
161732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16176
3626810e
VS
161772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16180 dprintf.
16181
a7363f53
BC
161822010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16183
16184 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16185
902f75f6
VS
161862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 * grub-core/normal/term.c (print_more): Fix a memory leak.
16189 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16190 (grub_xputs_normal): Likewise.
16191
3c707967
VS
161922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16195 the begining of the string
16196
2053cc07
VS
161972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * grub-core/script/script.c (grub_script_parse): Free parsed on
16200 failure.
16201
46422ebf
VS
162022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16205 on failure.
16206
9e0fa3f6
VS
162072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16210 return.
16211
3393cf16
VS
162122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16215 (scroll_up): Fix a memory leak.
16216
b17540cb
VS
162172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16220 errors.
16221
67140446
VS
162222010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 Handle USB pendrives exposed as floppies.
16225
16226 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16227 floppy.
16228 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16229 Check for partitions on all devices.
16230
e35e46fc
VS
162312010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16234 (readkey): Likewise.
16235
d24c6190
BC
162362010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16237
16238 Multiple variable names support to "export" command.
16239
16240 * normal/context.c (grub_cmd_export): "export" command supports
16241 multiple variable names.
16242
04ddcc6a
ST
162432010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16244
16245 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16246 --target=drive output to Mach device name.
16247
0c8b61d8
BC
162482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16249
16250 New Automake based build system for GRUB.
16251
16252 * ABOUT-NLS: New file.
16253 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16254 in Makefile.util.def file.
16255 * Makefile.util.def: New file. Autogen build definitions file for
16256 GRUB host utils.
16257 * conf/Makefile.common: New file. Common variables for GRUB host
16258 utils and target modules.
16259 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16260 * docs/Makefile.am: New file. Automake file for docs.
16261 * gentpl.py: New file. Python script to generate Autogen
16262 template.
16263 * grub-core/Makefile.am: New file. GRUB target modules' rules
16264 that doesn't fit in Makefile.core.def file.
16265 * grub-core/Makefile.core.def: New file. Autogen build
16266 definitions file for GRUB target modules.
16267 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16268 specific setjmp.S file.
16269 * po/Makefile.am: New file.
16270
16271 * .bzrignore: New ignores.
16272 * INSTALL: New requirements, without Ruby.
16273 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16274 * autogen.sh: Updated to invoke autogen as necessary.
16275 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16276 and defines for Automake conditionals.
16277 * geninit.sh: Refactoring.
16278
16279 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16280 necessary.
16281 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16282 New prototype.
16283
16284 * include/grub/test.h: Fix functional test modules' naming.
16285 * grub-core/tests/example_functional_test.c: Fix test module name.
16286
16287 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16288 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16289 * util/grub-editenv.c: Likewise.
16290 * util/grub-fstest.c: Likewise.
16291 * util/grub-mkdevicemap.c: Likewise.
16292 * util/grub-mkfont.c: Likewise.
16293 * util/grub-mkimage.c: Likewise.
16294 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16295 * util/grub-probe.c: Likewise.
16296 * util/grub-script-check.c: Likewise.
16297 * util/i386/pc/grub-setup.c: Likewise.
16298 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16299
16300 * tests/util/grub-shell.in: Fix override directory path.
16301 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16302 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16303
16304 * util/lvm.c: Update #includes.
16305 * util/raid.c: Likewise.
16306 * util/resolve.c: Likewise.
16307 * grub-core/bus/emu/pci.c: Likewise.
16308 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16309 * grub-core/lib/posix_wrap/string.h: Likewise.
16310 * grub-core/kern/emu/main.c: Likewise.
16311
16312 * grub-core/gensymlist.sh: New file. Script for generating kernel
16313 symbols file.
16314 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16315
16316 * grub-core/gentrigtables.c: Fix unused variable warnings.
16317
16318 * Makefile.in: Removed.
16319 * conf/any-emu.rmk: Removed.
16320 * conf/common.rmk: Removed.
16321 * conf/i386-coreboot.rmk: Removed.
16322 * conf/i386-efi.rmk: Removed.
16323 * conf/i386-ieee1275.rmk: Removed.
16324 * conf/i386-multiboot.rmk: Removed.
16325 * conf/i386-pc.rmk: Removed.
16326 * conf/i386-qemu.rmk: Removed.
16327 * conf/i386.rmk: Removed.
16328 * conf/mips-yeeloong.rmk: Removed.
16329 * conf/mips.rmk: Removed.
16330 * conf/powerpc-ieee1275.rmk: Removed.
16331 * conf/sparc64-ieee1275.rmk: Removed.
16332 * conf/tests.rmk: Removed.
16333 * conf/x86-efi.rmk: Removed.
16334 * conf/x86_64-efi.rmk: Removed.
16335 * gendistlist.sh: Removed.
16336 * geninitheader.sh: Removed.
16337 * genkernsyms.sh.in: Removed.
16338 * genmk.rb: Removed.
16339 * gensymlist.sh.in: Removed.
16340 * mkinstalldirs: Removed.
16341 * boot: Moved ...
16342 * grub-core/boot: ... to here.
16343 * bus: Moved ...
16344 * grub-core/bus: ... to here.
16345 * commands: Moved ...
16346 * grub-core/commands: ... to here.
16347 * disk: Moved ...
16348 * grub-core/disk: ... to here.
16349 * efiemu: Moved ...
16350 * grub-core/efiemu: ... to here.
16351 * font: Moved ...
16352 * grub-core/font: ... to here.
16353 * fs: Moved ...
16354 * grub-core/fs: ... to here.
16355 * gencmdlist.sh: Moved ...
16356 * grub-core/gencmdlist.sh: ... to here.
16357 * genemuinit.sh: Moved ...
16358 * grub-core/genemuinit.sh: ... to here.
16359 * genemuinitheader.sh: Moved ...
16360 * grub-core/genemuinitheader.sh: ... to here.
16361 * genfslist.sh: Moved ...
16362 * grub-core/genfslist.sh: ... to here.
16363 * genhandlerlist.sh: Moved ...
16364 * grub-core/genhandlerlist.sh: ... to here.
16365 * genmoddep.awk: Moved ...
16366 * grub-core/genmoddep.awk: ... to here.
16367 * genmodsrc.sh: Moved ...
16368 * grub-core/genmodsrc.sh: ... to here.
16369 * genpartmaplist.sh: Moved ...
16370 * grub-core/genpartmaplist.sh: ... to here.
16371 * genparttoollist.sh: Moved ...
16372 * grub-core/genparttoollist.sh: ... to here.
16373 * genterminallist.sh: Moved ...
16374 * grub-core/genterminallist.sh: ... to here.
16375 * gentrigtables.c: Moved ...
16376 * grub-core/gentrigtables.c: ... to here.
16377 * genvideolist.sh: Moved ...
16378 * grub-core/genvideolist.sh: ... to here.
16379 * gettext: Moved ...
16380 * grub-core/gettext: ... to here.
16381 * gfxmenu: Moved ...
16382 * grub-core/gfxmenu: ... to here.
16383 * gnulib: Moved ...
16384 * grub-core/gnulib: ... to here.
16385 * hello: Moved ...
16386 * grub-core/hello: ... to here.
16387 * hook: Moved ...
16388 * grub-core/hook: ... to here.
16389 * io: Moved ...
16390 * grub-core/io: ... to here.
16391 * kern: Moved ...
16392 * grub-core/kern: ... to here.
16393 * lib: Moved ...
16394 * grub-core/lib: ... to here.
16395 * loader: Moved ...
16396 * grub-core/loader: ... to here.
16397 * mmap: Moved ...
16398 * grub-core/mmap: ... to here.
16399 * normal: Moved ...
16400 * grub-core/normal: ... to here.
16401 * partmap: Moved ...
16402 * grub-core/partmap: ... to here.
16403 * parttool: Moved ...
16404 * grub-core/parttool: ... to here.
16405 * script: Moved ...
16406 * grub-core/script: ... to here.
16407 * term: Moved ...
16408 * grub-core/term: ... to here
16409 * tests/example_functional_test.c: Moved ...
16410 * grub-core/tests/example_functional_test.c: ... to here.
16411 * tests/lib/functional_test.c: Moved ...
16412 * grub-core/tests/lib/functional_test.c: ... to here.
16413 * tests/lib/test.c: Moved ...
16414 * grub-core/tests/lib/test.c: ... to here.
16415 * video: Moved ...
16416 * grub-core/video: ... to here.
16417
645586e6
BC
164182010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16419
16420 Replace --enable-grub-emu-modules with grub-emu-lite.
16421
16422 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16423 cache.S.
16424
16425 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16426 * kern/emu/full.c: New file. For grub-emu specific initialization.
16427 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16428 * kern/emu/main.c: Call initialization function grub_emu_init.
16429
16430 * Makefile.in: Include grub-emu-lite in install.
16431 * commands/parttool.c: Use grub_no_autoload to differentiate
16432 between grub-emu and grub-emu-lite.
16433 * include/grub/misc.h: New variable grub_no_autoload.
16434
16435 * conf/any-emu.rmk: New rules for grub-emu-lite.
16436 * configure.ac: Remove --enable-grub-emu-modules.
16437 * genmk.rb: Cleanup unnecessary rules.
16438 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16439
16440 * normal/main.c: Don't load list files on grub-emu-lite.
16441 * util/misc.c (grub_arch_sync_caches): Removed.
16442
f86a4030
CW
164432010-08-23 Colin Watson <cjwatson@ubuntu.com>
16444
16445 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16446 grub-mkimage rather than grub-mkelfimage.
16447 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16448
06776944
VS
164492010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16452 a key after CapsLock or NumLock. It's just a qemu bug.
16453
df262419
VS
164542010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16457 needed by libusb wrapper.
16458
b40ea81b
ST
164592010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16460
16461 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16462
dee50575
VS
164632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16464
16465 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16466 --nounzip is passed.
16467
fb1d7b79
VS
164682010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 USB hotunplugging and USB serial support.
16471
16472 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16473 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16474 (grub_uhci_transfer): Respect timeout and set *actual.
16475 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16476 non-standard length.
16477 (grub_usb_device_attach): Autoload modules.
16478 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16479 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16480 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16481 users updated.
16482 (grub_usb_add_hub): Fill nports and children.
16483 (attach_root_port): Receive hub instead of controller.
16484 All users updated. Fill hub->devices.
16485 (grub_usb_root_hub): Allocate hub->devices.
16486 (detach_device): New function.
16487 (poll_nonroot_hub): Fill children and detach devices.
16488 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16489 actual arguments. All users updated.
16490 (grub_usb_bulk_read_extended): New function.
16491 * bus/usb/serial/common.c: New file.
16492 * bus/usb/serial/ftdi.c: Likewise.
16493 * bus/usb/serial/pl2303.c: Likewise.
16494 * commands/terminal.c (handle_command): Support wildcard.
16495 * commands/usbtest.c: Output "Unknown" instead of empty string.
16496 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16497 (usbserial_common_mod_SOURCES): New variable.
16498 (usbserial_common_mod_CFLAGS): Likewise.
16499 (usbserial_common_mod_LDFLAGS): Likewise.
16500 (pkglib_MODULES): Add usbserial_pl2303.mod.
16501 (usbserial_pl2303_mod_SOURCES): New variable.
16502 (usbserial_pl2303_mod_CFLAGS): Likewise.
16503 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16504 (pkglib_MODULES): Add usbserial_ftdi.mod.
16505 (usbserial_ftdi_mod_SOURCES): New variable.
16506 (usbserial_ftdi_mod_CFLAGS): Likewise.
16507 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16508 (pkglib_MODULES): Add serial.mod.
16509 (serial_mod_SOURCES): New variable.
16510 (serial_mod_CFLAGS): Likewise.
16511 (serial_mod_LDFLAGS): Likewise.
16512 * conf/i386-pc.rmk: Likewise.
16513 * conf/mips-yeeloong.rmk: Likewise.
16514 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16515 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16516 * disk/usbms.c (first_available_slot): New variable.
16517 (grub_usbms_attach): Don't reuse free slots due to potential cache
16518 problems.
16519 * include/grub/serial.h: Moved to ..
16520 * include/grub/ns8250.h: ...this.
16521 * include/grub/serial.h: New file.
16522 * include/grub/term.h (grub_term_poll_usb): New variable.
16523 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16524 readkey. All users updated.
16525 (grub_terminfo_output_state): Pass term to put.
16526 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16527 (grub_usb_controller_dev): Add timeout and actual arguments to
16528 transfer. All users updated.
16529 (grub_usb_interface): New field detach_data.
16530 (grub_usb_device): New fields children and nports.
16531 (grub_usb_ep_type_t): New type.
16532 (grub_usb_get_ep_type): New function.
16533 (grub_usb_bulk_read_extended): Likewise.
16534 * include/grub/usbdesc.h (grub_usb_desc): New type.
16535 * include/grub/usbserial.h: New file.
16536 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16537 * kern/term.c (grub_term_poll_usb): New variable.
16538 (grub_getkey): Call grub_term_poll_usb if set.
16539 (grub_checkkey): Likewise.
16540 (grub_getkeystatus): Likewise.
16541 * term/serial.c: Moved controller-specific parts to ...
16542 * term/ns8250.c: ... here.
16543 * term/serial.c: Mostly rewritten.
16544 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16545 according to spec.
16546
21a313de
RM
165472010-08-20 Robert Millan <rmh@gnu.org>
16548
16549 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16550 a separate module and maybe other interesting combinations.
16551
16552 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16553 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16554 (kfreebsd_entry): Add generic filesystem module load routine.
16555 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16556
63c734a6
CW
165572010-08-20 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16560 "numcenter" (I misunderstood the purpose of this entry).
16561 * docs/grub.texi (sendkey): Likewise.
16562
c4d16542
CW
165632010-08-20 Colin Watson <cjwatson@ubuntu.com>
16564
16565 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16566 status flag options; simply omitting the option is equivalent and
16567 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16568 (keysym_table): Rename "num5numlock" to "numlock".
16569 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16570 can uniformly say that only the last of multiple `sendkey'
16571 invocations has any effect.
16572 * docs/grub.texi (sendkey): New section.
16573
93541d66
CW
165742010-08-19 Colin Watson <cjwatson@ubuntu.com>
16575
16576 * commands/i386/pc/sendkey.c (options): Fix three typos.
16577
b4ece5e1
VS
165782010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 Implement sendkey support.
16581
16582 * commands/i386/pc/sendkey.c: New file.
16583 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16584 (sendkey_mod_SOURCES): New variable.
16585 (sendkey_mod_CFLAGS): Likewise.
16586 (sendkey_mod_LDFLAGS): Likewise.
16587
51f1f5af
CW
165882010-08-18 Colin Watson <cjwatson@ubuntu.com>
16589
16590 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16591 fix warnings from Autoconf.
16592
9da94e05
CW
165932010-08-18 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16596 to avoid false positives with some assemblers that output things
16597 like "someprefix_func" as part of their output.
16598
729a0f2e
RM
165992010-08-15 Robert Millan <rmh@gnu.org>
16600
16601 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16602 errors.
16603 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16604 grub_get_libzfs_handle() errors.
16605
f3710e08
RM
166062010-08-14 Robert Millan <rmh@gnu.org>
16607
16608 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16609 filesystem is not ZFS.
16610
7a3c13de
BC
166112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16612
16613 Fix for misspelled color names defaulting to black/black (bug
16614 reported by Doug Nazar)
16615
16616 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16617 status to prototype.
16618 * normal/color.c (grub_parse_color_name_pair): Return failure
16619 status.
16620 (grub_env_write_color_normal): Ignore bad color names.
16621 (grub_env_write_color_highlight): Likewise.
16622 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16623
ab8ba50d
BC
166242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16625
16626 "shift" command support to GRUB script.
16627
16628 * include/grub/script_sh.h (grub_script_shift): New prototype.
16629 * script/execute.c (grub_script_shift): New function.
16630 * script/main.c (grub_script_init): Register shift command.
16631 (grub_script_fini): Unregister shift command.
16632 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16633
16634 * tests/grub_script_shift.in: New testcase.
16635 * conf/tests.rmk: Rules for new testcase.
16636
4d61999e
BC
166372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16638
16639 "continue" command support to GRUB script.
16640
16641 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16642 (grub_script_break): Continue support.
16643 * script/main.c (grub_script_init): Register continue command.
16644 (grub_script_fini): Unregister continue command.
16645
16646 * tests/grub_script_continue.in: New testcase.
16647 * conf/tests.rmk: Rules for new testcase.
16648
4df51e00
BC
166492010-08-12 BVK Chaitanya <bvk@dbook>
16650
16651 "break" command support to GRUB script.
16652
16653 * conf/common.rmk: Rule updates to grub-script-check.
16654 * include/grub/misc.h (grub_min): New function.
16655 * include/grub/script_sh.h (grub_script_init): New prototype.
16656 (grub_script_fini): New prototype.
16657 (grub_script_break): New prototype.
16658 * script/main.c (grub_script_init): New function.
16659 (grub_script_fini): New function.
16660 * script/execute.c (grub_script_break): New function.
16661 * normal/main.c: Calls to grub_script_{init,fini}.
16662 * util/grub-script-check.c (grub_script_break): New function.
16663
16664 * tests/grub_script_break.in: New testcase.
16665 * conf/tests.rmk: Rules for new test case.
16666
f12c8420
BC
166672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16668
16669 Function parameters support to GRUB script.
16670
16671 * script/yylex.l (VARIABLE): Regular expression update.
16672 * script/function.c (grub_script_function_call): Moved ...
16673 * script/execute.c (grub_script_function_call): ... to here.
16674 (grub_script_execute_arglist_to_argv): Removed.
16675 (grub_script_arglist_to_argv): New function.
16676 * script/argv.c: New file.
16677 (grub_script_argv_free): New function.
16678 (grub_script_argv_next): Likewise.
16679 (grub_script_argv_append): Likewise.
16680 (grub_script_argv_split_append): Likewise.
16681 * include/grub/script_sh.h (grub_script_argv): New struct.
16682 (grub_script_argv_free): New function.
16683 (grub_script_argv_next): Likewise.
16684 (grub_script_argv_append): Likewise.
16685 (grub_script_argv_split_append): Likewise.
16686
16687 * conf/common.rmk (normal.mod): New source script/argv.c.
16688
16689 * tests/grub_script_echo1.in: More tests.
16690 * tests/grub_script_vars1.in: Likewise.
16691 * tests/grub_script_functions.in: New test case.
16692 * conf/tests.rmk: Rules for new testcase.
16693
8022b748
BC
166942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16695
16696 Remove grub_script_cmdblock struct.
16697
16698 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16699 * script/parser.y: Likewise.
16700 * script/execute.c: Rename cmdblock suffix to cmdlist.
16701 * script/script.c: Likewise.
16702 * util/grub-script-check.c: Likewise.
16703
79a6ba61
YB
167042010-08-11 Yves Blusseau <blusseau@zetam.org>
16705
16706 * .bzrignore: add grub-macho2img
16707
d04b9414
VS
167082010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16711
f947ab49
VS
167122010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 Remove the dump of sm712 initialisation sequence.
16715
16716 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16717 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16718 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16719 (GRUB_VGA_CR_*): Added many registers.
16720 (GRUB_VGA_SR_*): Likewise.
16721 (GRUB_VGA_GR_*): Likewise.
16722 (grub_vga_write_arx): New function.
16723 (grub_video_hw_config): New struct.
16724 (grub_vga_set_geometry): New function.
16725 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16726 GRUB_PCI_CLASS_SUBCLASS_VGA.
16727 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16728 * video/sm712.c (grub_sm712_write_reg): New function
16729 (grub_sm712_read_reg): Likewise.
16730 (grub_sm712_sr_write): Likewise.
16731 (grub_sm712_gr_write): Likewise.
16732 (grub_sm712_cr_write): Likewise.
16733 (grub_sm712_write_arx): Likewise.
16734 (grub_sm712_cr_shadow_write): Likewise.
16735 (grub_sm712_write_dda_lookup): Likewise.
16736 (grub_video_sm712_setup): Initialise the video rather then
16737 blindly replay the dump.
16738 (main) [TEST]: Add a routine to be able to compile as standalone for
16739 tests.
16740 * video/sm712_init.c (sm712_init): Removed.
16741 (sm712_sr_seq1): New array.
16742 (sm712_sr_seq2): Likewise.
16743
f0206638
VS
167442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * include/grub/vga.h: Add missing grub/pci.h include.
16747
2764da3b
YB
167482010-08-10 Yves Blusseau <blusseau@zetam.org>
16749
16750 * util/grub-macho2img.c (main): fix typo
16751
cf0c775e
VS
167522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16755 (grub_vga_gr_read): Likewise.
16756 (grub_vga_cr_write): Likewise.
16757 (grub_vga_cr_read): Likewise.
16758 (grub_vga_sr_write): Likewise.
16759 (grub_vga_sr_read): Likewise.
16760 (grub_vga_palette_read): Likewise.
16761 (grub_vga_palette_write): Likewise.
16762 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16763 (grub_sm712_sr_read): New function.
16764 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16765 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16766
07f360e9
RM
167672010-08-09 Robert Millan <rmh@gnu.org>
16768
16769 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16770 out unused variables on non-ZFS build.
16771
346c2072
RM
167722010-08-08 Robert Millan <rmh@gnu.org>
16773
16774 Fix path generation for sub-filesystems in ZFS.
16775
16776 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16777 missing slash.
16778
71175420
RM
167792010-08-08 Robert Millan <rmh@gnu.org>
16780
16781 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16782
0d8286f3
RM
167832010-08-08 Robert Millan <rmh@gnu.org>
16784
16785 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16786 exist, issue a proper error message (rely on `ls' for translated
16787 strings).
16788
55dd2924
RM
167892010-08-08 Robert Millan <rmh@gnu.org>
16790
16791 Fix grub-probe invocation.
16792
16793 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16794
d3dd9e80
RM
167952010-08-04 Robert Millan <rmh@gnu.org>
16796
16797 * configure.ac: Remove checks for getfsstat() and getmntany().
16798 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16799 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16800 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16801 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16802 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16803 function.
16804 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16805 via find_mount_point_from_dir() and getfsstat() / getmntany().
16806
0de22aa9
RM
168072010-08-04 Robert Millan <rmh@gnu.org>
16808
16809 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16810 (grub_find_zpool_from_mount_point): Merge into ...
16811 (grub_find_zpool_from_dir): ... this.
16812 * kern/emu/misc.c: Likewise.
16813
16814 * kern/emu/misc.c
16815 (grub_make_system_path_relative_to_its_root): Replace
16816 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16817 with grub_find_zpool_from_dir().
16818 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16819
62858144
RM
168202010-08-04 Robert Millan <rmh@gnu.org>
16821
16822 Support OpenSolaris in ZFS device resolution.
16823
16824 * configure.ac: Check for getmntany().
16825 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16826 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16827 support.
16828
9dd6fd50
RM
168292010-08-03 Robert Millan <rmh@gnu.org>
16830
16831 Fix grub-emu build.
16832
16833 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16834 * include/grub/emu/misc.h: ... here.
16835
16836 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16837 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16838
16839 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16840 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16841 (grub_get_libzfs_handle): Move to ...
16842 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16843 (grub_get_libzfs_handle): ... here.
16844
c9f7ff97
BC
168452010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16846
16847 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16848 as command name case.
16849
a870a783
CW
168502010-08-02 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * disk/raid.c (insert_array): Select unique numbers for named arrays
16853 as well, for use as keys in the disk cache.
16854
c7db243b
RM
168552010-08-01 Robert Millan <rmh@gnu.org>
16856
16857 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16858 kFreeBSD device name, except on ZFS where the filesystem label is
16859 used.
16860 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16861 `/boot/zfs/zpool.cache'.
16862 Set mountfrom kernel variable using ${kfreebsd_device}.
16863
f7abdefb
RM
168642010-08-01 Robert Millan <rmh@gnu.org>
16865
16866 Make it even harder to use uninitialized `libzfs_handle' (and
16867 make the interface a bit simpler).
16868
16869 * include/grub/util/misc.h (grub_util_init_libzfs)
16870 (libzfs_handle): Remove.
16871 (grub_get_libzfs_handle): New prototype.
16872
16873 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16874 attribute.
16875 (grub_util_init_libzfs): Remove.
16876 (grub_get_libzfs_handle): New function.
16877
16878 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16879 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16880 accessing `libzfs_handle' directly.
16881
c882acc0
RM
168822010-08-01 Robert Millan <rmh@gnu.org>
16883
16884 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16885 (grub_find_zpool_from_mount_point): New function prototypes.
16886
16887 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16888 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16889
16890 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16891 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16892 `static' attribute.
16893
16894 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16895 finding zpool from mount point into ...
16896 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16897
16898 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16899 requested path is part of a ZFS pool, use
16900 grub_find_zpool_from_mount_point() to detect its filesystem name,
16901 and generate a path with `/fsname@path' syntax.
16902
8bfe31d8
CW
169032010-08-01 Colin Watson <cjwatson@ubuntu.com>
16904
16905 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16906 (void) rather than () so that this is a proper prototype.
16907
553df63d
VS
169082010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16911
8687cf07
VS
169122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16915 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16916
ea9be8ea
CW
169172010-08-01 Colin Watson <cjwatson@ubuntu.com>
16918
16919 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16920
6eea041a
CW
169212010-08-01 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16924
2cfb45df
CW
169252010-08-01 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16928 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16929 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16930 disable gfxpayload.
16931 (Shell-like scripting): Add real content.
16932 (Serial terminal): Suggest `terminal_input serial; terminal_output
16933 serial' rather than putting the two commands on separate lines,
16934 since console input will be inoperative after the first command.
16935 (menuentry): Document --class, --users, and --hotkey options.
16936 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16937 Vladimir Serbinenko).
16938
7decd202
VS
169392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
169402010-08-01 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16943
c882acc0
RM
169442010-08-01 Robert Millan <rmh@gnu.org>
16945
16946 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16947 (grub_find_zpool_from_mount_point): New function prototypes.
16948
16949 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16950 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16951
16952 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16953 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16954 `static' attribute.
16955
16956 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16957 finding zpool from mount point into ...
16958 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16959
16960 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16961 requested path is part of a ZFS pool, use
16962 grub_find_zpool_from_mount_point() to detect its filesystem name,
16963 and generate a path with `/fsname@path' syntax.
16964
deb0caa3
RM
169652010-08-01 Robert Millan <rmh@gnu.org>
16966
16967 Prevent accidental use of uninitialized libzfs_handle.
16968
16969 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16970 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16971 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16972
ce04ef47
CW
169732010-08-01 Colin Watson <cjwatson@ubuntu.com>
16974
16975 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16976 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16977
ebf53056
RM
169782010-08-01 Robert Millan <rmh@gnu.org>
16979
16980 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16981
3710bb6b
RM
169822010-07-31 Robert Millan <rmh@gnu.org>
16983
16984 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16985
8072efeb
RM
169862010-07-31 Robert Millan <rmh@gnu.org>
16987
16988 * kern/emu/misc.c: Add missing license header.
16989
3169f4c7
RM
169902010-07-31 Robert Millan <rmh@gnu.org>
16991
16992 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16993
16994 * include/grub/util/libnvpair.h: Include `<config.h>'.
16995 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16996 declaring libnvpair prototypes ourselves.
16997 * include/grub/util/libzfs.h: Include `<config.h>'.
16998 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16999 declaring libzfs prototypes ourselves.
17000
17001 (libzfs_handle): Moved to ...
17002 * include/grub/util/misc.h (libzfs_handle): ... here.
17003 Include `<grub/util/libzfs.h>'.
17004
c9a00aee
RM
170052010-07-30 Robert Millan <rmh@gnu.org>
17006
17007 * include/grub/emu/misc.h: Add missing license header.
17008
a184f9c8
RM
170092010-07-30 Robert Millan <rmh@gnu.org>
17010
17011 Enable `grub-probe -t device' resolution on ZFS.
17012
17013 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17014 * include/grub/util/libnvpair.h: New file.
17015 * include/grub/util/libzfs.h: New file.
17016
17017 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17018 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17019 `<grub/util/libnvpair.h>'.
17020 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17021
17022 (find_mount_point_from_dir): New static function.
17023 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17024 function.
17025 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17026 find_root_device_from_libzfs() before ressorting to find_root_device().
17027
17028 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17029 prototype.
17030 * util/misc.c: Include `<grub/util/libzfs.h>'.
17031 (grub_util_init_libzfs): New function.
17032 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17033 [HAVE_LIBZFS] (fini_libzfs): New static function.
17034 (grub_util_init_libzfs): New function.
17035 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17036
f7790cdd
RM
170372010-07-30 Robert Millan <rmh@gnu.org>
17038
17039 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17040 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17041 `warn_unused_result' attribute.
17042 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17043 (grub_xasprintf, grub_xvasprintf): Likewise.
17044 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17045
0806b63c
RM
170462010-07-29 Robert Millan <rmh@gnu.org>
17047
17048 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17049 (probe): Handle `PRINT_FS_LABEL'.
17050 (main): Handle `-t fs_label'.
17051
9f841f5c
RM
170522010-07-29 Robert Millan <rmh@gnu.org>
17053
17054 * configure.ac: Remove grub-mkisofs checks.
17055
46371121
VS
170562010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17059 Reported by: Lennart Sorensen.
17060
170612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17064 prior to terminal_input/terminal_output separation. It's been over 1.5
17065 years and those versions weren't widely deployed.
17066
a9600892
CW
170672010-07-22 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * disk/raid.c (insert_array): Don't count named arrays when looking
17070 for unused array numbers.
697e053c 17071 Reported and tested by: Michael Guntsche.
a9600892 17072
c03507df
CW
170732010-07-20 Colin Watson <cjwatson@ubuntu.com>
17074
17075 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17076 implementation of this so that grub-emu links again, with a note
17077 that this should support hotplugging in the future.
17078
b26f1c11
CW
170792010-07-20 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17082
efc9d7f1
CW
170832010-07-20 Colin Watson <cjwatson@ubuntu.com>
17084
17085 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17086 handle on failure.
17087 (grub_loopback_close): Remove empty function.
17088 (grub_loopback_dev): Remove close method.
17089
dd8ff5c9
CW
170902010-07-20 Colin Watson <cjwatson@ubuntu.com>
17091
17092 Disable EFI cursor when the EFI console becomes inactive.
17093
17094 * term/efi/console.c (grub_efi_console_init): New function.
17095 (grub_efi_console_fini): New function.
17096 (grub_console_term_output): Register init and fini methods.
17097
5e3bec67
VS
170982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17101 sh script.
17102
afaec079
VS
171032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * disk/loopback.c (grub_loopback): Replace filename with file.
17106 (delete_loopback): Handle new semantics.
17107 (grub_cmd_loopback): Likewise.
17108 (grub_loopback_iterate): Likewise.
17109 (grub_loopback_close): Likewise.
17110
a6a11f3c
VS
171112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17114 with -p "".
17115 Reported by: Tito Keitel.
17116
64a638b0
VS
171172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 * docs/grub.texi (Naming convention): Document new naming convention.
17120
ab8ba957
VS
171212010-07-20 Vadim Solomin <vadic052@gmail.com>
171222010-07-20 Colin Watson <cjwatson@ubuntu.com>
17123
17124 Generate device.map in something closer to the old ordering.
17125
17126 * util/deviceiter.c (struct device): New declaration.
17127 (compare_file_names): Rename to ...
17128 (compare_devices): ... this. Sort by kernel name in preference to
17129 the stable by-id name, but keep the latter as a fallback comparison.
17130 Update header comment.
17131 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17132 of `struct device' rather than of plain file names.
17133
a29d6a4b
TF
171342010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17135
17136 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17137 on i386.
17138
39d824e8
VS
171392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17142 hardcoding size.
17143 (setv1table): Likewise.
17144
f058276b
FZ
171452010-07-20 Colin Watson <cjwatson@ubuntu.com>
17146
17147 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17148 removing the homehost if present.
17149 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17150 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17151 removing the homehost if present.
17152 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17153 if possible.
17154 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17155
17156 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17157 parameter. Set its pointer target to 0.
17158 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17159 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17160 `data_offset' value from the superblock for 1.x metadata.
17161 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17162 data on the device.
17163 (insert_array): Record the start sector of data on the device.
17164 (grub_raid_register): Pass start_sector parameters to
17165 grub_raid_list->detect and insert_array.
17166 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17167 member.
17168 (struct grub_raid): Add start_sector parameter to `detect'.
17169
17170 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17171 __attribute__ ((packed)), leaving a comment.
17172 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17173 (grub_mdraid_detect_09): ... here and ...
17174 (grub_mdraid_detect_1x): ... here.
17175
171762010-07-20 Peter Henn <peter.henn@web.de>
17177
17178 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17179 chunk size and disk size, which are already given as sector counts
17180 as distinct from the 0.90 units. Fetch the correct device number
17181 from the role table instead of using the table index.
17182
171832010-07-20 Felix Zielcke <fzielcke@z-51.de>
17184
17185 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17186 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17187 (WriteMostly1): New macro.
17188 Set array->name to NULL for metadata format 0.90. Add support for
17189 metadata 1.x. Fix some comments.
17190 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17191 few comments.
17192 * util/getroot.c (grub_util_get_grub_dev): Add support for
17193 /dev/md/name style devices.
17194
4b761da9
CW
171952010-07-20 Colin Watson <cjwatson@ubuntu.com>
17196
17197 * .bzrignore: Ignore 20_linux_xen.
17198
5771289a
CW
171992010-07-17 Colin Watson <cjwatson@ubuntu.com>
17200
17201 * util/import_unicode.py: Remove unnecessary imports.
17202
5dab68df
AN
172032010-07-17 Aleš Nesrsta <starous@volny.cz>
17204
17205 Hotplugging and USB hub support.
17206
17207 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17208 (grub_ohci): Likewise.
17209 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17210 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17211 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17212 (GRUB_OHCI_CTRL_EDS): Likewise.
17213 (GRUB_OHCI_BULK_EDS): Likewise.
17214 (GRUB_OHCI_TDS): Likewise.
17215 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17216 (grub_ohci_ed_phys2virt): New function.
17217 (grub_ohci_virt_to_phys): Likewise.
17218 (grub_ohci_td_phys2virt): Likewise.
17219 (grub_ohci_td_virt2phys): Likewise.
17220 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17221 attachment.
17222 (grub_ohci_find_ed): New function.
17223 (grub_ohci_alloc_td): Likewise.
17224 (grub_ohci_free_td): Likewise.
17225 (grub_ohci_free_tds): Likewise.
17226 (grub_ohci_transfer): Use previously allocated memory.
17227 (grub_ohci_portstatus): Reset status changed bit.
17228 (grub_ohci_detect_dev): Supply status changed.
17229 (grub_ohci_fini_hw): Free memory.
17230 (grub_ohci_restore_hw): Reallocate memory.
17231 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17232 Reset status change.
17233 (grub_uhci_detect_dev): Supply status_change.
17234 * bus/usb/usb.c (attach_hooks): New var.
17235 (grub_usb_device_attach): New function.
17236 (grub_usb_register_attach_hook_class): Likewise.
17237 (grub_usb_unregister_attach_hook_class): Likewise.
17238 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17239 (grub_usb_add_hub): Reset connection changed bit.
17240 (attach_root_port): New function.
17241 (grub_usb_root_hub): Likewise.
17242 (poll_nonroot_hub): Likewise.
17243 (grub_usb_poll_devices): Likewise.
17244 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17245 * disk/usbms.c (grub_usbms_open): Use device hooks.
17246 (grub_usbms_iterate) :Poll devices.
17247 (grub_usbms_finddevs): Split into ...
17248 (grub_usbms_attach): ... this ...
17249 (grub_usbms_attach): ... and this.
17250 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17251 in detect_dev.
17252 (grub_usb_interface): New fields attached and detach_hook.
17253 (grub_usb_attach_hook_class): New type.
17254 (grub_usb_attach_desc): New struct.
17255 (grub_usb_register_attach_hook_class): New function.
17256 (grub_usb_unregister_attach_hook_class): Likewise.
17257 (grub_usb_poll_devices): Likewise.
17258 (grub_usb_device_attach): Likewise.
17259 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17260 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17261
3222efaf
VS
172622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17265 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17266 delta determination style. Works with most NetBSD partitions too.
17267
139b714a
VS
172682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17271 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17272
986aad56
VS
172732010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17276
99be513c
AB
172772010-07-14 Anton Blanchard <anton@samba.org>
17278
17279 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17280 ET_DYN files.
17281
18075f62
GS
172822010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17283
17284 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17285
8d9a5b15
GS
172862010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17287
17288 * kern/partition.c (grub_partition_check_containment): New function to
17289 check that a partition is physically contained in a parent. Since
17290 offsets are relative (and non-negative), this reduces to checking that
17291 the partition ends before its parent.
17292 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17293 (grub_partition_iterate): Likewise.
17294 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17295 comments.
17296 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17297 partitions that start before their parent, and add debug printfs.
17298
19563c25
CW
172992010-07-13 Colin Watson <cjwatson@ubuntu.com>
17300
17301 * Makefile.in (.SUFFIX): Spell correctly, as ...
17302 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17303 bare module name without `.mod', e.g. `test') tried to invoke a
17304 Modula-2 compiler.
17305
1a1f1e67
CW
173062010-07-13 Colin Watson <cjwatson@ubuntu.com>
17307
17308 * README: Point to the Info manual.
17309
811b0dca
JS
173102010-07-13 Jiro SEKIBA <jir@unicus.jp>
17311
17312 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17313 2nd superblock position from partition size.
17314
e4f4eafc
CW
173152010-07-10 Colin Watson <cjwatson@ubuntu.com>
17316
17317 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17318 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17319 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17320 outputs.
17321
4274c30f
VS
173222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 Restructure SCSI .id handling.
17325 Reported and tested by: Aleš Nesrsta.
17326
17327 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17328 (grub_atapi_dev): Changed .name to "ata". New field .id.
17329 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17330 (grub_usbms_dev): New field .id.
17331 * disk/scsi.c (grub_scsi_iterate): Generate name.
17332 (grub_scsi_open): Parse name.
17333 * include/grub/scsi.h (grub_make_scsi_id): New function.
17334 (grub_scsi_dev): Change iterate and open to number instead of naming
17335 busses. All users updated.
17336 (grub_scsi): Remove name. Add .bus.
17337
5bc24388
VS
173382010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * commands/help.c (grub_cmd_help): Fix a typo.
17341
249975ba
VS
173422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17345 Reported and tested by: Colin Watson.
17346
3eaac1a1
VS
173472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17350 in this context.
17351
becce1b1
VS
173522010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17355
f7bf0918
CW
173562010-07-07 Colin Watson <cjwatson@ubuntu.com>
17357
17358 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17359 indentation.
17360
0b0f9620
CW
173612010-07-06 Colin Watson <cjwatson@ubuntu.com>
17362
17363 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17364 and disk/raid6_recover.c.
17365 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17366 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17367
1e545469
CW
173682010-07-06 Colin Watson <cjwatson@ubuntu.com>
17369
17370 * term/gfxterm.c (repaint_schedulded): Rename to ...
17371 (repaint_scheduled): ... this. Update all callers.
17372 (repaint_was_schedulded): Rename to ...
17373 (repaint_was_scheduled): ... this. Update all callers.
17374
5357687a
CW
173752010-07-06 Colin Watson <cjwatson@ubuntu.com>
17376
17377 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17378 which we expect to be handled by upper layers.
17379
29d7e783
BC
173802010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17381
17382 * bus/usb/usbhub.c: #include time.h header.
17383
37582066
CW
173842010-07-06 Colin Watson <cjwatson@ubuntu.com>
17385
17386 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17387 entry_name also for entries without stat blocks (e.g. ".."); fixes
17388 corruption of the first entry in a directory.
17389
c8c06953
CW
173902010-07-06 Colin Watson <cjwatson@ubuntu.com>
17391
17392 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17393 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17394 doesn't work otherwise.
17395
e75056f1
CW
173962010-07-05 Colin Watson <cjwatson@ubuntu.com>
17397
17398 * docs/grub.texi (Features): Update list of supported file systems.
17399 (GNU/Linux): Update for GRUB 2.
17400 (Serial terminal): Remove mention of --disable-serial, which was a
17401 GRUB Legacy configure option. Update instructions to use
17402 `terminal_input' and `terminal_output' rather than `terminal'.
17403 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17404 configuration' and `Installing GRUB using grub-install'.
17405 (Menu entry editor): Update for GRUB 2.
17406 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17407 Document new -a, -u, and -v options.
17408 (initrd): New section.
17409 (initrd16): New section.
17410 (linux): New section.
17411 (linux16): New section.
17412 (search): The `var' argument to `--set' is optional.
17413 (GRUB only offers a rescue shell): Go into a little more detail on
17414 drive ordering.
17415
5cf69151
CW
174162010-07-05 Colin Watson <cjwatson@ubuntu.com>
17417
17418 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17419
e3f90044
CW
174202010-07-05 Colin Watson <cjwatson@ubuntu.com>
17421
17422 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17423 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17424
38d8f4f3
CW
174252010-07-05 Colin Watson <cjwatson@ubuntu.com>
17426
17427 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17428 install_prefix, in line with install_dos_part and install_bsd_part.
17429 Add new prefix variable, which is copied to install_prefix after
17430 comparing core.img in memory with the one read from disk in the
17431 no-embedding case, and use that rather than overwriting
17432 install_prefix immediately when installing to a partition.
17433 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17434 Bicakci.
17435
57ebd41e
GS
174362010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17437
17438 * configure.ac: Avoid == in test command, it's not portable.
17439 * util/grub.d/30_os-prober.in: Likewise.
17440
cb7f64b2
CW
174412010-07-04 Colin Watson <cjwatson@ubuntu.com>
17442
17443 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17444
6b654bb0
GS
174452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17446
17447 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17448 multiple (top-level) partmaps.
17449
72a2026d
VS
174502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17453 Reported by: Tino Keitel.
72a2026d 17454
df3eb88f
VS
174552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 Bidi and diacritics support.
17458
17459 * Makefile.in (widthspec.bin): New target.
17460 (widthspec.h): Likewise.
17461 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17462 * autogen.sh: Generate unidata.c.
17463 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17464 * commands/ls.c (grub_ls_list_devices): Likewise.
17465 (grub_ls_list_files): Likewise.
17466 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17467 (grub_mini_cmd_lsmod): Likewise.
17468 * commands/read.c: Likewise.
17469 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17470 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17471 * lib/arg.c (grub_arg_show_help): Likewise.
17472 * lib/crypto.c (grub_password_get): Likewise.
17473 * normal/auth.c (grub_username_get): Likewise.
17474 * normal/misc.c (grub_normal_print_device_info): Likewise.
17475 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17476 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17477 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17478 (normal/charset.c_DEPENDENCIES): New variable.
17479 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17480 (pkglib_MODULES): Remove charset.mod.
17481 (charset_mod_SOURCES): Removed.
17482 (charset_mod_CFLAGS): Likewise.
17483 (charset_mod_LDFLAGS): Likewise.
17484 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17485 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17486 and term/tparm.c.
17487 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17488 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17489 (kernel_img_HEADERS): Add terminfo.h.
17490 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17491 Fill ->font. Reverse ascii bitmaps.
17492 (grub_font_get_xheight): New function.
17493 * font/font.c (grub_font_get_string_width): Moved from here ...
17494 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17495 * font/font.c (grub_font_draw_string): Moved from here ...
17496 * gfxmenu/font.c (grub_font_draw_string): ... here.
17497 * font/font.c (grub_font_dup_glyph): New function.
17498 (grub_font_blit_glyph): Likewise.
17499 (grub_font_blit_glyph_mirror): Likewise.
17500 (blit_comb): Likewise.
17501 (grub_font_construct_dry_run): Likewise.
17502 (grub_font_get_constructed_device_width): Likewise.
17503 (grub_font_construct_glyph): Likewise.
17504 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17505 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17506 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17507 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17508 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17509 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17510 (grub_font_get_xheight): New proto.
17511 (grub_font_get_constructed_device_width): Likewise.
17512 (grub_font_construct_glyph): Likewise.
17513 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17514 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17515 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17516 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17517 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17518 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17519 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17520 (grub_console_getcharwidth): Likewise.
17521 * include/grub/misc.h (grub_xputs): New proto.
17522 (grub_puts): Inlined.
17523 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17524 (grub_normal_get_line_counter): Removed.
17525 (grub_install_newline_hook): Likewise.
17526 (grub_normal_get_char_counter): New proto.
17527 (grub_normal_reset_more): Likewise.
17528 (grub_xputs_normal): Likewise.
17529 * include/grub/powerpc/ieee1275/console.h: Removed.
17530 * include/grub/sparc64/ieee1275/console.h: Likewise.
17531 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17532 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17533 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17534 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17535 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17536 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17537 (grub_term_input): Pass reference to self. All users updated.
17538 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17539 Pass reference to self. New fields normal_color, highlight_color and
17540 data. All users updated.
17541 (grub_putchar): Removed.
17542 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17543 (grub_unicode_estimate_width): New function.
17544 (grub_term_getcharwidth): Add defaults.
17545 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17546 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17547 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17548 (grub_cls): Remove EXPORT_FUNC.
17549 (grub_setcolorstate): Inline.
17550 (grub_newline_hook): Removed.
17551 * include/grub/terminfo.h: Rewritten. All users updated.
17552 * include/grub/unicode.h: New file.
17553 * include/grub/video.h (grub_video_signed_rect): New type.
17554 * kern/emu/console.c (grub_console_highlight_color): Removed.
17555 (grub_console_normal_color): Likewise.
17556 (grub_console_standard_color): Made static.
17557 (grub_ncurses_putchar): Remove mapping.
17558 (grub_ncurses_getcharwidth): Removed.
17559 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17560 (grub_ncurses_setcolor): Removed.
17561 (grub_ncurses_getcolor): Likewise.
17562 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17563 (grub_console_putchar): ... this.
17564 (grub_console_putchar): Handle argument difference.
17565 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17566 console_init_early and console_init_lately.
17567 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17568 * kern/misc.c (grub_puts): Removed.
17569 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17570 (grub_vsnprintf_real): Remove str = NULL support.
17571 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17572 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17573 * kern/term.c (grub_putcode): Renamed to ...
17574 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17575 (grub_putchar): Removed.
17576 (grub_xputs_dumb): New function.
17577 (grub_xputs): New variable.
17578 * lib/charset.c: Move from here ...
17579 * normal/charset.c: ... to here.
17580 (grub_ucs4_to_utf8): New function.
17581 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17582 (join_types): New variable.
17583 (unpack_join): New function.
17584 (bidi_types): New variable.
17585 (unpack_bidi): New function.
17586 (get_bidi_type): Likewise.
17587 (get_join_type): Likewise.
17588 (is_mirrored): Likewise.
17589 (grub_unicode_get_comb_type): Likewise.
17590 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17591 (is_type_after): Likewise.
17592 (grub_unicode_aglomerate_comb): Likewise.
17593 (bidi_line_wrap): Likewise.
17594 (grub_bidi_line_logical_to_visual): Likewise.
17595 (grub_bidi_logical_to_visual): Likewise.
17596 (grub_unicode_mirror_code): Likewise.
17597 (grub_unicode_shape_code): Likewise.
17598 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17599 Don't use grub_putchar.
17600 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17601 (grub_normal_reader_init): Likewise.
17602 (grub_xputs_saved): New variable.
17603 (GRUB_MOD_INIT): Set grub_xputs.
17604 (GRUB_MOD_FINI): Restore grub_xputs.
17605 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17606 (menu_init): Avoid printing gfxmenu error.
17607 (show_menu): Use grub_normal_get_char_counter.
17608 * normal/menu_entry.c (update_screen): Fix out-of-array.
17609 (complete): Avoid NULL dereferencing.
17610 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17611 * normal/menu_text.c (print_spaces): Removed.
17612 (grub_print_ucs4): Likewise.
17613 (grub_print_message_indented): Use grub_print_ucs4.
17614 (print_message): Use grub_putcode.
17615 (print_entry): Hanlde diacritics.
17616 * normal/term.c (term_state): New type.
17617 (grub_more_lines): Removed.
17618 (term_states): New variable.
17619 (grub_normal_line_counter): Renamed to ..
17620 (grub_normal_char_counter): ...this. All users updated.
17621 (grub_normal_get_line_counter): Renamed to ...
17622 (grub_normal_get_char_counter): ... this.
17623 (grub_normal_reset_more): New function.
17624 (process_newline): Removed.
17625 (print_more): New function.
17626 (grub_install_newline_hook): Removed.
17627 (map_code): New function.
17628 (grub_puts_terminal): Use grub_print_ucs4.
17629 (putglyph): New function.
17630 (putcode_real): Likewise.
17631 (grub_putcode): Use putcode_real.
17632 (get_maxwidth): New function.
17633 (get_startwidth): Likewise.
17634 (print_ucs4_terminal): Likewise.
17635 (find_term_state): Likewise.
17636 (put_glyphs_terminal): Likewise.
17637 (print_backlog): Likewise.
17638 (print_ucs4_real): Likewise.
17639 (grub_print_ucs4): Likewise.
17640 (grub_xputs_normal): Likewise.
17641 * term/efi/console.c (grub_console_putchar): Output diacritics.
17642 (grub_console_getcharwidth): Removed.
17643 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17644 * term/gfxterm.c (clear_char): Free chars.
17645 (scroll_up): Avoid leaking memory.
17646 (grub_gfxterm_putchar): Support diacritics.
17647 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17648 * term/i386/pc/console.c (grub_console_term_output): Declare as
17649 GRUB_TERM_CODE_TYPE_VGA.
17650 * term/i386/pc/vga.c (grub_vga_term): Declare as
17651 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17652 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17653 GRUB_TERM_CODE_TYPE_VGA.
17654 * term/i386/vga_common.c (map_char): Removed.
17655 (grub_console_putchar): Likewise.
17656 (grub_console_getcharwidth): Likewise.
17657 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17658 (colors): Reordered to match terminfo.
17659 (grub_ofconsole_normal_color): Removed.
17660 (grub_ofconsole_writeesc): Likewise.
17661 (grub_ofconsole_highlight_color): Likewise.
17662 (grub_ofconsole_getcharwidth): Likewise.
17663 (grub_ofconsole_setcolorstate): Likewise.
17664 (grub_ofconsole_setcolor): Likewise.
17665 (grub_ofconsole_getcolor): Likewise.
17666 (grub_ofconsole_readkey): Renamed to ...
17667 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17668 key.
17669 (grub_ofconsole_checkkey): Removed.
17670 (grub_ofconsole_getkey): Likewise.
17671 (grub_ofconsole_getxy): Likewise.
17672 (grub_ofconsole_gotoxy): Likewise.
17673 (grub_ofconsole_cls): Likewise.
17674 (grub_ofconsole_refresh): Likewise.
17675 (grub_ofconsole_terminfo_input): New struct.
17676 (grub_ofconsole_terminfo_output): Likewise.
17677 (grub_ofconsole_term_input): Use terminfo.
17678 (grub_ofconsole_term_output): Likewise.
17679 (grub_console_init): Split into ...
17680 (grub_console_init_early): ...this and ...
17681 (grub_console_init_lately): ...this. Use terminfo.
17682 (grub_ofconsole_putchar): Renamed to ...
17683 (put): ... this. Remove mapping.
17684 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17685 * term/serial.c: Simplify using terminfo.
17686 (xpos): Removed.
17687 (ypos): Likewise.
17688 (keep_track): Likewise.
17689 (registered): Likewise.
17690 (input_buf): Likewise.
17691 (npending): Likewise.
17692 (serial_translate_key_sequence): Likewise.
17693 (fill_input_buf): Likewise.
17694 (grub_serial_checkkey): Likewise.
17695 (grub_serial_getkey): Likewise.
17696 (grub_serial_getxy): Likewise.
17697 (grub_serial_gotoxy): Likewise.
17698 (grub_serial_putchar): Likewise.
17699 (grub_serial_cls): Likewise.
17700 (grub_serial_setcolorstate): Likewise.
17701 (grub_serial_setcursor): Likewise.
17702 (serial_hw_init): Use serial_hw_fetch.
17703 (grub_serial_terminfo_input): New variable.
17704 (grub_serial_terminfo_output): Likewise.
17705 (grub_serial_term_input): Use terminfo.
17706 (grub_serial_term_output): Likewise.
17707 * term/terminfo.c (putstr): Use put.
17708 (grub_terminfo_all_free): New function
17709 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17710 (grub_terminfo_output_register): New function.
17711 (grub_terminfo_output_unregister): Likewise.
17712 (grub_terminfo_getxy): Likewise.
17713 (grub_terminfo_readkey): Likewise.
17714 (grub_terminfo_checkkey): Likewise.
17715 (grub_terminfo_getkey): Likewise.
17716 (grub_terminfo_input_init): Likewise.
17717 (print_terminfo): Likewise.
17718 (grub_cmd_terminfo): Handle encoding.
17719 (grub_terminfo_gotoxy): Track position.
17720 (grub_terminfo_cls): Likewise.
17721 (grub_terminfo_putchar): Likewise.
17722 (grub_terminfo_setcolorstate): Handle colors
17723 (grub_terminfo_cursor_on): This ...
17724 (grub_terminfo_cursor_off): ... and this merged into ...
17725 (grub_terminfo_setcursor): ... this.
17726 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17727 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17728 * unicode/BidiMirroring.txt: Likewise.
17729 * unicode/UnicodeData.txt: Likewise.
17730 * unicode/COPYING: Likewise.
17731 * util/grub-editenv.c (grub_putchar): Removed.
17732 (grub_xputs_real): New function.
17733 (grub_xputs): New variable.
17734 * util/grub-fstest.c (grub_putchar): Removed.
17735 (grub_xputs_real): New function.
17736 (grub_xputs): New variable.
17737 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17738 (grub_xputs_real): New function.
17739 (grub_xputs): New variable.
17740 * util/grub-probe.c (grub_putchar): Removed.
17741 (grub_xputs_real): New function.
17742 (grub_xputs): New variable.
17743 * util/grub-script-check.c (grub_putchar): Removed.
17744 (grub_xputs_real): New function.
17745 (grub_xputs): New variable.
17746 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17747 (grub_xputs_real): New function.
17748 (grub_xputs): New variable.
17749 * util/import_unicode.py: New file.
17750 * util/grub-mkfont.c (ft_errmsgs): New array.
17751 (grub_glyph_info): Make bitmap a pointer.
17752 (file_formats): New type WIDTH_SPEC.
17753 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17754 (options): Add width-spec.
17755 (help): Likewise.
17756 (add_char): Renamed to ...
17757 (add_glyph): ... this.
17758 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17759 (glyph_replace): New type.
17760 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17761 (add_char): New function.
17762 (add_subst): Likewise.
17763 (process_cursive): Likewise.
17764 (add_font): Handle GSUB.
17765 (write_font_width_spec): New function.
17766 (main): Sort glyphs.
17767 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17768 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17769 * kern/term.c (grub_cls): Moved from here...
17770 * normal/term.c (grub_cls): ... here.
17771
50f0bcda
CW
177722010-07-02 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17775 suitable for using within the format argument of printf when
17776 converting grub_size_t.
17777 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17778 "x" to convert grub_size_t arguments.
17779
40372103
VS
177802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17781
17782 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17783 too long captions.
17784 (list_get_minimal_size): Take selection box into account.
17785
942a10c7
VS
177862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17789 NULL font.
17790
2bdb2892
CW
177912010-07-02 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17794 devices when iterating over /dev/disk/by-id; they will be handled
17795 later if appropriate, which they aren't always (e.g. LVM).
17796
e03ed6c1
CW
177972010-07-02 Colin Watson <cjwatson@ubuntu.com>
17798
17799 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17800 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17801 fails.
17802 (grub_halt): Likewise.
17803 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17804 reset-all fails.
17805 (grub_halt): Don't return, even if all of shut-down, power-off, and
17806 poweroff fail.
17807
47695765
CW
178082010-07-02 Colin Watson <cjwatson@ubuntu.com>
17809
17810 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17811 arguments, not three.
17812
507736c8
CW
178132010-07-02 Colin Watson <cjwatson@ubuntu.com>
17814
17815 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17816 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17817 LVM-on-RAID is handled correctly.
17818
e3c8cd37
CW
178192010-07-02 Colin Watson <cjwatson@ubuntu.com>
17820
17821 * docs/grub.texi (Changes from GRUB Legacy): New section.
17822 (Future): Fix typo.
17823
8d4a2fec
CW
178242010-07-02 Colin Watson <cjwatson@ubuntu.com>
17825
17826 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17827 grub.d/README accidentally ends up executable for one reason or
17828 another. Ignore it.
17829
1c4827be
VS
178302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17833 (gpt_partition_map_iterate): Support non-512B sectors.
17834
d9a0c941
VS
178352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17838 Tested by: Seth Goldberg.
17839
48f27e87
VS
178402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17843 Properly align mbi.
17844 Reported by: Seth Goldberg.
17845
b0c4f956
VS
178462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * util/grub-mkrescue.in: Avoid module duplication.
17849
105a2e8c
SF
178502010-07-01 Sean Finney <seanius@seanius.net>
17851
17852 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17853
5944958c
SF
178542010-07-01 Sean Finney <seanius@seanius.net>
17855
17856 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17857
178582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * disk/lvm.c (grub_lvm_checkvalue): New function.
17861 (grub_lvm_check_flag): Likewise.
17862
b79889ba
RM
178632010-07-01 Robert Millan <rmh@gnu.org>
17864
17865 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17866 Support 'p' as partition separator on kernel of FreeBSD (used
17867 with GPT labels).
17868 (grub_util_biosdisk_get_grub_dev): Likewise.
17869
ec1d04f1
VS
178702010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 Yeeloong firmware port.
17873
17874 * boot/mips/yeeloong/fwstart.S: New file.
17875 * bus/cs5536.c (gpiodump): New const.
17876 (set_io_space): New function.
17877 (set_iod): Likewise.
17878 (set_p2d): Likewise.
17879 (grub_cs5536_init_geode): Likewise.
17880 * commands/mips/yeeloong/lsspd.c: New file.
17881 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17882 (serial_mod_SOURCES): New variable.
17883 (serial_mod_CFLAGS): Likewise.
17884 (serial_mod_LDFLAGS): Likewise.
17885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17886 term/terminfo.c and term/tparm.c.
17887 (pkglib_IMAGES): Add fwstart.img.
17888 (fwstart_img_SOURCES): New variable.
17889 (fwstart_img_CFLAGS): Likewise.
17890 (fwstart_img_ASFLAGS): Likewise.
17891 (fwstart_img_LDFLAGS): Likewise.
17892 (fwstart_img_FORMAT): Likewise.
17893 (pkglib_MODULES): Add lsspd.mod.
17894 (lsspd_mod_SOURCES): New variable.
17895 (lsspd_mod_CFLAGS): Likewise.
17896 (lsspd_mod_LDFLAGS): Likewise.
17897 (pkglib_MODULES): Add halt.mod.
17898 (halt_mod_SOURCES): New variable.
17899 (halt_mod_CFLAGS): Likewise.
17900 (halt_mod_LDFLAGS): Likewise.
17901 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17902 (serial_mod_SOURCES): Removed.
17903 (serial_mod_CFLAGS): Likewise.
17904 (serial_mod_LDFLAGS): Likewise.
17905 * disk/ata.c (check_device): New function.
17906 (grub_ata_device_initialize): Use check_device.
17907 (grub_ata_iterate): Recheck devices.
17908 (grub_ata_open): Likewise.
17909 (grub_atapi_iterate): Likewise.
17910 (grub_atapi_open): Likewise.
17911 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17912 (GRUB_ATA_CH1_PORT1): Likewise.
17913 (GRUB_ATA_CH0_PORT2): Likewise.
17914 (GRUB_ATA_CH1_PORT2): Likewise.
17915 * include/grub/mips/loongson.h: New file.
17916 * include/grub/mips/yeeloong/ec.h: Likewise.
17917 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17918 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17919 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17920 * include/grub/misc.h (grub_halt): Declare as noreturn.
17921 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17922 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17923 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17924 (UART_ENABLE_DTRRTS): Likewise.
17925 (UART_ENABLE_MODEM): Removed.
17926 (UART_ENABLE_OUT2): New const.
17927 * include/grub/term.h (grub_term_register_input_active): New function.
17928 (grub_term_register_output_active): Likewise.
17929 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17930 argument.
17931 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17932 (init_pci): New function.
17933 (grub_machine_init): Execute platform init when firmware. Init serial.
17934 (grub_halt): Implement.
17935 (grub_exit): Likewise.
17936 (grub_reboot): Likewise.
17937 * term/serial.c (serial_hw_init): Update macros.
17938 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17939 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17940 (image_targets): New target mipsel-yeeloong-flash.
17941 (generate_image): Support IMAGE_YEELOONG_FLASH.
17942 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17943 (grub_video_sm712_setup): Init card.
17944 (grub_video_sm712_set_palette): Removed.
17945 * video/sm712_init.c: New file.
17946
ff4a70d2
CW
179472010-06-30 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17950 PATH when running help2man and then run it on the unadorned
17951 executable names, rather than passing $(builddir)/* paths to
17952 help2man. This avoids the build directory ending up in generated
17953 manual pages.
17954
1246efeb
CW
179552010-06-29 Colin Watson <cjwatson@ubuntu.com>
17956
17957 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17958 to avoid accidents when debugging with 'sh -x'.
17959 * util/grub-mkrescue.in: Likewise.
17960 * util/grub.d/00_header.in: Likewise.
17961 * util/grub.d/10_hurd.in: Likewise.
17962 * util/grub.d/10_kfreebsd.in: Likewise.
17963 * util/grub.d/10_linux.in: Likewise.
17964 * util/grub.d/10_netbsd.in: Likewise.
17965 * util/grub.d/10_windows.in: Likewise.
17966 * util/grub.d/20_linux_xen.in: Likewise.
17967 * util/grub.d/30_os-prober.in: Likewise.
17968 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17969
1ba9b889
CW
179702010-06-29 Colin Watson <cjwatson@ubuntu.com>
17971
17972 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17973 last character in the buffer.
17974 Reported by: Vladimir Serbinenko.
17975
dccaf99d
RM
179762010-06-29 Robert Millan <rmh@gnu.org>
17977
17978 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17979 (Command-line and menu entry commands): Document `badram' command.
17980
d500ed12
RM
179812010-06-28 Robert Millan <rmh@gnu.org>
17982
17983 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17984 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17985 command using ${GRUB_BADRAM} as parameter.
17986
20bc84a6
CW
179872010-06-28 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * docs/grub.texi (Device map): New section.
17990 (Themes): New section (stub).
17991 * Makefile.in (docs/grub.info): The info documentation now builds
17992 without errors. Make sure it stays that way.
17993
4045dee1
VS
179942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 Use normal parser for menu entries.
17997 Reported by: Thomas Frauendorfer
17998
17999 * include/grub/parser.h (grub_parser_execute): Don't export.
18000 * normal/menu.c (grub_menu_execute_entry_real): New function.
18001 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18002
bca58c7b
CW
180032010-06-28 Colin Watson <cjwatson@ubuntu.com>
18004
18005 * docs/grub.texi (Embedded configuration): New section (replacing
18006 old "Preset Menu" stub).
18007 (Images): New section.
18008 (configfile): Note that any menu entries defined in `file' are shown
18009 immediately.
18010
dec53e63
JT
180112010-06-28 Josh Triplett <josh@joshtriplett.org>
18012
18013 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18014
c06e40f7
CW
180152010-06-28 Colin Watson <cjwatson@ubuntu.com>
18016
18017 * util/grub-install.in: Add --debug-image= option.
18018
cb88052b
CW
180192010-06-28 Colin Watson <cjwatson@ubuntu.com>
18020
18021 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18022 possible on Linux.
18023
18024 * util/deviceiter.c (check_device): Rename to ...
18025 (check_device_readable_unique): ... this. Update all callers.
18026 Maintain and check a list of which devices (by canonicalized name)
18027 have already been seen.
18028 (clear_seen_devices): New function.
18029 (compare_file_names) [__linux__]: New function.
18030 (grub_util_iterate_devices): Clear the list of seen devices on exit
18031 and (just in case) on entry.
18032 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18033 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18034 seen-devices list, superseded by general code in check_device.
18035
bbe34652
CW
180362010-06-28 Colin Watson <cjwatson@ubuntu.com>
18037
18038 * commands/cat.c (options): New variable.
18039 (grub_cmd_cat): Parse options. If the --dos option is given, print
18040 DOS-style "\r\n" line endings as simple newlines (Debian bug
18041 #586358).
18042 (GRUB_MOD_INIT): Use extcmd.
18043 (GRUB_MOD_FINI): Likewise.
18044 * docs/grub.texi (cat): Document --dos.
18045
412e09f3
VS
180462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 XEN with Linux grub-mkconfig support.
18049
18050 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18051 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18052 GRUB_CMDLINE_XEN_DEFAULT.
18053 * util/grub.d/20_linux_xen.in: New file.
18054
53f3ef38 180552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18056
18057 Initialise VGA video on qemu ourselves.
18058
18059 * boot/i386/qemu/boot.S: Don't call 0xc000.
18060 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18061 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18062 (kernel_img_HEADERS): Add pci.h.
18063 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18064 * configure.ac: Force unifont on qemu and yeeloong.
18065 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18066 (grub_vga_palette_write): Use correct register.
18067 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18068 Call grub_qemu_init_cirrus.
18069 * kern/i386/qemu/init.c: New file.
18070 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18071
18072 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18073
c75be4fb
PR
180742010-06-26 Pavel Roskin <proski@gnu.org>
18075
18076 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18077 13.
18078
d8034603
CW
180792010-06-26 Colin Watson <cjwatson@ubuntu.com>
18080
18081 * docs/grub.texi (Simple configuration): Explain that
18082 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18083 set to `true' to disable their respective recovery entries, not
18084 merely set.
18085
3fa06487
CW
180862010-06-26 Colin Watson <cjwatson@ubuntu.com>
18087
18088 Make the `source' command slightly faster.
18089
18090 * normal/main.c (grub_normal_execute): Don't re-read list files when
18091 nested.
18092
e9b29642
CW
180932010-06-23 Colin Watson <cjwatson@ubuntu.com>
18094
18095 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18096 field position and mask size to red fields from mode_info, not
18097 green.
18098 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18099 Remove redundant tag->common.framebuffer_type assignment.
18100 Reported by: Seth Goldberg.
18101
e726542f
CW
181022010-06-23 Colin Watson <cjwatson@ubuntu.com>
18103
18104 Sync up other versions of the Linux loader with Robert Millan's
18105 change of 2010-01-09, "Make loader output a bit more user-friendly".
18106
18107 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18108 grub_dprintf().
18109 (grub_cmd_linux): Likewise.
18110 (grub_cmd_initrd): Likewise.
18111 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18112 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18113
d6e98a17
CW
181142010-06-21 Colin Watson <cjwatson@ubuntu.com>
18115
18116 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18117 larger than MEMORY_MAP_SIZE.
18118
14d3f08e
BC
181192010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18120
18121 Fix parallel build.
18122
18123 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18124 dependency.
18125 * script/parser.y: #include grub_script.tab.h header.
18126
4f9613a3
VS
181272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 Support >3GiB and <16MiB RAM in i386-qemu.
18130
18131 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18132 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18133 (grub_lower_mem): Removed.
18134 (grub_upper_mem): Likewise.
18135 (mem_size): Made static.
18136 (above_4g): New variable.
18137 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18138 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18139 support.
18140
05e51879
VS
181412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 Cirrus 5446 and Bochs video cards support.
18144
18145 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18146 video_bochs.mod
18147 (video_cirrus_mod_SOURCES): New variable.
18148 (video_cirrus_mod_CFLAGS): Likewise.
18149 (video_cirrus_mod_LDFLAGS): Likewise.
18150 (video_bochs_mod_SOURCES): Likewise.
18151 (video_bochs_mod_CFLAGS): Likewise.
18152 (video_bochs_mod_LDFLAGS): Likewise.
18153 * include/grub/vga.h: New file.
18154 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18155 (grub_video_fb_set_page_t): New type.
18156 (grub_video_fb_setup): New prototype.
18157 (grub_video_fb_swap_buffers): Likewise.
18158 (grub_video_fb_get_info_and_fini): Likewise.
18159 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18160 (CRTC_DATA_PORT): Likewise.
18161 (CRTC_CURSOR): Likewise.
18162 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18163 (CRTC_CURSOR_ADDR_LOW): Likewise.
18164 (CRTC_CURSOR_DISABLE): Likewise.
18165 (update_cursor): Use grub_vga_cr_write.
18166 (grub_vga_text_setcursor): Likewise.
18167 * video/bochs.c: New file.
18168 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18169 (palette): Likewise.
18170 (palette_size): Likewise.
18171 (framebuffer): New variable.
18172 (grub_video_fb_init): Use 'framebuffer'.
18173 (grub_video_fb_fini): Likewise.
18174 (grub_video_fb_get_info): Likewise.
18175 (grub_video_fb_get_palette): Likewise.
18176 (grub_video_fb_set_palette): Likewise.
18177 (grub_video_fb_set_viewport): Likewise.
18178 (grub_video_fb_get_viewport): Likewise.
18179 (grub_video_fb_map_color): Likewise.
18180 (grub_video_fb_map_rgb): Likewise.
18181 (grub_video_fb_map_rgba): Likewise.
18182 (grub_video_fb_unmap_color): Likewise.
18183 (grub_video_fb_unmap_color_int): Likewise.
18184 (grub_video_fb_fill_rect): Likewise.
18185 (grub_video_fb_blit_bitmap): Likewise.
18186 (grub_video_fb_blit_render_target): Likewise.
18187 (grub_video_fb_scroll): Likewise.
18188 (grub_video_fb_create_render_target): Likewise.
18189 (grub_video_fb_doublebuf_blit_init): Likewise.
18190 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18191 (doublebuf_pageflipping_update_screen): New function.
18192 (doublebuf_pageflipping_init): Likewise.
18193 (grub_video_fb_setup): Likewise.
18194 (grub_video_fb_swap_buffers): Likewise.
18195 (grub_video_fb_get_info_and_fini): Likewise.
18196 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18197 All users updated.
18198 (doublebuf_pageflipping_commit): Restructured into ...
18199 (doublebuf_pageflipping_set_page): ... this.
18200 (doublebuf_pageflipping_update_screen): Removed.
18201 (doublebuf_pageflipping_init): Likewise.
18202 (double_buffering_init): Likewise.
18203 (grub_video_vbe_setup): Use grub_video_fb_setup.
18204 (grub_video_vbe_swap_buffers): Removed.
18205 (grub_video_vbe_set_active_render_target): Likewise.
18206 (grub_video_vbe_get_active_render_target): Likewise.
18207 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18208 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18209 grub_video_fb_set_active_render_target and
18210 grub_video_fb_get_active_render_target.
18211 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18212 (SEQUENCER_DATA_PORT): Likewise.
18213 (MAP_MASK_REGISTER): Likewise.
18214 (CRTC_ADDR_PORT): Likewise.
18215 (CRTC_DATA_PORT): Likewise.
18216 (START_ADDR_HIGH_REGISTER): Likewise.
18217 (START_ADDR_LOW_REGISTER): Likewise.
18218 (GRAPHICS_ADDR_PORT): Likewise.
18219 (GRAPHICS_DATA_PORT): Likewise.
18220 (READ_MAP_REGISTER): Likewise.
18221 (INPUT_STATUS1_REGISTER): Likewise.
18222 (INPUT_STATUS1_VERTR_BIT): Likewise.
18223 (get_map_mask): Use grub_vga_sr_read.
18224 (set_map_mask): Use grub_vga_sr_write.
18225 (set_read_map): Use grub_vga_gr_write.
18226 (set_start_address): Use grub_vga_cr_write.
18227 * video/sm712.c (framebuffer): Remove leftover fields.
18228
4321c64a
CW
182292010-06-20 Colin Watson <cjwatson@ubuntu.com>
18230
18231 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18232 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18233 instead. Replace the gfxterm backend check with a check that
18234 ${GRUB_PREFIX}/video.lst is non-empty.
18235 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18236 again.
18237 (load_video): New generated function. Call it before loading
18238 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18239 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18240 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18241 * docs/grub.texi (Simple configuration): Document
18242 GRUB_VIDEO_BACKEND.
18243
182442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Use video functions in linux and xnu loaders.
18247
18248 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18249 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18250 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18251 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18252 loader/i386/pc/linux.c.
18253 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18254 (find_line_len): Removed.
18255 (find_framebuf): Likewise.
18256 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18257 * loader/i386/efi/xnu.c: Removed.
18258 * loader/i386/pc/xnu.c: Moved from here...
18259 * loader/i386/xnu.c: ...here.
18260
18261 Enable priorities in video drivers.
18262
18263 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18264 (grub_video_adapter): New field prio.
18265 (grub_video_register): Respect prio when inserting.
18266 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18267 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18268 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18269 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18270 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18271 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18272 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18273
18274 Fix SDL driver ID.
18275
18276 * include/grub/video.h (grub_video_driver_id_t): New value
18277 GRUB_VIDEO_DRIVER_SDL.
18278 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18279
7d24e434
CW
182802010-06-17 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18283 argument to printf.
18284 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18285
c88a83f6
CW
182862010-06-17 Colin Watson <cjwatson@ubuntu.com>
18287
18288 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18289 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18290
094dfb69
CW
182912010-06-17 Colin Watson <cjwatson@ubuntu.com>
18292
18293 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18294 directly, and recommend grub-install instead.
18295 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18296
2164da6b
CW
182972010-06-17 Colin Watson <cjwatson@ubuntu.com>
18298
18299 Fix i386-pc prefix handling with nested partitions (Debian bug
18300 #585068). Note that the case where the core image is booted using
18301 multiboot and relocated from its original location still requires
18302 more work.
18303
18304 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18305 with "(,", fill the boot drive in between those two characters, but
18306 expect that a full partition specification including partition map
18307 names will follow.
18308 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18309 specified, write a prefix without the drive name but including a
18310 full partition specification.
18311
044e2e60
CW
183122010-06-16 Colin Watson <cjwatson@ubuntu.com>
18313
18314 * util/grub-mkconfig.in: Ignore non-option arguments, for
18315 compatibility with older versions (before 2010-06-12) which did the
18316 same. In particular, this makes it easier to ship an update-grub
18317 wrapper which is compatible with that used with GRUB Legacy (Debian
18318 bug #586056).
18319
5591324f
GS
183202010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18321
18322 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18323 for manual page generation.
18324
662e24d5
GS
183252010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18326
18327 * po/POTFILES: Remove leftover commands/handler.c.
18328
8d70754e
CW
183292010-06-14 Colin Watson <cjwatson@ubuntu.com>
18330
18331 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18332 left this script non-functional.
18333
41160e2e
CW
183342010-06-14 Colin Watson <cjwatson@ubuntu.com>
18335
18336 * docs/man/grub-emu.h2m: New file.
18337
b5309cc1
CW
183382010-06-13 Colin Watson <cjwatson@ubuntu.com>
18339
18340 * docs/grub.texi (Commands): Document reduced command set in rescue
18341 mode.
18342 (cpuid): New section.
18343
fcb2d090
GS
183442010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18345
18346 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18347 new partition naming style.
18348 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18349
96e5c556
BC
183502010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18351
18352 Add "-o grub.iso" like cmdline options support.
18353
18354 * util/grub-install.in: Improve cmdline option parsing.
18355 * util/grub-mkconfig.in: Likewise.
18356 * util/grub-mkrescue.in: Likewise.
18357 * util/grub-reboot.in: Likewise.
18358 * util/grub-set-default.in: Likewise.
18359 * util/i386/efi/grub-install.in: Likewise.
18360 * util/ieee1275/grub-install.in: Likewise.
18361 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18362
c16be99b
CW
183632010-06-12 Colin Watson <cjwatson@ubuntu.com>
18364
18365 * .bzrignore: Ignore 41_custom.
18366
ce08a9fb
TS
183672010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18368
18369 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18370
7beac90c
CW
183712010-06-12 Colin Watson <cjwatson@ubuntu.com>
18372
18373 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18374 prototype declarations.
18375
18376 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18377 generating fs, partmap, and video lists.
18378 * include/grub/fs.h (grub_fs_register): Omit prototype if
18379 GRUB_LST_GENERATOR is defined.
18380 * include/grub/partition.h (grub_partition_map_register): Likewise.
18381 * include/grub/video.h (grub_video_register): Likewise.
18382
1c8f0f8d
JM
183832010-06-12 Javier Martín <lordhabbit@gmail.com>
18384
18385 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18386
a6085973
TS
183872010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18388
18389 * util/grub-mkrescue.in: Support --xorriso argument.
18390
25c56d29
VS
183912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18394 Suggested by: Thomas Schmitt.
18395
e03e4b24
VS
183962010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18399 Suggested by: Thomas Schmitt.
18400
57711df6
VS
184012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 custom.cfg support.
18404
18405 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18406 * util/grub.d/41_custom.in: New file.
18407
ee62c427
CW
184082010-06-12 Colin Watson <cjwatson@ubuntu.com>
18409
18410 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18411 been merged back into normal.
18412
283af07a
CW
184132010-06-11 Colin Watson <cjwatson@ubuntu.com>
18414
18415 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18416 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18417
56a0d956
CW
184182010-06-11 Colin Watson <cjwatson@ubuntu.com>
18419
18420 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18421 when generating manual pages.
18422 * docs/man/grub-bin2h.h2m: New file.
18423 * docs/man/grub-editenv.h2m: New file.
18424 * docs/man/grub-fstest.h2m: New file.
18425 * docs/man/grub-install.h2m: New file.
18426 * docs/man/grub-macho2img.h2m: New file.
18427 * docs/man/grub-mkconfig.h2m: New file.
18428 * docs/man/grub-mkdevicemap.h2m: New file.
18429 * docs/man/grub-mkfont.h2m: New file.
18430 * docs/man/grub-mkimage.h2m: New file.
18431 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18432 * docs/man/grub-mkrelpath.h2m: New file.
18433 * docs/man/grub-mkrescue.h2m: New file.
18434 * docs/man/grub-ofpathname.h2m: New file.
18435 * docs/man/grub-pe2elf.h2m: New file.
18436 * docs/man/grub-probe.h2m: New file.
18437 * docs/man/grub-reboot.h2m: New file.
18438 * docs/man/grub-script-check.h2m: New file.
18439 * docs/man/grub-set-default.h2m: New file.
18440 * docs/man/grub-setup.h2m: New file.
18441
3a37e322
VS
184422010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18443
18444 Use FOR_* macros instead of *_iterate whenever possible.
18445
18446 * commands/handler.c: Removed.
18447 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18448 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18449 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18450 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18451 (grub_probe_SOURCES): Remove kern/parser.c.
18452 (util/grub-script-check.c_DEPENDENCIES): Removed.
18453 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18454 and grub_script_check_init.c.
18455 (grub_script_check_init.lst): Removed.
18456 (grub_script_check_init.h): Likewise.
18457 (grub_script_check_init.c): Likewise.
18458 (pkglib_MODULES): Remove handler.mod and sh.mod.
18459 (handler_mod_SOURCES): Removed.
18460 (handler_mod_CFLAGS): Likewise.
18461 (handler_mod_LDFLAGS): Likewise.
18462 (normal_mod_SOURCES): Remove normal/handler.c.
18463 Add script/main.c, script/script.c, script/execute.c,
18464 script/function.c, script/lexer.c, grub_script.tab.c
18465 and grub_script.yy.c.
18466 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18467 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18468 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18469 (grub_setup_SOURCES): Remove kern/parser.c.
18470 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18471 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18472 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18473 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18474 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18475 (grub_setup_SOURCES): Remove kern/parser.c.
18476 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18477 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18478 * include/grub/command.h (grub_command_iterate): Removed.
18479 (FOR_COMMANDS): New macro.
18480 * include/grub/dl.h (grub_dl): New member next.
18481 (grub_dl_iterate): Removed.
18482 (grub_dl_head): New variable declaration.
18483 (FOR_DL_MODULES): New macro.
18484 * include/grub/fs.h: Include list.h.
18485 (grub_fs): Make next first element.
18486 (grub_fs_list): New variable declaration.
18487 (grub_fs_register): Make inline.
18488 (grub_fs_unregister): Likewise.
18489 (grub_fs_iterate): Removed.
18490 (FOR_FILESYSTEMS): New macro.
18491 * include/grub/handler.h: Removed.
18492 * include/grub/list.h (grub_list_hook_t): Removed.
18493 (grub_list_test_t): Likewise.
18494 (grub_list_pop): Likewise.
18495 (grub_list_iterate): Likewise.
18496 (grub_list_insert): Likewise.
18497 (FOR_LIST_ELEMENTS): New macro.
18498 * include/grub/parser.h (grub_parser_class): Removed.
18499 (grub_parser_register): Likewise.
18500 (grub_parser_unregister): Likewise.
18501 (grub_parser_get_current): Likewise.
18502 (grub_parser_set_current): Likewise.
18503 (grub_register_rescue_parser): Likewise.
18504 (grub_rescue_parse_line): New function.
18505 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18506 * include/grub/script_sh.h (grub_script_function_list): New variable
18507 declaration.
18508 (FOR_SCRIPT_FUNCTIONS): New macro.
18509 (grub_script_function_iterate): Removed.
18510 (grub_normal_parse_line): New prototype.
18511 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18512 (FOR_DISABLED_TERM_INPUTS): Likewise.
18513 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18514 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18515 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18516 element.
18517 (grub_video_register): Inline.
18518 (grub_video_unregister): Likewise.
18519 (grub_video_adapter_list): New variable declaration.
18520 (grub_video_iterate): Removed.
18521 (FOR_VIDEO_ADAPTERS): New macro.
18522 * kern/dl.c (grub_dl_list): Removed. All users updated.
18523 (grub_dl_iterate): Removed.
18524 * kern/fs.c (grub_fs_list): Make global.
18525 (grub_fs_register): Removed.
18526 (grub_fs_unregister): Likewise.
18527 (grub_fs_iterate): Likewise.
18528 * kern/handler.c: Removed.
18529 * kern/list.c (grub_list_pop): Removed.
18530 (grub_list_iterate): Likewise.
18531 (grub_list_insert): Likewise.
18532 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18533 (grub_prio_list_insert): Don't use grub_list_insert.
18534 * kern/main.c (grub_register_rescue_parser): Don't call
18535 grub_register_rescue_parser.
18536 * kern/parser.c (grub_parser_class): Removed.
18537 (grub_parser_execute): Use grub_rescue_parse_line.
18538 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18539 (grub_rescue_parser): Removed.
18540 (grub_register_rescue_parser): Likewise.
18541 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18542 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18543 (grub_auth_check_authentication): Likewise.
18544 * normal/completion.c (iterate_command): Removed.
18545 (grub_normal_do_completion): Use FOR_COMMANDS.
18546 * normal/handler.c: Removed.
18547 * normal/main.c (read_config_file): Remove parser changing.
18548 (grub_normal_execute): Don't call read_handler_list.
18549 (grub_normal_read_line_real): Statically allocate prompt.
18550 (grub_cmdline_run): Use grub_normal_parse_line.
18551 (GRUB_MOD_FINI): Don't call free_handler_list.
18552 * normal/menu_entry.c (run): Likewise.
18553 * script/function.c (grub_script_function_list): Make global.
18554 (grub_script_function_iterate): Removed.
18555 * script/main.c (grub_normal_parse_line): Make global.
18556 (grub_sh_parser): Removed.
18557 (GRUB_MOD_INIT): Likewise.
18558 (GRUB_MOD_FINI): Likewise.
18559 * tests/lib/functional_test.c (grub_functional_test): Use
18560 FOR_LIST_ELEMENTS.
18561 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18562 (grub_test_run): Use FOR_LIST_ELEMENTS.
18563 * tests/lib/unit_test.c (main): Likewise.
18564 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18565 grub_list_pop.
18566 * util/grub-fstest.c (grub_term_input_class): Removed.
18567 (grub_term_output_class): Likewise.
18568 * util/grub-probe.c: Likewise.
18569 * util/i386/pc/grub-setup.c: Likewise.
18570 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18571 * util/grub-script-check.c (main): Don't call grub_init_all and
18572 grub_fini_all.
18573 * video/video.c (grub_video_adapter_list): Make global.
18574 (grub_video_register): Removed.
18575 (grub_video_unregister): Likewise.
18576 (grub_video_iterate): Likewise.
18577
6289c3a7
VS
185782010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18581 reported by Henrique Ferreiro.
18582
91460247
RM
185832010-06-09 Robert Millan <rmh@gnu.org>
18584
18585 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18586 ones, when both are available.
18587
0ea7c4f9
GS
185882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18589
18590 Make --version uniform and avoid hard-coded program name.
18591
18592 * util/grub-mkimage.c (main): Use `program_name' instead of
18593 hard-coded string.
18594 * util/i386/pc/grub-setup.c (main): Likewise.
18595 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18596 * util/grub-install.in: Save the basename of $0 in $self, and use the
18597 latter in informational messages. Use the same format for --version
18598 as the binary programs.
18599 * util/grub-mkconfig.in: Likewise.
18600 * util/grub-mkrescue.in: Likewise.
18601 * util/grub-reboot.in: Likewise.
18602 * util/grub-set-default.in: Likewise.
18603 * util/i386/efi/grub-install.in: Likewise.
18604 * util/ieee1275/grub-install.in: Likewise.
18605 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18606
e8a6f3b6
GS
186072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18608
18609 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18610 embedding area. Use <= instead of == when checking for non-emptiness.
18611
f4d095d7
GS
186122010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18613
18614 * configure.ac: Add `.' to the directories searched for unifont.
18615
50e532ca
CW
186162010-06-08 Colin Watson <cjwatson@ubuntu.com>
18617
18618 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18619 grub_script.yy.h.
18620
d39f3dec
CW
186212010-06-08 Colin Watson <cjwatson@ubuntu.com>
18622
18623 * docs/grub.texi (History): Expand to cover GRUB 2.
18624 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18625 commands, not `terminal'.
18626 (serial): Likewise.
18627 (terminal_input): New section.
18628 (terminal_output): New section.
18629 (uppermem): New section (stub).
18630 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18631
6ef0ddb4
CW
186322010-06-08 Colin Watson <cjwatson@ubuntu.com>
18633
18634 * docs/grub.texi (Security): Menu entries are unrestricted by
18635 default, not restricted to superusers as I had previously thought.
18636 Reword to account for this.
18637
e0f4c438
CW
186382010-06-07 Colin Watson <cjwatson@ubuntu.com>
18639
18640 * kern/emu/misc.c (device_mapper_null_log): New function.
18641 (grub_device_mapper_supported): New function.
18642 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18643 prototype.
18644 * kern/emu/hostdisk.c (find_partition_start): Check whether
18645 device-mapper is supported before trying to use it.
18646 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18647
da908200
CW
186482010-06-07 Colin Watson <cjwatson@ubuntu.com>
18649
18650 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18651 (File name syntax): Likewise.
18652 (help): --all is no longer supported in GRUB 2. Be more precise
18653 about pattern matching.
18654
fb55c3ac
CW
186552010-06-07 Colin Watson <cjwatson@ubuntu.com>
18656
18657 * normal/completion.c (grub_normal_do_completion): When completing
18658 arguments to "set" and the current word contains an equals sign,
18659 skip to after the equals sign before starting completion.
18660
258c2573
CW
186612010-06-07 Colin Watson <cjwatson@ubuntu.com>
18662
18663 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18664
ee75515e
CW
186652010-06-07 Colin Watson <cjwatson@ubuntu.com>
18666
18667 * docs/grub.texi (Network): New section.
18668 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18669 `(nd)' as in GRUB Legacy.
18670 (pxe_unload): New section.
18671
a6a700aa
CW
186722010-06-07 Colin Watson <cjwatson@ubuntu.com>
18673
18674 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18675 in the rescue shell, so recommend using `set' instead. Thanks,
18676 Jordan Uggla.
18677
4003dd38
CW
186782010-06-07 Colin Watson <cjwatson@ubuntu.com>
18679
18680 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18681 (password): New section.
18682 (password_pbkdf2): New section.
18683 (search): New section.
18684 (Security): New section.
18685 (Troubleshooting): New section, currently very incomplete.
18686 (Invoking grub-mkpasswd-pbkdf2): New section.
18687 (Internals): New section, currently very incomplete.
18688
e1cbcc40
CW
186892010-06-07 Colin Watson <cjwatson@ubuntu.com>
18690
18691 * util/grub.d/00_header.in: Add some more quoting (of
18692 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18693 work again.
18694 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18695
db8fa1ad
CW
186962010-06-07 Colin Watson <cjwatson@ubuntu.com>
18697
18698 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18699 to `count', fixing variable shadowing that broke the -c option.
18700
187012010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18702
18703 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18704 in case they contain spaces.
18705
f28a9212
CW
187062010-06-04 Colin Watson <cjwatson@ubuntu.com>
18707
18708 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18709 "part_" to partmap module names, in line with grub-install.
18710 Reported by: Jindřich Makovička (Debian bug #584426).
18711
9cdfe32f
CW
187122010-06-04 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * util/grub-mkimage.c: Make target-related error messages slightly
18715 more helpful; -O talks about "format". Explicitly point to the use
18716 of -O if no target is specified.
18717 Reported by: Didier Raboud (Debian bug #584415).
18718
795b593a
CW
187192010-06-03 Colin Watson <cjwatson@ubuntu.com>
18720
18721 * INSTALL: Document several build requirements for optional features
18722 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18723
9d9b5833
GS
187242010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18725
18726 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18727 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18728 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18729
0819fec8
CW
187302010-06-02 Colin Watson <cjwatson@ubuntu.com>
18731
18732 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18733 Thanks to Jordan Uggla for spotting this.
18734
49396b4f
VS
187352010-06-02 Aleš Nesrsta <starous@volny.cz>
18736
18737 Finally make USB usable.
18738
18739 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18740 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18741 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18742 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18743 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18744 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18745 (GRUB_OHCI_FSMPS): Likewise.
18746 (GRUB_OHCI_PERIODIC_START): Likewise.
18747 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18748 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18749 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18750 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18751 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18752 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18753 (grub_ohci_transaction): Likewise.
18754 (grub_ohci_transfer): Improve condition detection algorithms.
18755 Handle toggle property. Program the transactions correctly.
18756 Improve error handling. Various important fixups.
18757 (grub_ohci_portstatus): Put register writes in right order.
18758 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18759 (grub_uhci_transfer): Don't show "failed" message on success.
18760 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18761 array.
18762 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18763 determine its size.
18764 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18765 before initialization is completed. Use IN direction for empty
18766 transfers. Use last_trans and compute toggle.
18767 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18768 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18769 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18770 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18771 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18772 (grub_usb_device): Increase toggle to 256.
18773 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18774 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18775 GRUB_USBMS_SUBCLASS_SFF8070.
18776 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18777 (grub_scsi_inquiry): New member page and alloc_length.
18778 (grub_scsi_request_sense): New structure.
18779 (grub_scsi_request_sense_data): Likewise.
18780 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18781 control.
18782 * disk/scsi.c (grub_scsi_request_sense): New function.
18783 (grub_scsi_test_unit_ready): Likewise.
18784 (grub_scsi_inquiry): Fill new fields.
18785 (grub_scsi_read_capacity): Likewise.
18786 (grub_scsi_read10): Add request sense at the end.
18787 (grub_scsi_read12): Likewise.
18788 (grub_scsi_write10): Likewise.
18789 (grub_scsi_write12): Likewise.
18790 (grub_scsi_open): Add Test Unit Ready.
18791 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18792 Support additional subclasses. Con't clear halt yet. Activate the
18793 proper config. Calculate LUNs correctly.
18794 (grub_usbms_transfer): Various important fixups.
18795
187962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18799 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18800 (grub_ohci_fini_hw): New function.
18801 (grub_ohci_restore_hw): Likewise.
18802 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18803 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18804 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18805
188062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 Dedicated DMA allocations.
18809
18810 * bus/pci.c (grub_memalign_dma32): New function
18811 (grub_dma_free): Likewise.
18812 (grub_dma_get_virt): Likewise.
18813 (grub_dma_get_phys): Likewise.
18814 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18815 (grub_ohci_pci_iter): Use dma32_alloc.
18816 (grub_ohci_transfer): Likewise.
18817 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18818 (grub_usb_bulk_readwrite): Likewise.
18819 * include/grub/pci.h: Add declarations.
18820
188212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 CS5536 support.
18824
18825 * bus/cs5536.c: New file.
18826 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18827 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18828 (cs5536_mod_SOURCES): New variable.
18829 (cs5536_mod_CFLAGS): Likewise.
18830 (cs5536_mod_LDFLAGS): Likewise.
18831 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18832 machine/pci.h.
18833 (kernel_img_SOURCES): Add bus/cs5536.c.
18834 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18835 usb_keyboard.mod.
18836 (usb_mod_SOURCES): New variable.
18837 (usb_mod_CFLAGS): New variable.
18838 (usb_mod_LDFLAGS): New variable.
18839 (usbtest_mod_SOURCES): New variable.
18840 (usbtest_mod_CFLAGS): New variable.
18841 (usbtest_mod_LDFLAGS): New variable.
18842 (ohci_mod_SOURCES): New variable.
18843 (ohci_mod_CFLAGS): New variable.
18844 (ohci_mod_LDFLAGS): New variable.
18845 (usbms_mod_SOURCES): New variable.
18846 (usbms_mod_CFLAGS): New variable.
18847 (usbms_mod_LDFLAGS): New variable.
18848 (usb_keyboard_mod_SOURCES): New variable.
18849 (usb_keyboard_mod_CFLAGS): New variable.
18850 (usb_keyboard_mod_LDFLAGS): New variable.
18851 * include/grub/smbus.h: New file.
18852 * include/grub/cs5536.h: New file.
18853
0b35b2a9
CW
188542010-06-02 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * util/grub.d/00_header.in: Add safety check to make sure that
18857 ${locale_dir} exists before trying to probe it.
18858
ca0afd5b
CW
188592010-06-02 Colin Watson <cjwatson@ubuntu.com>
18860
18861 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18862 per the GNU Coding Standards; this is now too obscure to be worth
18863 documenting.
18864 (QNX): Likewise.
18865 (chainloader): Remove cross-reference to `SCO UnixWare'.
18866
1c41aa78
CW
188672010-06-02 Colin Watson <cjwatson@ubuntu.com>
18868
18869 * docs/grub.texi (Chain-loading): New section.
18870 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18871 adjusted for GRUB 2.
18872 (SCO UnixWare): Likewise.
18873 (QNX): Likewise.
18874 (chainloader): Add reference to `Block list syntax'.
18875 (drivemap): New section.
18876 (parttool): New section.
18877
bb8ea0f5
CW
188782010-06-02 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18881 the grub shell'.
18882 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18883 (Installing GRUB using grub-install): Remove reference to the grub
18884 shell; mention `grub-mkimage' and `grub-setup' instead.
18885 (Invoking grub-install): Likewise.
18886 (Interface): Add reference to `Menu entry editor'.
18887 (serial): Remove `--device' option.
18888
288dd6ed
CW
188892010-06-02 Colin Watson <cjwatson@ubuntu.com>
18890
18891 * docs/grub.texi (Configuration): New section, documenting
18892 configuration file generation using grub-mkconfig. I've left a slot
18893 for documenting the full shell scripting format but have not yet
18894 started on writing that up.
18895 (Invoking grub-mkconfig): New section.
18896
34c9f0e9
CW
188972010-06-02 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18900 (GNU GRUB manual): Likewise.
18901 (General commands): Update description of `terminfo' for GRUB 2.
18902
9121567e
CW
189032010-06-02 Colin Watson <cjwatson@ubuntu.com>
18904
18905 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18906 (GRUB_MOD_INIT): Fix capitalisation.
18907 * docs/grub.texi (Command-line and menu entry commands): Document
18908 gettext and gptsync commands.
18909
ab631611
CW
189102010-06-02 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18913 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18914
bde4a9ac
CW
189152010-06-01 Colin Watson <cjwatson@ubuntu.com>
18916
18917 Add btrfs probing support, currently only in the single-device case.
18918
18919 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18920 function.
18921 (grub_guess_root_device): Call find_root_device_from_mountinfo
18922 before looking in /dev.
18923
b1d17e10
VS
189242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18927 GRUB_DISK_SIZE_UNKNOWN.
18928 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18929
dfbfe004
JS
189302010-05-31 Jiro SEKIBA <jir@unicus.jp>
18931
18932 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18933 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18934 corrupted or not synced properly.
18935
c2ffc8e9
VS
189362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18939 Reported by: Seth Goldberg.
18940
56293166
VS
189412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18944 addition of dest.
18945 Reported by: Seth Goldberg.
18946
7620e7de
VS
189472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18950 Reported by: Seth Goldberg.
18951
c837af3f
VS
189522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18955 64-bit address as signed on MIPS.
18956
c7c75cf4
CW
189572010-05-28 Colin Watson <cjwatson@ubuntu.com>
18958
18959 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18960 to the empty string.
18961
fa4b8490
BC
189622010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18963
18964 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18965
18966 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18967 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18968 * kern/misc.c (__enable_execute_stack): Disable on
18969 GRUB_MACHINE_EMU.
18970
a33075b9
CW
189712010-05-28 Colin Watson <cjwatson@ubuntu.com>
18972
18973 Make grub-probe work with symbolic links under /dev/mapper as well
18974 as with real block devices. The Linux world seems to be (at best)
18975 in transition here, and GRUB shouldn't get caught in the middle.
18976
18977 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18978 /dev/mapper.
18979
d8708134
CW
189802010-05-27 Colin Watson <cjwatson@ubuntu.com>
18981
18982 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18983 input files (in which case exit zero).
18984
db2102a0
CW
189852010-05-27 Colin Watson <cjwatson@ubuntu.com>
18986
18987 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18988 return NULL for various reasons even if it has a maximum-length
18989 buffer: for example, there might be a symlink loop, or the path
18990 might exceed PATH_MAX. If this happens, return NULL.
18991
5fdba519
RM
189922010-05-27 Robert Millan <rmh@gnu.org>
18993
18994 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18995 partmap module to handle cross-partmap setups.
18996 Reported by Orestes Mas. Gràcies!
18997
d1d368e4
CW
189982010-05-27 Colin Watson <cjwatson@ubuntu.com>
18999
19000 * util/grub-mkrescue.in: Initialise override_dir rather than
19001 assuming that it's unset or empty in the environment.
19002
95ac3c73
GS
190032010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19004
19005 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19006 variable index into p_index to suppress a warning with -Wshadow.
19007
7d8c0213
BC
190082010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19009
19010 * INSTALL: Added flex >= 2.5.35 requirement.
19011
db4d5813
VS
190122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19013
19014 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19015
f24f4300
VS
190162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 cmostest support.
19019
19020 * commands/i386/cmostest.c: New file.
19021 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19022 (cmostest_mod_SOURCES): New variable.
19023 (cmostest_mod_CFLAGS): Likewise.
19024 (cmostest_mod_LDFLAGS): Likewise.
19025 * conf/i386-pc.rmk: Likewise.
19026 * docs/grub.texi (Vendor power-on keys): New section.
19027 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19028 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19029 and GRUB_BUTTON_CMOS_ADDRESS.
19030 * util/grub.d/00_header.in: Handle powering-on by separate button.
19031
ad603f61
VS
190322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19035 Removed drawing_scrollbar argument. All users updated
19036 Fixes #29792.
19037 Reported by Jo Shields
19038
3ecb080a
VS
190392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19040
19041 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19042 buffer since gfxterm handles double repaint.
19043
5f2316c1
VS
190442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19047 * term/gfxterm.c (real_scroll): Likewise.
19048
9a25f885
VS
190492010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19052 before calling BIOS.
19053
39fbb79a
VS
190542010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * include/grub/i18n.h: Always enable grub_gettext.
19057
228cfa97
VS
190582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19061 partition naming style.
19062
21717c8f
CW
190632010-05-21 Colin Watson <cjwatson@ubuntu.com>
19064
19065 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19066 not the first option.
19067
c0f48e65
CW
190682010-05-20 Colin Watson <cjwatson@ubuntu.com>
19069
19070 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19071
96779aec
CW
190722010-05-20 Colin Watson <cjwatson@ubuntu.com>
19073
19074 * util/misc.c: Move inclusion of <limits.h> to ...
19075 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19076
fa9d256e
GS
190772010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19078
19079 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19080 Fix merge error in NetBSD code.
19081 (find_partition_start) [__NetBSD__]: Likewise.
19082
123b7a85
BC
190832010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19084
19085 Fix grub-mkrescue usage unit testing.
19086
19087 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19088
74276c0d
CF
190892010-05-18 Christian Franke <franke@computer.org>
19090
19091 * util/grub.d/10_windows.in: Use path names instead of
19092 drive letters to prevent warning from Cygwin 1.7.
19093 Add drivemap command to menuentry if needed.
19094
c4f7b523
ST
190952010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19096
19097 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19098 gnumach and gnumach.gz.
19099
95b97950
VS
191002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * include/grub/i18n.h (gettext): Inline instead of using #define.
19103 (grub_gettext): Likewise.
19104 (_): Likewise.
19105
01b8d2d7
VS
191062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19109 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19110 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19111 (main): Add a slash after pkglibdirroot.
19112
654e1d1e
VS
191132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * util/grub-install.in: Add missing "in" keyword.
19116
26966aeb
VS
191172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19120 Reported by: Seth Goldberg.
19121
75006747
VS
191222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19125
74cbf5bd
CW
191262010-05-18 Colin Watson <cjwatson@ubuntu.com>
19127
19128 * configure.ac: Check for Linux device-mapper support.
19129
19130 * util/hostdisk.c (device_is_mapped): New function.
19131 (find_partition_start): New function, partly broken out from
19132 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19133 device-mapper support added.
19134 (linux_find_partition): Use find_partition_start.
19135 (convert_system_partition_to_system_disk): Add `st' argument.
19136 Support Linux /dev/mapper/* devices if device-mapper support is
19137 available; only DM-RAID devices are understood at present.
19138 (find_system_device): Add `st' argument. Pass it to
19139 convert_system_partition_to_system_disk.
19140 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19141 find_system_device and convert_system_partition_to_system_disk. Use
19142 find_partition_start.
19143
19144 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19145 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19146 * util/deviceiter.c [__linux__]: Define MINOR.
19147 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19148 * util/mkdevicemap.c (grub_putchar): New function.
19149 (grub_getkey): New function.
19150 (grub_refresh): New function.
19151 (main): Set debug=all if -v -v is used.
19152
355b51e9
CW
191532010-05-18 Colin Watson <cjwatson@ubuntu.com>
19154
19155 Fix build with non-GNU libcs.
19156
19157 * util/misc.c (canonicalize_file_name): Move to ...
19158 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19159 grub_make_system_path_relative_to_its_root.
19160
7fb5c25f
CW
191612010-05-18 Colin Watson <cjwatson@ubuntu.com>
19162
19163 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19164 we handle finding grub-mkimage. Default to finding grub-mkimage in
19165 ${bindir} with program_transform_name applied, and provide a
19166 --grub-mkimage option to override this.
19167
1d3293d6
VS
191682010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 Remove grub-mkisofs.
19171
19172 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19173 (grub_mkisofs_SOURCES): Removed.
19174 (grub_mkisofs_CFLAGS): Removed.
19175 * util/mkisofs/defaults.h: Removed.
19176 * util/mkisofs/eltorito.c: Likewise.
19177 * util/mkisofs/exclude.h: Likewise.
19178 * util/mkisofs/hash.c: Likewise.
19179 * util/mkisofs/include/: Likewise.
19180 * util/mkisofs/include/fctldefs.h: Likewise.
19181 * util/mkisofs/include/mconfig.h: Likewise.
19182 * util/mkisofs/include/prototyp.h: Likewise.
19183 * util/mkisofs/include/statdefs.h: Likewise.
19184 * util/mkisofs/iso9660.h: Likewise.
19185 * util/mkisofs/joliet.c: Likewise.
19186 * util/mkisofs/match.c: Likewise.
19187 * util/mkisofs/match.h: Likewise.
19188 * util/mkisofs/mkisofs.c: Likewise.
19189 * util/mkisofs/mkisofs.h: Likewise.
19190 * util/mkisofs/msdos_partition.h: Likewise.
19191 * util/mkisofs/multi.c: Likewise.
19192 * util/mkisofs/name.c: Likewise.
19193 * util/mkisofs/rock.c: Likewise.
19194 * util/mkisofs/tree.c: Likewise.
19195 * util/mkisofs/write.c: Likewise.
19196
5dde9afe
VS
191972010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 Unify grub-mkimage accross platforms.
19200
19201 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19202 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19203 (grub_mkelfimage_SOURCES): Removed.
19204 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19205 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19206 (bin_UTILITIES): Add grub-mkimage.
19207 (grub_mkimage_SOURCES): New variable.
19208 (kernel_img_HEADERS): Remove machine/kernel.h.
19209 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19210 (pkglib_PROGRAMS): Add kernel.img.
19211 (kernel_img_HEADERS): Add machine/kernel.h.
19212 (kernel_img_FORMAT): Removed.
19213 (bin_UTILITIES): Remove grub-mkimage.
19214 (grub_mkimage_SOURCES): Removed.
19215 (grub_mkimage_CFLAGS): Likewise.
19216 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19217 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19218 (pkglib_PROGRAMS): Add kernel.img.
19219 (bin_UTILITIES): Remove grub-mkimage.
19220 (grub_mkimage_SOURCES): Removed.
19221 (grub_mkimage_CFLAGS): Likewise.
19222 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19223 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19224 (pkglib_PROGRAMS): Add kernel.img.
19225 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19226 (pkglib_PROGRAMS): Add kernel.img.
19227 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19228 (grub_mkimage_SOURCES): Removed.
19229 (grub_mkimage_CFLAGS): Likewise.
19230 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19231 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19232 (pkglib_PROGRAMS): Add kernel.img.
19233 (bin_UTILITIES): Remove grub-mkimage.
19234 (grub_mkimage_SOURCES): Removed.
19235 (grub_mkimage_CFLAGS): Likewise.
19236 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19237 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19238 (grub_mkimage_SOURCES): Removed.
19239 (grub_mkimage_CFLAGS): Likewise.
19240 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19241 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19242 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19243 (grub_pe32_optional_header): ... this.
19244 (grub_pe64_optional_header): ... and this. All users updated.
19245 (GRUB_PE32_PE32_MAGIC): Split into ..
19246 (GRUB_PE32_PE32_MAGIC): .. this.
19247 (GRUB_PE32_PE64_MAGIC): .. and this.
19248 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19249 * include/grub/elf.h (PT_GNU_STACK): New definition.
19250 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19251 * include/grub/i386/efi/kernel.h: Likewise.
19252 * include/grub/i386/kernel.h: Likewise.
19253 * include/grub/i386/pc/kernel.h: Likewise.
19254 * include/grub/i386/qemu/boot.h: Likewise.
19255 * include/grub/mips/kernel.h: Likewise.
19256 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19257 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19258 * include/grub/powerpc/kernel.h: Likewise.
19259 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19260 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19261 * include/grub/sparc64/kernel.h: Likewise.
19262 * include/grub/x86_64/efi/kernel.h: Likewise.
19263 * include/grub/x86_64/kernel.h: Likewise.
19264 * include/grub/offsets.h: New file.
19265 * include/grub/kernel.h (grub_module_info): Split into ...
19266 (grub_module_info32): ... this.
19267 (grub_module_info64): ... and this.
19268 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19269 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19270 (grub_boot_blocklist): Moved from here ...
19271 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19272 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19273 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19274 * include/grub/types.h (grub_target_to_host16): Removed.
19275 (grub_target_to_host32): Likewise.
19276 (grub_target_to_host64): Likewise.
19277 (grub_host_to_target16): Likewise.
19278 (grub_host_to_target32): Likewise.
19279 (grub_host_to_target64): Likewise.
19280 (grub_host_to_target_addr): Likewise.
19281
19282 Support grub-mkrescue for efi, coreboot and qemu.
19283
19284 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19285 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19286 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19287 * util/grub-mkrawimage.c: Moved from here ...
19288 * util/grub-mkimage.c: ... here. All users updated.
19289 (ALIGN_ADDR): Use image_target.
19290 (TARGET_NO_FIELD): New const.
19291 (image_target_desc): New type.
19292 (image_targets): New array.
19293 (grub_target_to_host64): Use image_target.
19294 (grub_target_to_host32): Likewise.
19295 (grub_target_to_host16): Likewise.
19296 (grub_host_to_target64): Likewise.
19297 (grub_host_to_target32): Likewise.
19298 (grub_host_to_target16): Likewise.
19299 (grub_host_to_target_addr): Likewise.
19300 (generate_image): Handle multiimage.
19301 (main): Require -O parameter. All users updated.
19302 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19303 util/efi/grub-mkimage.c
19304 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19305 New option --rom-directory.
19306 Use xorriso.
19307 * util/i386/efi/grub-mkimage.c: Removed.
19308 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19309 (grub_target_to_host32): Likewise.
19310 (grub_target_to_host64): Likewise.
19311 (grub_host_to_target16): Likewise.
19312 (grub_host_to_target32): Likewise.
19313 (grub_host_to_target64): Likewise.
19314 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19315 (grub_target_to_host32): Likewise.
19316 (grub_target_to_host64): Likewise.
19317 (grub_host_to_target16): Likewise.
19318 (grub_host_to_target32): Likewise.
19319 (grub_host_to_target64): Likewise.
19320
f4fc97d0
BC
193212010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19322
19323 Source tree is reorganized for emu build.
19324
19325 * include/grub/util/console.h: Move from here...
19326 * include/grub/emu/console.h: ...to here.
19327 * include/grub/util/getroot.h: Move from here...
19328 * include/grub/emu/getroot.h: ...to here.
19329 * include/grub/util/hostdisk.h: Move from here...
19330 * include/grub/emu/hostdisk.h: ...to here.
19331 * util/console.c: Move from here...
19332 * kern/emu/console.c: ...to here.
19333 * util/getroot.c: Move from here...
19334 * kern/emu/getroot.c: ...to here.
19335 * util/grub-emu.c: Move from here...
19336 * kern/emu/main.c: ...to here.
19337 * util/hostdisk.c: Move from here...
19338 * kern/emu/hostdisk.c: ...to here.
19339 * util/hostfs.c: Move from here...
19340 * kern/emu/hostfs.c: ...to here.
19341 * util/mm.c: Move from here...
19342 * kern/emu/mm.c: ...to here.
19343 * util/pci.c: Move from here...
19344 * bus/emu/pci.c: ...to here.
19345 * util/sdl.c: Move from here...
19346 * video/emu/sdl.c: ...to here.
19347 * util/time.c: Move from here...
19348 * kern/emu/time.c: ...to here.
19349 * util/usb.c: Move from here...
19350 * bus/usb/emu/usb.c: ...to here.
19351
19352 * include/grub/emu/misc.h: New header for grub-emu functions.
19353 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19354
19355 * conf/any-emu.rmk: Rule updates for above renames.
19356 * conf/common.rmk: Likewise.
19357 * conf/i386-pc.rmk: Likewise.
19358 * conf/i386-qemu.rmk: Likewise.
19359 * conf/mips.rmk: Likewise.
19360 * conf/sparc64-ieee1275.rmk: Likewise.
19361 * conf/x86-efi.rmk: Likewise.
19362
19363 * disk/lvm.h: #include updates for above renames.
19364 * util/grub-mkrelpath.c: Likewise.
19365 * util/grub-probe.c: Likewise.
19366 * util/i386/pc/grub-setup.c: Likewise.
19367 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19368 * kern/emu/console.c: Likewise.
19369 * kern/emu/getroot.c: Likewise.
19370 * kern/emu/hostdisk.c: Likewise.
19371 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19372
19373 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19374 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19375 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19376 * util/misc.c: Remove grub-emu functions.
19377
cced9145
VS
193782010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 Fix gfxmenu crash.
19381 Reported by: Thorsten Grützmacher.
19382
19383 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19384 timeout hook.
19385 (circprog_set_property): Register and unregister timeout hook.
19386 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19387 (label_destroy): Free template. and unregister hook.
19388 (label_set_state): New function.
19389 (label_set_property): Handle templates and hooks.
19390 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19391 timeout hook.
19392 (progress_bar_set_property): Register and unregister timeout hook.
19393 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19394 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19395 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19396 (update_timeout_visit): Removed.
19397 (update_timeouts): New function.
19398 (redraw_timeouts): Likewise.
19399 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19400 (grub_gfxmenu_clear_timeout): Likewise.
19401 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19402 (grub_gfxmenu_timeout_notify): Likewise.
19403 (grub_gfxmenu_timeout_notifications): New external variable.
19404 (grub_gfxmenu_timeout_register): New function.
19405 (grub_gfxmenu_timeout_unregister): Likewise.
19406
c6e5caab
VS
194072010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 Transform (broken) vga terminal into (working) vga video driver.
19410
19411 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19412 video/i386/pc/vga.c.
19413 * include/grub/video.h (grub_video_driver_id):
19414 Add GRUB_VIDEO_DRIVER_VGA.
19415 * term/i386/pc/vga.c: Renamed to ...
19416 * video/i386/pc/vga.c: ...this
19417 (DEBUG_VGA): Removed.
19418 (CHAR_WIDTH): Likewise.
19419 (CHAR_HEIGHT): Likewise.
19420 (TEXT_WIDTH): Likewise.
19421 (TEXT_HEIGHT): Likewise.
19422 (DEFAULT_FG_COLOR): Likewise.
19423 (DEFAULT_BG_COLOR): Likewise.
19424 (colored_char): Likewise.
19425 (xpos): Likewise.
19426 (ypos): Likewise.
19427 (cursor_state): Likewise.
19428 (fg_color): Likewise.
19429 (bg_color): Likewise.
19430 (text_buf): Likewise.
19431 (page): Likewise.
19432 (font): Likewise.
19433 (framebuffer): New variable.
19434 (set_read_map): Disabled.
19435 (setup): New variable.
19436 (is_target): Likewise.
19437 (grub_vga_mod_init): Likewise.
19438 (grub_vga_mod_fini): Likewise.
19439 (check_vga_mem): Likewise.
19440 (write_char): Likewise.
19441 (write_cursor): Likewise.
19442 (scroll_up): Likewise.
19443 (grub_vga_putchar): Likewise.
19444 (grub_vga_getcharwidth): Likewise.
19445 (grub_vga_getwh): Likewise.
19446 (grub_vga_getxy): Likewise.
19447 (grub_vga_gotoxy): Likewise.
19448 (grub_vga_cls): Likewise.
19449 (grub_vga_setcolorstate): Likewise.
19450 (grub_vga_setcursor): Likewise.
19451 (grub_video_vga_init): New function.
19452 (grub_video_vga_setup): Likewise.
19453 (grub_video_vga_fini): Likewise.
19454 (update_target): Likewise.
19455 (grub_video_vga_blit_bitmap): Likewise.
19456 (grub_video_vga_blit_render_target): Likewise.
19457 (grub_video_vga_set_active_render_target): Likewise.
19458 (grub_video_vga_get_active_render_target): Likewise.
19459 (grub_video_vga_swap_buffers): Likewise.
19460 (grub_video_vga_set_palette): Likewise.
19461 (grub_video_vga_get_info_and_fini): Likewise.
19462 (grub_vga_term): Removed.
19463 (grub_video_vga_adapter): New variable.
19464 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19465 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19466
2bf61a98
VS
194672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19468
19469 * video/readers/jpeg.c: Indented.
19470
09ddcd11
VS
194712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 Various jpeg cleanups.
19474
19475 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19476 (grub_jpeg_decode_quan_table): Use sizeof.
19477 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19478
e5507505
PH
194792010-05-05 Peter Hurley <No e-mail available> (tiny change)
19480
19481 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19482 tables. Ignore non-last ac bit.
19483 (grub_jpeg_decode_quan_table): Likewise.
19484
7e720a9b
VS
194852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19488 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19489 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19490 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19491 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19492 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19493
a7fc080b
VS
194942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19495
19496 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19497 error.
19498
2bf6012d
VS
194992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19502
265d68cd
VS
195032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19506 condition.
19507
195082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19509
19510 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19511 part.
19512
265d68cd 195132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19514
19515 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19516 pointers.
19517
265d68cd 195182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19519
19520 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19521
d1b61374
CF
195222010-05-01 Christian Franke <franke@computer.org>
19523
19524 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19525 Remove broken Cygwin path conversion.
19526 * util/misc.c: [__CYGWIN__] Add include and define.
19527 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19528 for Cygwin 1.7.
19529 (make_system_path_relative_to_its_root): Simplify loop, replace early
19530 return by break.
19531 [__CYGWIN__] Add conversion to win32 path.
19532 Include "/" case in trailing slash removal.
19533
3558c6e9
VS
195342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19537 Reported by: Seth Goldberg
19538
f5f3ff93
VS
195392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * commands/help.c (grub_cmd_help): Fix a typo.
19542 Reported by: Seth Goldberg
19543
d8b5cd40
VS
195442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19547 name and add N_.
19548 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19549 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19550 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19551 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19552 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19553 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19554 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19555 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19556 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19557 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19558 * normal/context.c (GRUB_MOD_INIT): Likewise.
19559 * normal/main.c (GRUB_MOD_INIT): Likewise.
19560 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19561 * term/serial.c (GRUB_MOD_INIT): Likewise.
19562 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19563
88c14915
VS
195642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19567 extra == 0.
19568
165134bc
VS
195692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 * commands/iorw.c: New file.
19572 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19573 (iorw_mod_SOURCES): New variable.
19574 (iorw_mod_CFLAGS): Likewise.
19575 (iorw_mod_LDFLAGS): Likewise.
19576
c5ac9b32
VS
195772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 Hotkey support
19580
19581 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19582 * normal/main.c (hotkey_aliases): New variable.
19583 (grub_normal_add_menu_entry): Parse "--hotkey".
19584 * normal/menu_text.c (run_menu): Handle hotkeys.
19585
ce60689c
VS
195862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * kern/i386/coreboot/init.c (grub_machine_init): Call
19589 grub_machine_mmap_init on qemu.
19590
0359d006
VS
195912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * boot/i386/qemu/boot.S: Add a missing .code16.
19594
7819a456
VS
195952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 Use LBIO on coreboot.
19598
19599 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19600 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19601 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19602 New declaration.
19603 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19604 grub_machine_mmap_init on coreboot.
19605 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19606 GRUB_LINUXBIOS_MEMBER_LINK.
19607 (grub_machine_mmap_iterate): Fix declaration.
19608 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19609
7210dca9
VS
196102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 Split coreboot and multiboot ports.
19613
19614 * conf/i386-multiboot.rmk: New file.
19615 * configure.ac: Add multiboot port.
19616 * include/grub/i386/multiboot/boot.h: New file.
19617 * include/grub/i386/multiboot/console.h: Likewise.
19618 * include/grub/i386/multiboot/init.h: Likewise.
19619 * include/grub/i386/multiboot/kernel.h: Likewise.
19620 * include/grub/i386/multiboot/loader.h: Likewise.
19621 * include/grub/i386/multiboot/memory.h: Likewise.
19622 * include/grub/i386/multiboot/serial.h: Likewise.
19623 * include/grub/i386/multiboot/time.h: Likewise.
19624 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19625 * loader/multiboot.c: Likewise.
19626 * loader/multiboot_mbi2.c: Likewise.
19627 * util/grub-mkrescue.in: Generate multiboot rescue.
19628
6f8aaf68
VS
196292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19630
3080f7a7
VS
19631 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19632
196332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19636
19637 * commands/terminal.c (abstract_terminal): New struct.
19638 (handle_command): New function. Based on grub_cmd_terminal_input.
19639 (grub_cmd_terminal_input): Use handle_command.
19640 (grub_cmd_terminal_output): Use handle_command.
19641
a8ebb841
BC
196422010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19643
19644 Fix comment handling.
19645
19646 * tests/grub_script_comments.in: New testcase.
19647 * conf/tests.rmk: Rules for new testcase.
19648 * script/yylex.l: Updated flex rules.
19649
bb06ba08
ST
196502010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19651
19652 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19653 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19654 if argc is 1.
bb06ba08 19655
cc9d2425
VS
196562010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19657
19658 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19659 autogen issues.
19660
460d8402
CF
196612010-04-26 Christian Franke <franke@computer.org>
19662
19663 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19664 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19665 (grub_get_prefix): Remove function.
19666 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19667 make_system_path_relative_to_its_root ().
19668 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19669
553c01f9
CF
196702010-04-24 Christian Franke <franke@computer.org>
19671
19672 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19673 (kernel_img_LDFLAGS): Remove -static-libgcc.
19674
2aec1692
CF
196752010-04-24 Christian Franke <franke@computer.org>
19676
19677 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19678 and CHECK_END_SYMBOL if grub-emu is built.
19679 Unset TARGET_OBJ2ELF if grub-emu is built
19680 without module support.
19681
f67dc308
JS
196822010-04-24 Jiro SEKIBA <jir@unicus.jp>
19683
19684 Nilfs2 support.
19685
19686 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19687 (grub_fstest_SOURCES): Likewise.
19688 (pkglib_MODULES): Add nilfs2.mod.
19689 (nilfs2_mod_SOURCES): New variable.
19690 (nilfs2_mod_CFLAGS): Likewise.
19691 (nilfs2_mod_LDFLAGS): Likewise.
19692 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19693 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19694 * fs/nilfs2.c: New file.
19695
4ba8d354
VS
196962010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19697
19698 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19699 is not supported.
19700
0d2c20c6
GS
197012010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19702
19703 Add grub-mkconfig support for NetBSD.
19704
19705 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19706 * util/grub-mkconfig.in: export new NetBSD specific variables.
19707 * po/POTFILES-shell: added 10_netbsd.in.
19708 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19709
bc4a2d83
BC
197102010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19711
19712 Fix emu build with grub-emu-pci and grub-emu-modules.
19713
19714 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19715 functions.
19716 * include/grub/libpciaccess.h: New file.
19717 * conf/any-emu.rmk: Update kernel headers for emu build.
19718
f48c87aa
VS
197192010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19722
18959385
VS
197232010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19726
0037de3f
VS
197272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19730 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19731 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19732 util/ieee1275/ofpath.c.
19733 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19734 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19735 * include/grub/sparc64/ieee1275/boot.h
19736 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19737 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19738 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19739 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19740 const char *.
19741 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19742 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19743 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19744 install.
19745
38e55e90
GS
197462010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19747
19748 * util/grub-mkconfig.in: Corrected two == equality tests.
19749 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19750 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19751 expect a number appended to it.
19752 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19753 expects a number appended to it.
19754
a9e6ff28
VS
197552010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19756
19757 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19758
0b830b8f
VS
197592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * util/hostdisk.c (make_device_name): Change to new partition naming.
19762
0973daeb
VS
197632010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19766
460d8402 197672010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19768
19769 * Makefile.in: Add missing localedir setting.
19770
0b456309
CW
197712010-04-14 Colin Watson <cjwatson@ubuntu.com>
19772
19773 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19774 mistake in r2156. Noticed by Anthony Fok.
19775
19776 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19777 @localedir@.
19778 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19779
08f46d62
BC
197802010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19781
19782 Fix a spurious, uninitialized variable warning.
19783
19784 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19785 Initialize variable, shdr.
19786 (grub_freebsd_load_elfmodule): Likewise.
19787 (grub_freebsd_load_elf_meta): Likewise.
19788
8c4a72d4
BC
197892010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19790
19791 Fix for escaped dollar in double quoted strings.
19792
19793 * script/yylex.l: Updated flex rules.
19794 * conf/tests.rmk: Rule for new testcase.
19795 * tests/grub_script_dollar.in: New testcase.
19796
ce44826e
CPE
197972010-04-13 Carles Pina i Estany <carles@pina.cat>
197982010-04-13 Colin Watson <cjwatson@ubuntu.com>
19799
19800 Enclose all translated strings in grub.cfg in single quotes, and
19801 escape them appropriately (Ubuntu bug #552921).
19802
19803 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19804 * util/grub.d/10_hurd.in: Use it.
19805 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19806 * util/grub.d/10_linux.in (linux_entry): Likewise.
19807
4b0cd8f8
VS
198082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 Fix cygwin compilation.
19811
19812 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19813 * include/grub/misc.h (__register_frame_info)
19814 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19815 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19816 * kern/misc.c (__register_frame_info)
19817 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19818 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19819
01fcf061
VS
198202010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19823
5d04b11e
VS
198242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Unify libgcc processing.
19827
19828 * Makefile.in (kernel_img_LDFLAGS): New variable.
19829 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19830 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19831 overwriting.
19832 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19833 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19834 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19835 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19836 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19837 overwriting. Remove -lgcc and -static-libgcc
19838 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19839 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19840 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19841 (kernel_img_LDFLAGS): Append instead of overwriting.
19842 Remove -lgcc and -static-libgcc
19843 * conf/sparc64-ieee1275.rmk: Likewise.
19844 * include/grub/powerpc/libgcc.h: Move to ...
19845 * include/grub/libgcc.h: .. this.
19846 * include/grub/libgcc.h: Don't export most of the function on x86.
19847 (__bswapsi2): New export.
19848 (__bswapdi2): Likewise.
19849 * include/grub/mips/libgcc.h: Removed.
19850 * include/grub/sparc64/libgcc.h: Likewise.
19851
b7f3ac29
VS
198522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19855 disk_info_msg (conflicts with gettexting into languages with cases).
19856
2c7031b1
GS
198572010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19858
19859 Add grub-probe support for NetBSD.
19860
19861 * util/getroot.c (find_root_device): Convert block device to
19862 character device on NetBSD.
19863 * util/probe.c (probe): Require character device on NetBSD.
19864 * util/hostdisk.c: NetBSD specific headers.
19865 (configure_device_driver): new function to tune device driver
19866 parameters (currently only for NetBSD floppy driver).
19867 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19868 via disklabel ioctl).
19869 (open_device): call configure_device_driver on NetBSD.
19870 (convert_system_partition_to_system_disk): NetBSD specific code.
19871 (device_is_wholedisk): Likewise.
19872 (grub_util_biosdisk_get_grub_dev): Likewise.
19873 (make_device_name): Fixed a typo in bsd_part_str.
19874 * configure.ac: check for opendisk() and getrawpartition() on
19875 NetBSD and set LIBUTIL.
19876 * Makefile.in: add LIBUTIL to LIBS.
19877
f516290c
BC
198782010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19879
19880 Documentation fix.
19881
19882 * util/grub-script-check.c: Better help message.
19883
d8dcc0df
BC
198842010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19885
19886 Fix FreeBSD build.
19887
19888 * configure.ac: Flex version check.
19889 * conf/common.rmk: Add -Wno-error to sh.mod.
19890 * script/yylex.l: Remove all #pragma.
19891
6734334a
VS
198922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19895 prototype.
19896 Reported by: Seth Goldberg.
19897
daea6abd
VS
198982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19901 Rename "module" to "module2".
19902 Reported by: Seth Goldberg.
19903
f2fd9d2b
VS
199042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19907 EXPORT_FUNC.
19908 Reported by: Seth Goldberg.
19909
be124579
VS
199102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * lib/posix_wrap/locale.h: Add missing file.
19913 Reported by: Seth Goldberg.
19914
ef5da797
VS
199152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 grub-emu module load support.
19918
19919 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19920 NO_DYNAMIC_MODULES switched to this.
19921 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19922 (CFLAGS): Likewise.
19923 * conf/any-emu.rmk: Generate symlist.
19924 (kernel_img_HEADERS): Add util/datetime.h.
19925 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19926 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19927 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19928 kern/$(target_cpu)/cache.S.
19929 * configure.ac (grub-emu-modules): New option.
19930 * genmk.rb: Handle multiple source lists.
19931 * include/grub/sdl.h: New file.
19932 * include/grub/libusb.h: Likewise.
19933 * util/grub-emu.c (main): Hanle (host) root.
19934 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19935 GRUB_ERR_UNKNOWN_DEVICE.
19936 * util/misc.c: Move mm functions to ...
19937 * util/mm.c: ... here. All users updated.
19938
47822096
VS
199392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19942 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19943 missing files.
19944 (maintainer-clean): Remove libgcrypt-grub.
19945
5d7e7445
VS
199462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19949
25f4e252
EC
199502010-04-09 EFI Coder <eficoder@hotmail.com>
19951
19952 * normal/menu_text.c (print_message): Clean up the message and show
19953 the Fn information when on EFI
19954 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19955
027de555
VS
199562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19959 All users updated.
19960 * normal/crypto.c (read_crypto_list): Likewise.
19961 * normal/dyncmd.c (read_command_list): Likewise.
19962 * normal/term.c (read_terminal_list): Likewise.
19963 * normal/main.c (read_lists): Use explicit prefix.
19964 (read_lists_hook): Use read_lists.
19965 (grub_normal_execute): Likewise.
19966
47779711
VS
199672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19970 Reported by: Thomas Schmitt.
19971 Add -no-emul-boot to grub-mkisofs parameters.
19972
1118c32e
VS
199732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * font/font.c: Indented.
19976
7d652447
BC
199772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19978
19979 Elif support to GRUB script (by Deepak Vankadaru).
19980
19981 * tests/grub_script_if.in: New testcase.
19982 * conf/tests.rmk: Rule for new testcase.
19983 * script/parser.y: Grammar rules for elif.
19984
34bb22df
BC
199852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19986
19987 While and until loops support to GRUB script.
19988
19989 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19990 (grub_script_create_cmdwhile): New function prototype.
19991 (grub_script_execute_cmdwhile): New function prototype.
19992 * script/execute.c (grub_script_execute_cmdwhile): New function.
19993 * script/parser.y (command): New commands.
19994 (whilecmd): New grammar rule.
19995 (untilcmd): New grammar rule.
19996 * script/script.c (grub_script_create_cmdwhile): New function.
19997 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19998 function.
19999
20000 * tests/grub_script_while1.in: New testcase.
20001 * conf/tests.rmk: Rule for new testcase.
20002
e215d8e0
VS
200032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20006 as *.jpg.
20007
d7c43ba1
MV
200082010-04-09 Mario Vazquez <mariovazq@gmail.com>
20009
20010 GRUB_BACKGROUND support.
20011
20012 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20013 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20014
d64795c0
VS
200152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20018 Idea by: Mario Vazquez
d64795c0
VS
20019
20020 * util/grub.d/00_header.in: Load pf2 and image modules.
20021
f267f83a
VS
200222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 grub-mkconfig multiple terminal support.
20025
20026 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20027 * util/grub.d/00_header.in: Likewise.
20028
b7841ceb
VS
200292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20032 we use cd $(srcdir).
20033
df60998c
CW
200342010-04-08 Colin Watson <cjwatson@ubuntu.com>
20035
20036 * util/grub.d/10_linux.in: Only use the first word of
20037 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20038 spaces in GRUB_DISTRIBUTOR.
20039 * util/grub.d/10_kfreebsd.in: Likewise.
20040 * util/grub.d/10_hurd.in: Likewise.
20041
fa09c82e
BC
200422010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20043
14e18ae3 20044 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20045
20046 * tests/util/grub-shell.in: Remove -serial stdio option.
20047
daf892b3
BC
200482010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 POSIX header file wrappers.
20051
20052 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20053 equivalents.
20054 * lib/posix_wrap/ctype.h: Likewise.
20055 * lib/posix_wrap/errno.h: Likewise.
20056 * lib/posix_wrap/langinfo.h: Likewise.
20057 * lib/posix_wrap/limits.h: Likewise.
20058 * lib/posix_wrap/localcharset.h: Likewise.
20059 * lib/posix_wrap/stdint.h: Likewise.
20060 * lib/posix_wrap/stdio.h: Likewise.
20061 * lib/posix_wrap/stdlib.h: Likewise.
20062 * lib/posix_wrap/string.h: Likewise.
20063 * lib/posix_wrap/sys/types.h: Likewise.
20064 * lib/posix_wrap/unistd.h: Likewise.
20065 * lib/posix_wrap/wchar.h: Likewise.
20066 * lib/posix_wrap/wctype.h: Likewise.
20067 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20068 (grub_script.yy.h): Likewise.
20069 * script/yylex.l: Remove POSIX emulation #defines.
20070 * Makefile.in (POSIX_CFLAGS): New variable.
20071 (GNULIB_UTIL_CFLAGS): Likewise.
20072
20073 Regexp support.
20074
20075 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20076 (regexp_mod_SOURCES): New variable.
20077 (regexp_mod_CFLAGS): Likewise.
20078 (regexp_mod_LDFLAGS): Likewise.
20079 * commands/regexp.c: New file.
20080 * gnulib/regcomp.c: New file. Imported from gnulib.
20081 * gnulib/regex.c: Likewise.
20082 * gnulib/regex_internal.c: Likewise.
20083 * gnulib/regex_internal.h: Likewise.
20084 * gnulib/regexec.c: Likewise.
20085 * gnulib/regex.h: Likewise.
20086
974ac4f7
VS
200872010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20090 unsupported video mode types.
20091
2622c3ff
VS
200922010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20095
064cb524
VS
200962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20099 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20100
a8c3b552
VS
201012010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 Remove unused grub_vga_get_font.
20104
20105 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20106 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20107
187bbe3d
GS
201082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20109
20110 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20111 * include/grub/misc.h: Likewise.
20112
b9396631
GS
201132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20114
20115 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20116 for which failure is fatal.
20117
50479feb
GS
201182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20119
20120 * util/grub-install.in: Use mkdir -p to create grub directory.
20121 * util/i386/efi/grub-install.in: Likewise.
20122 * util/ieee1275/grub-install.in: Likewise.
20123
b1654fdf
GS
201242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20125
20126 * Makefile.in (LEX): new variable.
20127
bd5a6415
GS
201282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20129
20130 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20131 `=' and added double quotes on operands of this equality test.
20132
3db3a82b
VS
201332010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * Makefile.in (uninstall): Remove a leftover debug echo.
20136 Reported by: Grégoire Sutre
20137
38023412
VS
201382010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 MIPS multiboot2 support.
20141
20142 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20143 (multiboot2_mod_SOURCES): New variable.
20144 (multiboot2_mod_CFLAGS): Likewise.
20145 (multiboot2_mod_LDFLAGS): Likewise.
20146 (multiboot2_mod_ASFLAGS): Likewise.
20147 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20148 definition.
20149 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20150 (MULTIBOOT_MBI_REGISTER): Likewise.
20151 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20152 (MULTIBOOT_ELF32_MACHINE): Likewise.
20153 (MULTIBOOT_ELF64_MACHINE): Likewise.
20154 * include/grub/mips/multiboot.h: New file.
20155 * include/grub/video.h (grub_video_driver_id): New type
20156 GRUB_VIDEO_DRIVER_SM712.
20157 (grub_video_get_info_and_fini): Export.
20158 (grub_video_get_palette): Likewise.
20159 (grub_video_get_driver_id): Likewise.
20160 * include/multiboot2.h: Resynced with spec.
20161 * loader/i386/multiboot.c: Moved from here ...
20162 * loader/multiboot.c: ... here. All users updated.
20163 (grub_multiboot_boot): Use platform-specific macros.
20164 * loader/i386/multiboot_elfxx.c: Moved from here ...
20165 * loader/multiboot_elfxx.c: ... here. All users updated.
20166 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20167 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20168 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20169
47674667
VS
201702010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 Import gnulib argp module.
20173
20174 * gnulib/argp-ba.c: New file.
20175 * gnulib/argp-eexst.c: Likewise.
20176 * gnulib/argp-fmtstream.c: Likewise.
20177 * gnulib/argp-fmtstream.h: Likewise.
20178 * gnulib/argp-fs-xinl.c: Likewise.
20179 * gnulib/argp-help.c: Likewise.
20180 * gnulib/argp-namefrob.h: Likewise.
20181 * gnulib/argp-parse.c: Likewise.
20182 * gnulib/argp-pin.c: Likewise.
20183 * gnulib/argp-pv.c: Likewise.
20184 * gnulib/argp-pvh.c: Likewise.
20185 * gnulib/argp-version-etc.c: Likewise.
20186 * gnulib/argp-version-etc.h: Likewise.
20187 * gnulib/argp-xinl.c: Likewise.
20188 * gnulib/argp.h: Likewise.
20189
495442ed
VS
201902010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20191
20192 * kern/device.c (grub_device_iterate): Clear errors after failed
20193 opening device.
20194
f9fd65df
VS
201952010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20198 returned by firmware.
20199
af09641e
VS
202002010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20203 compilation on coreboot and qemu
20204
016883a5
VS
202052010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20206
20207 * include/multiboot2.h: Resync with spec.
20208
f97e1f7d
VS
202092010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 Multiboot2 tag support
20212
20213 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20214 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20215 Remove loader/multiboot_loader.c.
20216 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20217 (grub_multiboot2_real_boot): Likewise.
20218 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20219 (grub_get_multiboot_mmap_count): New proto.
20220 (grub_fill_multiboot_mmap): Likewise.
20221 (grub_multiboot_set_video_mode): Likewise.
20222 (grub_multiboot_set_console): Likewise.
20223 (grub_multiboot_load): Likewise.
20224 (grub_multiboot_load_elf): Likewise.
20225 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20226 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20227 * include/multiboot.h: Resynced with specification.
20228 * include/multiboot2.h: Resynced with specification.
20229 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20230 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20231 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20232 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20233 users updated.
20234 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20235 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20236 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20237 Removed.
20238 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20239 Moved from here...
20240 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20241 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20242 Moved from here...
20243 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20244 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20245 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20246 All users updated.
20247 * loader/i386/multiboot_mbi2.c: New file.
20248
3506b90b
VS
202492010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 Resync with gnulib.
20252
20253 * Makefile.in (GNULIB_CFLAGS): New variable.
20254 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20255 (grub_script_check_CFLAGS): New variable.
20256 * gnulib/alloca.h: Resync with gnulib.
20257 * gnulib/error.c: Likewise.
20258 * gnulib/error.h: Likewise.
20259 * gnulib/fnmatch.c: Likewise.
20260 * gnulib/fnmatch_loop.c: Likewise.
20261 * gnulib/getdelim.c: Likewise.
20262 * gnulib/getline.c: Likewise.
20263 * gnulib/getopt.c: Likewise.
20264 * gnulib/getopt1.c: Likewise.
20265 * gnulib/getopt_int.h: Likewise.
20266 * gnulib/gettext.h: Likewise.
20267 * gnulib/progname.c: Likewise.
20268 * gnulib/progname.h: Likewise.
20269
394a3120
GS
202702010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20271
20272 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20273 which is the case with --disabled-nls.
20274
20275 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20276 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20277 * util/misc.c: Likewise.
20278 * util/mkisofs/mkisofs.c: Likewise.
20279 * util/mkisofs/mkisofs.h: Likewise.
20280
969d1c78
VS
202812010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20282
20283 Simplify Apple CC support.
20284
20285 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20286 Add 0 byte at the end not to have a symbol with empty target.
20287 * mmap/i386/pc/mmap_helper.S: Likewise.
20288 * genmk.rb: Ignore errors 2030 and 2050.
20289 * kern/i386/pc/startup.S: Use LOCAL when possible.
20290
8d2977bb
BC
202912010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20292
20293 Testcase and the fix for final semicolon on cmdline.
20294
20295 * tests/grub_script_final_semicolon.in: New testcase.
20296 * conf/tests.rmk: Rules for the new testcase.
20297 * script/parser.y: Grammar fix.
20298
a7bd6915
BC
202992010-03-26 BVK Chaitanya <bvk@localhost>
20300
20301 Blank lines testcase for GRUB script.
20302
20303 * tests/grub_script_blanklines.in: New testcase.
20304 * conf/tests.rmk: Rules for the new testcase.
20305
e4ff6628
VS
203062010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 Don't use __FILE__.
20309
20310 * genmk.rb: Add -DGRUB_FILE to all C targets.
20311 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20312 * include/grub/list.h: Likewise.
20313 * include/grub/misc.h: Likewise.
20314 * include/grub/mm.h: Likewise.
20315 * include/grub/test.h: Likewise.
20316 * kern/mm.c: Likewise.
20317 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20318
6a5cf6b6
VS
203192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 Sunpc partitions support.
20322
20323 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20324 (grub_fstest_SOURCES): Likewise.
20325 (pkglib_MODULES): Add part_sunpc.mod.
20326 (part_sunpc_mod_SOURCES): New variable.
20327 (part_sunpc_mod_CFLAGS): Likewise.
20328 (part_sunpc_mod_LDFLAGS): Likewise.
20329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20330 * partmap/sunpc.c: New file.
20331
746d9045
BC
203322010-03-26 BVK Chaitanya <bvk@localhost>
20333
20334 For loop support to GRUB script.
20335
20336 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20337 (grub_script_create_cmdfor): New function prototype.
20338 (grub_script_execute_cmdfor): New function prototype.
20339 * script/execute.c (grub_script_execute_cmdfor): New function.
20340 * script/parser.y (command): New for command.
20341 (forcmd): New grammar rule.
20342 * script/script.c (grub_script_create_cmdfor): New function.
20343 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20344 function.
20345 * tests/grub_script_for1.in: New testcase.
20346 * conf/tests.rmk: Rules for new testcase.
20347
18486b18
VS
203482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 Nested partitions
20351
20352 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20353 'partition' is NULL, grub_partition_get_start already does that.
20354 * commands/loadenv.c (check_blocklists): Likewise.
20355 (write_blocklists): Likewise.
20356 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20357 (grub_fstest_SOURCES): Likewise.
20358 (pkglib_MODULES): Add part_bsd.mod.
20359 (part_bsd_mod_SOURCES): New variable.
20360 (part_bsd_mod_CFLAGS): Likewise.
20361 (part_bsd_mod_LDFLAGS): Likewise.
20362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20363 (grub_emu_SOURCES): Likewise.
20364 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20365 * include/grub/bsdlabel.h: New file.
20366 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20367 'get_name'.
20368 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20369 (grub_partition_map_list): New variable.
20370 (grub_partition_map_register): Inline.
20371 (grub_partition_map_unregister): Likewise.
20372 (FOR_PARTITION_MAPS): New macro.
20373 (grub_partition_map_iterate): Removed.
20374 (grub_partition_get_start): Handle nested partitions.
20375 * include/grub/msdos_partition.h: Remove bsd-related entries.
20376 (grub_pc_partition): Remove.
20377 * kern/disk.c (grub_disk_close): Free partition data.
20378 (grub_disk_adjust_range): Handle nested partitions.
20379 * kern/partition.c (grub_partition_map_probe): New function.
20380 (grub_partition_probe): Parse name to number, handle subpartitions.
20381 (get_partmap): New function.
20382 (grub_partition_iterate): Handle subpartitions.
20383 (grub_partition_get_name): Likewise.
20384 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20385 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20386 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20387 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20388 Set 'number'.
20389 (acorn_partition_map_probe): Remove.
20390 (acorn_partition_map_get_name): Likewise.
20391 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20392 Set 'number'.
20393 Set 'index' to 0 since there can be only one partition entry per sector.
20394 (amiga_partition_map_probe): Remove.
20395 (amiga_partition_map_get_name): Likewise.
20396 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20397 Set 'number'.
20398 Set 'offset' and 'index' to real positions of partitions.
20399 (apple_partition_map_probe): Remove.
20400 (apple_partition_map_get_name): Likewise.
20401 * partmap/bsdlabel.c: New file.
20402 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20403 Set 'number'.
20404 Allocate 'data' so it can be correctly freed.
20405 Set 'index' to offset inside sector.
20406 (gpt_partition_map_probe): Remove.
20407 (gpt_partition_map_get_name): Likewise.
20408 * partmap/msdos.c (grub_partition_parse): Remove.
20409 (pc_partition_map_iterate): Don't force raw access.
20410 Set 'number'.
20411 Make 'ext_offset' a local variable.
20412 (pc_partition_map_probe): Remove.
20413 (pc_partition_map_get_name): Remove.
20414 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20415 Set 'number'.
20416 (sun_partition_map_probe): Remove.
20417 (sun_partition_map_get_name): Likewise.
20418 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20419 (grub_pcpart_type): Likewise.
20420 * util/hostdisk.c (open_device): Handle new numbering scheme.
20421 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20422 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20423 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20424 * util/grub-install.in: Insert all subpartition modules.
20425 * util/ieee1275/grub-install.in: Likewise.
20426
a3940f88
AG
204272010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20428
20429 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20430 grammar.
20431
21b99926 204322010-03-24 Colin Watson <cjwatson@ubuntu.com>
20433
20434 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20435
bed1d352
CW
204362010-03-21 Colin Watson <cjwatson@ubuntu.com>
20437
20438 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20439 match where 'make install' puts them.
20440 * util/i386/efi/grub-install.in: Likewise.
20441
c9f58427
CW
204422010-03-19 Colin Watson <cjwatson@ubuntu.com>
20443
20444 * .bzrignore: Add gentrigtables, grub-script-check,
20445 grub_script_check_init.c, grub_script_check_init.h, and
20446 trigtables.c.
20447
f84afb27
VS
204482010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * kern/parser.c: Indented.
20451
ed0e3d30
VS
204522010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20455
0ea81d98
VS
204562010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20459 alpha_mask_size == 0 case.
20460
0cdc2a09
BC
204612010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20462
20463 GRUB shell lexer and parser improvements.
20464
20465 * conf/any-emu.rmk: Build rule updates.
20466 * conf/common.rmk: Likewise.
20467 * conf/i386-coreboot.rmk: Likewise.
20468 * conf/i386-efi.rmk: Likewise.
20469 * conf/i386-ieee1275.rmk: Likewise.
20470 * conf/i386-pc.rmk: Likewise.
20471 * conf/powerpc-ieee1275.rmk: Likewise.
20472 * conf/x86_64-efi.rmk: Likewise.
20473
20474 * configure.ac: Configure check for flex.
20475
20476 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20477 types.
20478 (grub_lexer_param): Struct member updates.
20479 (grub_parser_param): Likewise.
20480 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20481 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20482 (grub_script_lexer_init): Prototype update.
20483 (grub_script_lexer_record_start): Likewise.
20484 (grub_script_lexer_record_stop): Likewise.
20485 (grub_script_lexer_yywrap): New function prototype.
20486 (grub_script_lexer_fini): Likewise.
20487 (grub_script_execute_argument_to_string): Removed by...
20488 (grub_script_execute_argument_to_argv): ...better version.
20489
20490 * script/execute.c (ROUND_UPTO): New macro.
20491 (grub_script_execute_cmdline): Out of memory fixes.
20492 (grub_script_execute_menuentry): Likewise.
20493 (grub_script_execute_argument_to_string): Removed. Update all
20494 users by...
20495 (grub_script_execute_argument_to_argv): ...better version.
20496 * script/function.c (grub_script_function_create): Use
20497 grub_script_execute_argument_to_argv instead of
20498 grub_script_execute_argument_to_string.
20499
20500 * script/lexer.c (check_varstate): Removed.
20501 (check_textstate): Removed.
20502 (grub_script_lexer_record_start): Likewise.
20503 (grub_script_lexer_record_stop): Likewise.
20504 (recordchar): Replaced with...
20505 (grub_script_lexer_record): ...new function.
20506 (nextchar): Removed.
20507 (grub_script_lexer_init): Rewritten.
20508 (grub_script_yylex): Rewritten.
20509 (append_newline): New function.
20510 (grub_script_lexer_yywrap): New function.
20511 (grub_script_lexer_fini): New function.
20512 (grub_script_yyerror): Sets error flag.
20513
20514 * script/yylex.l: New file.
20515 (grub_lexer_yyfree): Wrapper for flex yyffre.
20516 (grub_lexer_yyalloc): Likewise.
20517 (grub_lexer_yyrealloc): Likewise.
20518 * script/parser.y: Refactored.
20519
20520 * script/script.c (grub_script_arg_add): Out of memory fixes.
20521 (grub_script_add_arglist): Likewise.
20522 (grub_script_create_cmdline): Likewise.
20523 (grub_script_create_cmdmenu): Likewise.
20524 (grub_script_add_cmd): Likewise.
20525 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20526 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20527 unnecessary code.
20528
20529 * tests/grub_script_echo1.in: New testcase.
20530 * tests/grub_script_vars1.in: New testcase.
20531 * tests/grub_script_echo_keywords.in: New testcase.
20532
1d63a066
VS
205332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 Remove some redundancy in build system.
20536
20537 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20538 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20539 (TARGET_LDFLAGS): Add -nostdlib.
20540 (TARGET_IMG_LDFLAGS): Likewise.
20541 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20542 anything since mmap isn't available.
20543 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20544 Add util/time.c.
20545 (pkglib_MODULES): Remove reboot.mod.
20546 (reboot_mod_SOURCES): Removed.
20547 (reboot_mod_CFLAGS): Likewise.
20548 (reboot_mod_LDFLAGS): Likewise.
20549 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20550 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20551 (DEFSYMFILES): Add kernel_syms.lst.
20552 (kernel_img_HEADERS): Add common headers.
20553 (symlist.c): New target.
20554 (kernel_syms.lst): Likewise.
20555 (pkglib_MODULES): Add memdisk.mod.
20556 (memdisk_mod_SOURCES): New variable.
20557 (memdisk_mod_CFLAGS): Likewise.
20558 (memdisk_mod_LDFLAGS): Likewise.
20559 (pkglib_MODULES): Add reboot.mod.
20560 (reboot_mod_SOURCES): New variable.
20561 (reboot_mod_CFLAGS): Likewise.
20562 (reboot_mod_LDFLAGS): Likewise.
20563 (pkglib_MODULES): Add date.mod.
20564 (date_mod_SOURCES): New variable.
20565 (date_mod_CFLAGS): Likewise.
20566 (date_mod_LDFLAGS): Likewise.
20567 (pkglib_MODULES): Add datehook.mod.
20568 (datehook_mod_SOURCES): New variable.
20569 (datehook_mod_CFLAGS): Likewise.
20570 (datehook_mod_LDFLAGS): Likewise.
20571 (pkglib_MODULES): Add lsmmap.mod.
20572 (lsmmap_mod_SOURCES): New variable.
20573 (lsmmap_mod_CFLAGS): Likewise.
20574 (lsmmap_mod_LDFLAGS): Likewise.
20575 (pkglib_MODULES): Add boot.mod.
20576 (boot_mod_SOURCES): New variable.
20577 (boot_mod_CFLAGS): Likewise.
20578 (boot_mod_LDFLAGS): Likewise.
20579 * conf/i386-coreboot.rmk: Removed redundant parts.
20580 * conf/i386-ieee1275.rmk: Likewise.
20581 * conf/i386-pc.rmk: Likewise.
20582 * conf/mips-yeeloong.rmk: Likewise.
20583 * conf/mips.rmk: Likewise.
20584 * conf/powerpc-ieee1275.rmk: Likewise.
20585 * conf/sparc64-ieee1275.rmk: Likewise.
20586 * conf/x86_64-efi.rmk: Likewise.
20587 * conf/i386-coreboot.rmk: Moved qemu parts ..
20588 * conf/i386-qemu.rmk: ... here
20589 * conf/i386-efi.rmk: Moved common parts to...
20590 * conf/x86-efi.rmk: ... here.
20591 * conf/i386.rmk: Added modules common to all x86 variants.
20592 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20593 * disk/memdisk.c: Remove grub/machine/kernel.h.
20594 * gensymlist.sh.in: Include symbol.h.
20595 * hook/datehook.c: Correct module name.
20596 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20597 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20598 * include/grub/i386/efi/serial.h: New file.
20599 * include/grub/x86_64/efi/serial.h: Likewise.
20600 * util/time.c: Likewise.
20601 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20602
463ac55f
CK
206032010-03-14 Colin King <colin.king@ubuntu.com>
206042010-03-14 Colin Watson <cjwatson@ubuntu.com>
20605
20606 Shrink the pre-partition-table part of boot.img by eight bytes.
20607
20608 * boot/i386/pc/boot.S (ERR): New macro.
20609 (chs_mode): Use ERR.
20610 (geometry_error): Likewise.
20611 (hd_probe_error): Remove. This is only used once, so we wrwite
20612 it inline instead.
20613 (read_error): Instead of printing read_error_string, just set up
20614 %si and fall through to ...
20615 (error_message): ... this new function, also used by ERR.
20616
08e46ede
CW
206172010-03-14 Colin Watson <cjwatson@ubuntu.com>
20618
20619 Speed up consecutive hostdisk operations on the same device.
20620
20621 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20622 (grub_util_biosdisk_open): Initialise disk->data.
20623 (struct linux_partition_cache): New structure.
20624 (linux_find_partition): Cache partition start positions; these are
20625 expensive to compute on every read and write.
20626 (open_device): Cache open file descriptor in disk->data, so that we
20627 don't have to reopen it and flush the buffer cache for consecutive
20628 operations on the same device.
20629 (grub_util_biosdisk_close): New function.
20630 (grub_util_biosdisk_dev): Set `close' member.
20631
20632 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20633 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20634 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20635 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20636 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20637
4a6d2d06
VS
206382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 Compile parts of grub-emu as modules.
20641
20642 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20643 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20644 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20645 (all-local): Add $(GRUB_EMU).
20646 (install-local): Install $(GRUB_EMU).
20647 (uninstall): Uninstall $(GRUB_EMU).
20648 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20649 * kern/dl.c: Likewise.
20650 * commands/sleep.c: Not include machine/time.h.
20651 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20652 (COMMON_CFLAGS): Likewise.
20653 (sbin_UTILITIES): Remove grub-emu.
20654 (grub_emu_SOURCES): Removed.
20655 (kernel_img_RELOCATABLE): New variable.
20656 (pkglib_PROGRAMS): Add kernel.img.
20657 (kernel_img_SOURCES): New variable
20658 (kernel_img_CFLAGS): Likewise.
20659 (kernel_img_LDFLAGS): Likewise.
20660 (TARGET_NO_STRIP): Likewise.
20661 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20662 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20663 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20664 (grub-emu): New target.
20665 (GRUB_EMU): New variable.
20666 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20667 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20668 * loader/xnu.c: Likewise.
20669 * include/grub/pci.h: Likewise.
20670 * genemuinit.sh: New file.
20671 * genemuinitheader.sh: Likewise.
20672 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20673 Support TARGET_NO_DYNAMIC_MODULES.
20674 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20675 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20676 * disk/loopback.c: Likewise.
20677 * font/font_cmd.c: Likewise.
20678 * partmap/acorn.c: Likewise.
20679 * partmap/amiga.c: Likewise.
20680 * partmap/apple.c: Likewise.
20681 * partmap/gpt.c: Likewise.
20682 * partmap/msdos.c: Likewise.
20683 * partmap/sun.c: Likewise.
20684 * parttool/msdospart.c: Likewise.
20685 * term/gfxterm.c: Likewise.
20686 * video/bitmap.c: Likewise.
20687 * video/readers/jpeg.c: Likewise.
20688 * video/readers/png.c: Likewise.
20689 * video/readers/tga.c: Likewise.
20690 * video/video.c: Likewise.
20691 * util/grub-emu.c (read_command_list): Removed.
20692 (main): Don't call util_init_nls.
20693 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20694 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20695
91fdd2ed
VS
206962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20699 date.mod, datehook.mod.
20700 (datetime_mod_SOURCES): New variable.
20701 (datetime_mod_CFLAGS): Likewise.
20702 (datetime_mod_LDFLAGS): Likewise.
20703 (date_mod_SOURCES): Likewise.
20704 (date_mod_CFLAGS): Likewise.
20705 (date_mod_LDFLAGS): Likewise.
20706 (datehook_mod_SOURCES): Likewise.
20707 (datehook_mod_CFLAGS): Likewise.
20708 (datehook_mod_LDFLAGS): Likewise.
20709 * conf/sparc64-ieee1275.rmk: Likewise.
20710 * lib/ieee1275/datetime.c: New file.
20711
873ccae6
VS
207122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20715 (ieee1275_fb_mod_SOURCES): New variable.
20716 (ieee1275_fb_mod_CFLAGS): Likewise.
20717 (ieee1275_fb_mod_LDFLAGS): Likewise.
20718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20719 New proto.
20720 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20721 (HEAP_MAX_ADDR): Likewise.
20722 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20723 type.
20724 Correct stop condition.
20725 (grub_ieee1275_devices_iterate): New function.
20726 * video/ieee1275.c: New file.
20727
601c97c0
VS
207282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20731
20732 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20733 as scratch.
20734 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20735 SCRATCH_PAD_DISKBOOT as scratch.
20736 (bootit): Pass Openfirmware pointer in %o4.
20737 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20738 of 0x200000.
20739 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20740 with util/grub-mkrawimage.c.
20741 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20742 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20743 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20744 (grub_aout_load) [GRUB_UTIL]: Likewise.
20745 * include/grub/kernel.h (grub_modules_get_end): New proto.
20746 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20747 (SCRATCH_PAD_BOOT): New definition.
20748 (SCRATCH_PAD_DISKBOOT): Likewise.
20749 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20750 * include/grub/sparc64/ieee1275/ieee1275.h
20751 (grub_ieee1275_original_stack): New variable
20752 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20753 New definition
20754 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20755 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20756 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20757 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20758 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20759 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20760 (grub_platform_image_format_t): New type.
20761 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20762 * kern/main.c (grub_modules_get_end)
20763 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20764 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20765 (codestart): Switch stacks.
20766 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20767 variable.
20768 (grub_heap_init): Use grub_modules_get_end.
20769 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20770 stack.
20771 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20772 (main): Likewise.
20773 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20774
d68b491e
TG
207752010-03-14 Thorsten Glaser <tg@mirbsd.org>
20776
20777 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20778
4e02ed50
MK
207792010-03-08 Matt Kraai <kraai@ftbfs.org>
20780
20781 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20782 bug #559005).
20783
1f15fc1e
VS
207842010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * genmoddep.awk: Output all missing symbols and not only first.
20787
fce5d8ff
VS
207882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20789
20790 * NEWS: Put the date of 1.98 release.
20791
d1e8a02f
VS
207922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20795 ft2build.h.
20796
696fd607
VS
207972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20798
20799 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20800 completition in the middle of string.
20801
33e2e6f3
VS
208022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20803
20804 * util/grub-mkrescue.in: Use mktemp with explicit template.
20805
b1f6d291
VS
208062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20809
2ac227c7
VS
208102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20811
20812 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20813 right pointer.
20814
8f9a632b
VS
208152010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20816
20817 Fix FreeBSD compilation.
20818
20819 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20820 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20821
60b03859
VS
208222010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20825
48a5a769
VS
208262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20829
3ab4bd77
VS
208302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20833
d116e0d8
RM
208342010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20835
20836 Support relative image path in theme file.
20837
20838 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20839 (image_set_property): Handle theme_dir and relative path.
20840
c7ef54aa
VS
208412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 * configure.ac: Alias amd64 to x86_64.
20844
fcee14ed
VS
208452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 * NEWS: mention multiboot on EFI.
20848
d0780363
VS
208492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 * kern/main.c (grub_load_modules): Handle errors from init functions of
20852 embeded modules.
20853
41168ea4
VS
208542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * normal/autofs.c (autoload_fs_module): Handle errors.
20857
b54d93ac
VS
208582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 Disable linux.mod on qemu-mips since it's not functional and leads
20861 to compilation failure.
20862
20863 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20864 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20865 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20866 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20867 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20868 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20869 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20870 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20871 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20872 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20873 Reported by: BVK Chaitanya
20874
fc8345da
JU
208752010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20876
20877 * INSTALL: Add gettext as a dependency and add qemu to a new section
20878 "Prerequisites for make-check".
20879
4760f979
CF
208802010-03-04 Christian Franke <franke@computer.org>
20881
20882 * util/grub-pe2elf.c: Add missing include "progname.h".
20883
f209b5b2
VS
208842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * normal/crypto.c (read_crypto_list): Fix a typo.
20887 Reported by: Seth Goldberg.
20888
b4b7be98
VS
208892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20892 Reported by: Seth Goldberg.
b4b7be98 20893
c0ee0385
VS
208942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20897 ascii.bitmaps.
20898
a8efbf64
VS
208992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20900
20901 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20902 Reported by: Seth Goldberg.
a8efbf64 20903
08dcd913
VS
209042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 * util/i386/efi/grub-install.in: Copy gettext files.
20907
c4d0b332
VS
209082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20911
c6f2fe52
VS
209122010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 Wait for user entry basing on presence of output rather than on errors.
20915
20916 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20917 (grub_install_newline_hook): Likewise.
20918 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20919 * normal/menu.c (show_menu): Check line_counter to determine presence
20920 of output.
20921 * normal/term.c (grub_normal_line_counter): New variable.
20922 (grub_normal_get_line_counter): New function.
20923 (grub_install_newline_hook): Likewise.
20924
5382b1e4
VS
209252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20928
5519963b
VS
209292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * configure.ac: Update version to 1.98.
20932
72b28631
VS
209332010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 * util/grub.d/10_linux.in (linux_entry): Don't default to
20936 gfxpayload=keep if Linux doesn't support video handover.
20937
c140a180
VS
209382010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 Don't compile video modules on yeeloong since video subsystem is part
20941 of kernel.
20942
20943 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20944 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20945 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20946 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20947 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20948 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20949 * include/grub/bitmap_scale.h: Likewise.
20950 * include/grub/bufio.h: Likewise.
20951 * include/grub/font.h: Likewise.
20952 * include/grub/gfxterm.h: Likewise.
20953 * include/grub/video.h: Likewise.
20954 * include/grub/vbe.h: Don't include video_fb.h.
20955 * video/i386/pc/vbe.c: Include video_fb.h.
20956 * commands/i386/pc/vbetest.c: Include video.h.
20957
a0ca21c2
CW
209582010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20959
20960 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20961 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20962 default entry if GRUB_SAVEDEFAULT=true. This allows using
20963 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20964 saving a new default on every boot.
20965
4a8a763c
VS
209662010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20969 * normal/term.c (read_terminal_list): Likewise.
20970 * normal/main.c (grub_normal_init_page): Likewise.
20971 (grub_normal_read_line_real): Likewise.
20972
607ffde2
VS
209732010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20976 memory leak.
20977 Reported by: Seth Goldberg.
20978
2b8fa975
CW
209792010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20980
20981 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20982 duplicate declaration of `start'.
20983
618307dd
VS
209842010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20985
20986 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20987 filename.
20988 Reported by: Georgy Buranov
20989
7dd05b96 209902010-02-20 Carles Pina i Estany <carles@pina.cat>
20991
20992 * util/grub-mkrawimage.c (usage): Change string formatting to
20993 improve gettext.
20994
d1484a42
MRA
209952010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20996
20997 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20998 backspace keys.
20999
42b1d186
VS
210002010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21003 Reported by: Michael Suchanek.
21004
210052010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21006
21007 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21008 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21009
d9f31a41
VS
210102010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 Remove any reference to non-free fonts.
21013
21014 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21015 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21016 uses non-free components.
21017 * font/font.c (grub_font_get_name): Remove example name.
21018 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21019 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21020 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21021 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21022
2793c71e
GB
210232010-02-16 Georgy Buranov <gburanov@gmail.com>
21024
21025 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21026
402e3779
VS
210272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21030 Double divisor.
21031 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21032 features.
21033 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21034
0dd1e0dd
VS
210352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21036
21037 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21038
6fa7cfce
ST
210392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21040
21041 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21042 * docs/grub.texi (Command-line and menu entry commands): Document play
21043 command.
21044
37c8483b
ST
210452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21046
21047 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21048 parse arguments as inline tempo and notes. Move code for playing notes
21049 to...
21050 (play): ... new function.
21051
14da0fb7
ST
210522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21053
21054 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21055 grub_uint16_t instead of short.
21056 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21057 disk from little endian to cpu endianness.
21058
04459e70
ST
210592010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21060
21061 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21062 GRUB_TICKS_PER_SECOND instead of 120.
21063
a0876943
VS
210642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21067 escape sequence after \e.
21068
e29f95dc
VS
210692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21072 non-ASCII characters.
21073
d27859b2
VS
210742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21077 set root in single quotes to prevent \, from being unescaped.
21078
bc028f2f
VS
210792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 Prevent unknown commands from stopping menuentry execution.
21082
21083 * script/execute.c (grub_script_execute_cmdline): Print error after
21084 unknown command.
21085
095f5f82
VS
210862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21089 Reported by: Pavel Pisa.
21090
8c717950
VS
210912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21094
904935c3
VS
210952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 Merge grub_ieee1275_map_physical into grub_map and rename to
21098 grub_ieee1275_map
21099
21100 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21101 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21102 Remove.
21103 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21104 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21105 necessary.
21106 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21107
5b59a4e3
VS
211082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21111 opening and not after.
21112
69e137e8
VS
211132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21116 constants.
21117
2c0fcc36
VS
211182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21121 (alloc_phys): Use ALIGN_UP instead of align_addr.
21122
8c6052ce
VS
211232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21126
17cec782
VS
211272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21130
e0128bbd
VS
211312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21132
21133 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21134 verbose dprintf.
21135
ca62070b
VS
211362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 Fix over-4GiB seek on sparc64.
21139
21140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21141 Replace pos_i and pos_lo with pos. All users updated.
21142 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21143 New constant.
21144 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21145 Likewise.
21146 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21147 and pos_lo.
21148
bdca2607
VS
211492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21150
21151 * util/grub-mkrawimage.c (main): Call set_program_name.
21152
da278c4d
VS
211532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 Properly align 64-bit targets.
21156
21157 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21158 (generate_image): Use ALIGN_ADDR.
21159
b274d734
VS
211602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 Properly create cross-endian images.
21163
21164 * include/grub/types.h (grub_host_to_target_addr): New macro
21165 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21166
82da2062
VS
211672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21168
21169 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21170
7cae4377
VS
211712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21174
21175 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21176 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21177 (grub_linux_boot): Divide by 64K when on VESA.
21178
65a533e7
VS
211792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 Support GRUB_GFXPAYLOAD_LINUX.
21182
21183 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21184 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21185
dd01d397
VS
211862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21189 to show messages instead of discarding them.
21190 Process errors after executing command and not before. Keep old method
21191 too as precaution.
21192
660960d6
VS
211932010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 * configure.ac: Check for ft2build.h.
21196
62509f04
VS
211972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21200
473df63d
VS
212012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * genkernsyms.sh.in: Use TARGET_CC.
21204
c98d2a13
CW
212052010-02-07 Colin Watson <cjwatson@ubuntu.com>
21206
21207 * NEWS: Update.
21208
6e14234c
VS
212092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21212 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21213 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21214
b255e9cf
YB
212152010-02-07 Yves Blusseau <blusseau@zetam.org>
21216
6e14234c 21217 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21218
98e6959d
VS
212192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 Fix warnings in grub-emu when compiling with maximum warning options.
21222
21223 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21224 (grub_arch_modules_addr): Return 0 and not NULL.
21225 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21226 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21227 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21228 of disk to dsk to avoid shadowing.
74e4934e
VS
21229 (find_free_slot): Fix prototype.
21230 * util/getroot.c (grub_util_is_dmraid): Make static.
21231 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21232 Add missing prototype.
21233 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21234
74e31b5c
VS
212352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21238 appropriately.
21239
6b2ad14b
VS
212402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21243 code out.
21244
8f891adc
VS
212452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21248 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21249 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21250 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21251 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21252 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21253
74b45184
VS
212542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * include/grub/err.h (grub_err_printf): Don't export.
21257
a4bced77
VS
212582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21261
007d0695
VS
212622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21265 * kern/misc.c (grub_gettext_dummy): Make static.
21266
b6c0d9c2
VS
212672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21268
21269 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21270 by non-valid ones.
21271 * kern/term.c (grub_putchar): Likewise.
21272
f51a90d0
VS
212732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21276 buggy hook call and memory leak.
21277
6846cec5
VS
212782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21281
468d69fe
VS
212822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21285
51906b8c
VS
212862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21289 modevar.
21290 Return grub_errno on allocation error.
21291
09706ce5
VS
212922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21293
21294 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21295
911df80c
YB
212962010-02-06 Yves Blusseau <blusseau@zetam.org>
21297
21298 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21299 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21300
3746a6bc
VS
213012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21304 non-pxe disk.
21305 (grub_pxefs_open): Likewise.
21306
09706ce5
VS
213072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21308
21309 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21310 * util/grub.d/10_kfreebsd.in: Likewise.
21311 * util/grub.d/10_linux.in: Likewise.
21312
7cc192d9
VS
213132010-02-06 Colin D Bennett <colin@gibibit.com>
21314
21315 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21316 (gfxmenu_mod_SOURCES): New variable.
21317 (gfxmenu_mod_CFLAGS): Likewise.
21318 (gfxmenu_mod_LDFLAGS): Likewise.
21319 * include/grub/term.h (grub_term_set_current_output): Declare
21320 argument as const.
21321 * docs/gfxmenu-theme-example.txt: New file.
21322 * gfxmenu/gfxmenu.c: Likewise.
21323 * gfxmenu/gui_box.c: Likewise.
21324 * gfxmenu/gui_canvas.c: Likewise.
21325 * gfxmenu/gui_circular_progress.c: Likewise.
21326 * gfxmenu/gui_image.c: Likewise.
21327 * gfxmenu/gui_label.c: Likewise.
21328 * gfxmenu/gui_list.c: Likewise.
21329 * gfxmenu/gui_progress_bar.c: Likewise.
21330 * gfxmenu/gui_string_util.c: Likewise.
21331 * gfxmenu/gui_util.c: Likewise.
21332 * gfxmenu/icon_manager.c: Likewise.
21333 * gfxmenu/model.c: Likewise.
21334 * gfxmenu/named_colors.c: Likewise.
21335 * gfxmenu/theme_loader.c: Likewise.
21336 * gfxmenu/view.c: Likewise.
21337 * gfxmenu/widget-box.c: Likewise.
21338 * include/grub/gfxmenu_model.h: Likewise.
21339 * include/grub/gfxmenu_view.h: Likewise.
21340 * include/grub/gfxwidgets.h: Likewise.
21341 * include/grub/gui.h: Likewise.
21342 * include/grub/gui_string_util.h: Likewise.
21343 * include/grub/icon_manager.h: Likewise.
21344
213452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 Agglomerate scrolling in gfxterm.
21348
21349 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21350 (grub_virtual_screen_setup): Initialise 'total_screen'.
21351 (write_char): Split to ...
21352 (paint_char): ... this ...
21353 (write_char): ... and this.
21354 (paint_char): Handle delayed scrolling.
21355 (draw_cursor): Likewise.
21356 (scroll_up): Split to ...
21357 (real_scroll): ... this ...
21358 (scroll_up): ... and this.
21359 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21360 characters.
21361 (grub_gfxterm_refresh): Call real_scroll.
21362
213632010-02-06 Colin D Bennett <colin@gibibit.com>
21364
21365 * include/grub/misc.h (grub_iscntrl): New inline function.
21366 (grub_isalnum): Likewise.
21367 (grub_strtol): Likewise.
21368
213692010-02-06 Colin D Bennett <colin@gibibit.com>
21370
21371 * normal/menu_text.c (get_entry_number): Move from here ...
21372 * normal/menu.c (get_entry_number): ... moved here.
21373 * include/grub/menu.h (grub_menu_get_default_entry_index):
21374 New prototype.
21375 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21376 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21377 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21378 (grub_menu_viewer_should_return): Likewise.
21379 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21380 * normal/menu_text.c (run_menu): Enable menu switching.
21381 * normal/menu_viewer.c (should_return): New variable.
21382 (menu_viewer_changed): Likewise.
21383 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21384 (grub_menu_viewer_should_return): New function.
21385 (menuviewer_write_hook): Likewise.
21386 (grub_menu_viewer_init): Likewise.
21387
213882010-02-06 Colin D Bennet <colin@gibibit.com>
213892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 Support for gfxterm in a window.
21392
21393 * include/grub/gfxterm.h: New file.
21394 * include/grub/video.h (struct grub_video_rect): New declaration.
21395 (grub_video_rect_t): Likewise.
21396 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21397 (refcount): New variable.
21398 (render_target): Likewise.
21399 (window): Likewise.
21400 (repaint_callback): Likewise.
21401 (grub_virtual_screen_setup): Use 'render_target'.
21402 (init_window): New function.
21403 (grub_gfxterm_init_window): Likewise.
21404 (grub_gfxterm_init): Check reference counter.
21405 Use init_window.
21406 (destroy_window): New function.
21407 (grub_gfxterm_destroy_window): Likewise.
21408 (grub_gfxterm_fini): Check reference counter.
21409 Use destroy_window.
21410 (redraw_screen_rect): Restore viewport.
21411 Use 'render_target' and 'window'.
21412 Call 'repaint_callback'.
21413 (write_char): Use 'render_target'.
21414 (draw_cursor): Likewise.
21415 (scroll_up): Restore viewport.
21416 Use 'render_target' and 'window'.
21417 Call 'repaint_callback'.
21418 (grub_gfxterm_cls): Likewise.
21419 (grub_gfxterm_refresh): Use 'window'.
21420 (grub_gfxterm_set_repaint_callback): New function.
21421 (grub_gfxterm_background_image_cmd): Use 'window'.
21422 (grub_gfxterm_get_term): New function.
21423 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21424
214252010-02-06 Colin D Bennett <colin@gibibit.com>
21426
21427 Bitmap scaling support.
21428
21429 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21430 (bitmap_scale_mod_SOURCES): New variable.
21431 (bitmap_scale_mod_CFLAGS): Likewise.
21432 (bitmap_scale_mod_LDFLAGS): Likewise.
21433 * include/grub/bitmap_scale.h: New file.
21434 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21435 (background_image_cmd_options): New variable.
21436 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21437 (cmd): Rename and change type to ...
21438 (background_image_cmd_handle): ... this. All users updated.
21439 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21440 * video/bitmap_scale.c: New file.
21441
214422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 SDL support.
21445
21446 * Makefile.in (LIBSDL): New variable.
21447 (enable_grub_emu_sdl): Likewise.
21448 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21449 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21450 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21451 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21452 * util/sdl.c: New file.
21453
214542010-02-06 Colin D Bennett <colin@gibibit.com>
214552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 Double buffering support.
21458
21459 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21460 * include/grub/video.h: Update comment.
21461 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21462 New type.
21463 (grub_video_fb_doublebuf_blit_init): New prototype.
21464 * term/gfxterm.c (scroll_up): Support double buffering.
21465 (grub_gfxterm_refresh): Likewise.
21466 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21467 (grub_video_fb_doublebuf_blit_init): Likewise.
21468 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21469 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21470 'displayed_page', 'render_page' and 'update_screen'.
21471 (grub_video_vbe_fini): Free offscreen buffer.
21472 (doublebuf_pageflipping_commit): New function.
21473 (doublebuf_pageflipping_update_screen): Likewise.
21474 (doublebuf_pageflipping_init): Likewise.
21475 (double_buffering_init): Likewise.
21476 (grub_video_vbe_setup): Enable doublebuffering.
21477 (grub_video_vbe_swap_buffers): Implement.
21478 (grub_video_vbe_set_active_render_target): Handle double buffering.
21479 (grub_video_vbe_get_active_render_target): Likewise.
21480 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21481 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21482 (grub_video_vbe_enable_double_buffering): Likewise.
21483 (grub_video_vbe_swap_buffers): Use update_screen.
21484 (grub_video_set_mode): Use double buffering.
21485
214862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21487
21488 * maintainance/gentrigtables.py: Remove.
21489 * lib/trig.c: Likewise.
21490
21491 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21492
21493 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21494 `trigtables.c'.
21495 (trigtables.c): New rule.
21496 (gentrigtables): Likewise.
21497 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21498
214992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21500
21501 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21502 integer constants.
21503
215042010-02-06 Colin D Bennet <colin@gibibit.com>
21505
21506 Trigonometry support.
21507
21508 * include/grub/trig.h: New file.
21509 * lib/trig.c: Likewise.
21510 * maintainance/gentrigtables.py: Likewise.
21511 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21512 (trig_mod_SOURCES): New variable.
21513 (trig_mod_CFLAGS): Likewise.
21514 (trig_mod_LDFLAGS): Likewise.
21515
5562834e
VS
215162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21519 disk devices.
21520
4f8528fc
VS
215212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21524 error.
21525
2b4068e9
VS
215262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 * util/hostdisk.c (open_device): Don't use partition device when reading
21529 before the partition.
21530 (grub_util_biosdisk_read): Don't read from partition and before the
21531 partition in single operation.
21532 (grub_util_biosdisk_write): Don't write to partition and before the
21533 partition in single operation.
21534
399f6e4d
TL
215352010-02-03 Torsten Landschoff <torsten@debian.org>
21536
21537 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21538 last sectors.
21539
996649b0
VS
215402010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21543 CDROM reads.
21544 (grub_biosdisk_write): Refuse to write to CDROM.
21545
3b205d4d
VS
215462010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21549
61e89d9d
VS
215502010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21551
21552 * font/font.c (find_glyph): Check that bmp_idx is available before
21553 using it.
21554 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21555 with (font == NULL).
21556
bf7fcba2
CS
215572010-01-28 Christian Schmitt <chris@ilovelinux.de>
21558
21559 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21560
f45d2663
BC
215612010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21562
21563 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21564 * util/grub-script-check.c (getline): Fix empty lines case.
21565
ec1444e6
RM
215662010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21567
21568 * Makefile.in (check): Exit with fail status when one of the tests
21569 fails.
21570 * tests/example_functional_test.c (example_test): Fix reversed assert.
21571 * tests/example_unit_test.c (example_test): Likewise.
21572
2e1cb9bb
CW
215732010-01-28 Colin Watson <cjwatson@ubuntu.com>
21574
21575 * util/grub.d/10_linux.in: This script does not use any of the
21576 contents of gettext.sh, only the external command `gettext', so stop
21577 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21578 the same prefix as GRUB.)
21579 * util/grub.d/10_kfreebsd.in: Likewise.
21580
63533ab0
VS
215812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21584 of the line.
21585
989e1f93
VS
215862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21589 last sectors.
21590
e709ebe2
VS
215912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21594 having a 4KiB and not 32KiB buffer size.
21595
27dea7ed
RM
215962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21597
21598 * util/hostfs.c: Include `<errno.h>'.
21599 (grub_hostfs_read): Handle errors from fseeko() and fread().
21600
67667b9c
RM
216012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21602
21603 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21604 loop when using read hooks on files whose size isn't sector-aligned.
21605
c294d9d8
RM
216062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21607
21608 Remove unused parameter.
21609
21610 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21611 (grub_iso9660_open): Remove initialization of `data->length'.
21612
af75a9f1
RM
216132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21614
21615 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21616 memleak conditions.
21617
254e2ce5 216182010-01-27 Carles Pina i Estany <carles@pina.cat>
21619
21620 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21621 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21622
b510928c 216232010-01-26 Carles Pina i Estany <carles@pina.cat>
21624
21625 * util/bin2h.c (usage): Fix warning (space after backslash).
21626
aa2f9dd2 216272010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21628
21629 * font/font.c: Include `grub/fontformat.h.
21630 Remove font file format constants.
21631 (grub_font_load): Use the new macros.
21632 * include/grub/fontformat.h: New file.
21633 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21634 (write_font_pf2): Use the new macros.
21635
94e7e712
RM
216362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21637
21638 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21639 does.
21640
3973a59a
RM
216412010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21642
21643 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21644
21645 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21646 (_start): Macroify `0x7F'.
21647
21648 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21649 (make_install_device): Use "(pxe)" as fallback prefix when booting
21650 via PXE.
21651
42e0cba3
GS
216522010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * configure.ac: Reset LIBS after check for libgcc symbols.
21655
847effd8
CW
216562010-01-25 Colin Watson <cjwatson@ubuntu.com>
21657
21658 * util/hostdisk.c (open_device): Add trailing newline to debug
21659 message.
21660
ea4a7e35
GS
216612010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21662
21663 * configure.ac: Check for `limits.h'.
21664 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21665
67951a53
RM
216662010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21667
21668 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21669 capitalize error strings.
21670
c273d4ce
ST
216712010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21672
21673 * util/grub.d/10_hurd.in: Add a recovery mode.
21674
69be5b74
VS
216752010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * configure.ac: Check for libgcc symbols with -nostdlib.
21678
fc9e5810
BC
216792010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21680
21681 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21682
4b358c0a
VS
216832010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21684
21685 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21686 stack since heap may be unavailable at that point.
21687 (grub_ofconsole_gotoxy): Likewise.
21688
454fcd1c
VS
216892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * configure.ac: Check for _restgpr_14_x.
21692 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21693 and _savegpr_* prototypes.
21694
566863ca
RM
216952010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21696
21697 Use generic grub_reboot() for i386-efi.
21698
21699 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21700 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21701 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21702
bf86e59a
VS
217032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21706 presence of "prefix" variable as it breaks when normal.mod is
21707 embedded.
21708
d645e0f8
VS
217092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21712 stack since heap is unavailable at that point.
21713
f9ab2e25
VS
217142010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21717 (grub_freebsd_bootinfo): Rewritten.
21718 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21719
01fc7054
VS
217202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21721
21722 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21723
caab4fd6
RM
217242010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21725
21726 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21727 domain now.
21728
67eb1427
FZ
217292010-01-20 Felix Zielcke <fzielcke@z-51.de>
21730
21731 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21732 around for handling "/" to the correct fix. Fix a memory leak. Use
21733 xstrdup instead of strdup.
21734
a9ed4ff3
VS
217352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21738
217392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21740
21741 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21742
21743 * font/font.c (struct grub_font): New member 'bmp_idx'.
21744 (font_init): Initialise 'bmp_idx'.
21745 (load_font_index): Fill 'bmp_idx'.
21746 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21747
48209f4f
VS
217482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21751 unnecessary calls.
21752
9f0a4bb7
VS
217532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 Move context handling out of the kernel.
21756
21757 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21758 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21759 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21760 * conf/i386-efi.rmk: Likewise.
21761 * conf/i386-ieee1275.rmk: Likewise.
21762 * conf/i386-pc.rmk: Likewise.
21763 * conf/powerpc-ieee1275.rmk: Likewise.
21764 * conf/sparc64-ieee1275.rmk: Likewise.
21765 * conf/x86_64-efi.rmk: Likewise.
21766 * include/grub/env.h: Include grub/menu.h.
21767 (grub_env_var_type): Removed.
21768 (grub_env_var): Replaced field 'type' with 'global'.
21769 (grub_env_find): New prototype.
21770 (grub_env_context_open): Remove EXPORT_FUNC.
21771 (grub_env_context_close): Likewise.
21772 (grub_env_export): Likewise.
21773 (grub_env_set_data_slot): Removed.
21774 (grub_env_get_data_slot): Likewise.
21775 (grub_env_unset_data_slot): Likewise.
21776 (grub_env_unset_menu): New prototype.
21777 (grub_env_set_menu): Likewise.
21778 (grub_env_get_menu): Likewise.
21779 * include/grub/env_private.h: New file.
21780 * include/grub/normal.h (grub_context_init): New prototype.
21781 (grub_context_fini): Likewise.
21782 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21783 * normal/context.c (grub_cmd_export): ... to here.
21784 * kern/env.c: Include env_private.h.
21785 (HASHSZ): Moved to include/grub/env_private.h.
21786 (grub_env_context): Likewise.
21787 (grub_env_sorted_var): Likewise.
21788 (current_context): Renamed from this ...
21789 (grub_current_context): ...to this. 'static' removed. All users updated.
21790 (grub_env_find): Removed 'static'.
21791 (grub_env_context_open): Moved to normal/context.c.
21792 (grub_env_context_close): Likewise.
21793 (grub_env_export): Likewise.
21794 (mangle_data_slot_name): Removed.
21795 (grub_env_set_data_slot): Likewise.
21796 (grub_env_get_data_slot): Likewise.
21797 (grub_env_unset_data_slot): Likewise.
21798 * kern/main.c (grub_set_root_dev): Don't export root.
21799 It will be done later.
21800 (grub_main): Don't export prefix.
21801 It will be done later.
21802 * normal/context.c: New file.
21803 * normal/main.c (free_menu): Use grub_env_unset_menu.
21804 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21805 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21806 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21807 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21808
8dd35b8c
VS
218092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 setpci support.
21812
21813 * commands/setpci.c: New file.
21814 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21815 (setpci_mod_SOURCES): New variable.
21816 (setpci_mod_CFLAGS): Likewise.
21817 (setpci_mod_LDFLAGS): Likewise.
21818
449193d5
VS
218192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 Byte-addressable PCI configuration space.
21822
21823 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21824 dword address.
21825 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21826 GRUB_PCI_REG_CACHELINE.
21827 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21828 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21829 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21830 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21831 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21832 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21833 grub_pci_make_address.
21834 (lock_rom_area): Likewise.
21835 * commands/lspci.c (grub_lspci_iter): Use macroses
21836 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21837 of grub_pci_make_address.
21838 * disk/ata.c (grub_ata_pciinit): Likewise.
21839 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21840 (GRUB_PCI_REG_VENDOR): Likewise.
21841 (GRUB_PCI_REG_DEVICE): Likewise.
21842 (GRUB_PCI_REG_COMMAND): Likewise.
21843 (GRUB_PCI_REG_STATUS): Likewise.
21844 (GRUB_PCI_REG_REVISION): Likewise.
21845 (GRUB_PCI_REG_CLASS): Likewise.
21846 (GRUB_PCI_REG_CACHELINE): Likewise.
21847 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21848 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21849 (GRUB_PCI_REG_BIST): Likewise.
21850 (GRUB_PCI_REG_ADDRESSES): Likewise.
21851 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21852 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21853 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21854 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21855 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21856 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21857 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21858 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21859 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21860 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21861 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21862 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21863 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21864 (GRUB_PCI_REG_MIN_GNT): Likewise.
21865 (GRUB_PCI_REG_MAX_LAT): Likewise.
21866 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21867 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21868 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21869 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21870 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21871 space.
21872
96d73208
RM
218732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21874
21875 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21876 can be reliably determined to be supported.
21877
d4484482
RM
218782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21879
21880 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21881 that VESA is supported.
21882 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21883 supported.
21884
00308ecf
VS
218852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21888
f66924a4
RM
218892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * util/misc.c (make_system_path_relative_to_its_root): Work around
21892 special-casing of "/", as previous incarnation of this routine did.
21893
cbca0ada
VS
218942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 Fix any-emu compilation.
21897
21898 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21899 * grub_bin2h_SOURCES: New variable.
21900
34a66d99
RM
219012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21902
21903 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21904
94fabf58
RM
219052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21906
21907 * util/grub.d/00_header.in: Fix handling of locale_dir.
21908
02cf98ca
VS
219092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21912 as possible unifont location (Gentoo).
21913 Reported by: Alexander Brüning
21914
327dbcd7
VS
219152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 Don't try to generate lists for kernel.img.
21918
21919 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21920 (pkglib_MODULES): Remove kernel.img.
21921 (kernel_img_EXPORTS): Removed.
21922 (kernel_img_RELOCATABLE): New variable.
21923 * conf/x86_64-efi.rmk: Likewise.
21924 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21925
ca467290
VS
219262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21929 grub_xasprintf or grub_snprintf.
21930 (grub_vsprintf): Likewise.
21931 (grub_snprintf): New proto.
21932 (grub_vsnprintf): Likewise.
21933 (grub_xasprintf): Likewise.
21934 (grub_xvasprintf): Likewise.
21935 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21936 (grub_sprintf): Removed.
21937 (grub_vsnprintf): New function.
21938 (grub_snprintf): Likewise.
21939 (grub_xvasprintf): Likewise.
21940 (grub_xasprintf): Likewise.
21941 (grub_vsprintf): Renamed to ...
21942 (grub_vsnprintf_real): ...this. New argument max_len.
21943
aca655fd
BC
219442010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21945
21946 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21947 fix grub-script-check warning.
21948
7ee92c32
VS
219492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 * include/grub/font.h (grub_font_load): Fix prototype.
21952
f80927ca
VS
219532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21956
119c50ea
VS
219572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 * include/grub/x86_64/at_keyboard.h: New file.
21960
47d5f3c1
VS
219612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * loader/mips/linux.c: Include missing grub/i18n.h.
21964
55ff5266
RM
219652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21966
21967 * normal/menu.c (notify_execution_failure): Clarify error message.
21968
c893cc87
RM
219692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21970
21971 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21972 return value (and revert all return statements). Update users.
21973
917dd370
CW
219742010-01-20 Dan Merillat <debian@dan.merillat.org>
21975
21976 * kern/device.c (grub_device_iterate): Allocate new part_ent
21977 structure based on sizeof (*p) rather than sizeof (p->next), to
21978 account for structure padding.
21979
21980 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21981 disk is NULL, which might happen for LVM physical volumes with no
21982 LVM signature.
21983
d4a4ee57
RM
219842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21985
21986 * loader/mips/linux.c (grub_cmd_initrd)
21987 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21988
219892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21990
21991 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21992 (grub_video_video_init, grub_video_bitmap_init)
21993 (grub_font_manager_init, grub_term_gfxterm_init)
21994 (grub_at_keyboard_init): New extern declarations.
21995 (grub_machine_init): Initialize gfxterm and at_keyboard.
21996
21997 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21998
21999 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22000 `gfxterm.mod' into core image.
22001
22002 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22003 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22004 (kernel_img_FORMAT): Copy to ...
22005
22006 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22007 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22008 (kernel_img_FORMAT): ... here, and ...
22009
22010 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22011 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22012 (kernel_img_FORMAT): ... here.
22013
22014 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22015 and input (at_keyboard) terminals in kernel.
22016 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22017
22018 (pkglib_MODULES): Remove `pci.mod'.
22019 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22020 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22021 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22022 (at_keyboard_mod_LDFLAGS): Remove variables.
22023
220242010-01-11 Felix Zielcke <fzielcke@z-51.de>
22025
22026 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22027
220282009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 * include/grub/mips/libgcc.h: Only export symbols for functions
22031 that libgcc provides.
22032
220332009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 MIPS support.
22036
22037 * bus/bonito.c: New file.
22038 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22039 GRUB_PCI_NUM_DEVICES.
22040 * term/i386/pc/serial.c: Move to ...
22041 * term/serial.c: ... here. All users updated.
22042 * util/i386/pc/grub-mkimage.c: Move to ...
22043 * util/grub-mkrawimage.c: ... here. All users updated.
22044 * term/i386/pc/at_keyboard.c: Move to ...
22045 * term/at_keyboard.c: ... here. All users updated.
22046 * conf/mips-qemu-mips.rmk: New file.
22047 * conf/mips-yeeloong.rmk: Likewise.
22048 * conf/mips.rmk: Likewise.
22049 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22050 mipsel-qemu-mips.
22051 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22052 to port addresses.
22053 (grub_ata_pciinit): Support CS5536.
22054 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22055 * font/font_cmd.c (loadfont_command): Open file before passing it to
22056 grub_font_load.
22057 (pseudo_file_read): New function.
22058 (pseudo_file_close): Likewise.
22059 (pseudo_fs): New structure.
22060 (load_font_module): New function.
22061 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22062 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22063 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22064 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22065 * include/grub/i386/at_keyboard.h: Split into ...
22066 * include/grub/at_keyboard.h: ... this ...
22067 * include/grub/i386/at_keyboard.h: ... and this.
22068 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22069 New prototype.
22070 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22071 updated.
22072 (grub_elf64_size): Likewise.
22073 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22074 filename.
22075 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22076 * include/grub/i386/coreboot/serial.h: Rewritten.
22077 * include/grub/i386/ieee1275/serial.h: Include
22078 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22079 * include/grub/i386/pc/serial.h: Moved from here ...
22080 * include/grub/serial.h: ... to here. All users updated.
22081 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22082 (GRUB_PCI_NUM_BUS): Likewise.
22083 (GRUB_PCI_NUM_DEVICES): Likewise.
22084 (grub_pci_device_map_range): Add missing volatile keyword.
22085 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22086 * include/grub/mips/at_keyboard.h: New file.
22087 * include/grub/mips/cache.h: Likewise.
22088 * include/grub/mips/io.h: Likewise.
22089 * include/grub/mips/kernel.h: Likewise.
22090 * include/grub/mips/libgcc.h: Likewise.
22091 * include/grub/mips/pci.h: Likewise.
22092 * include/grub/mips/qemu-mips/boot.h: Likewise.
22093 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22094 * include/grub/mips/qemu-mips/loader.h: Likewise.
22095 * include/grub/mips/qemu-mips/memory.h: Likewise.
22096 * include/grub/mips/qemu-mips/serial.h: Likewise.
22097 * include/grub/mips/qemu-mips/time.h: Likewise.
22098 * include/grub/mips/relocator.h: Likewise.
22099 * include/grub/mips/time.h: Likewise.
22100 * include/grub/mips/types.h: Likewise.
22101 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22102 * include/grub/mips/yeeloong/boot.h: Likewise.
22103 * include/grub/mips/yeeloong/kernel.h: Likewise.
22104 * include/grub/mips/yeeloong/loader.h: Likewise.
22105 * include/grub/mips/yeeloong/memory.h: Likewise.
22106 * include/grub/mips/yeeloong/pci.h: Likewise.
22107 * include/grub/mips/yeeloong/serial.h: Likewise.
22108 * include/grub/mips/yeeloong/time.h: Likewise.
22109 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22110 * kern/elf.c (grub_elf32_size): New parameter. All users
22111 updated.
22112 (grub_elf64_size): Likewise.
22113 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22114 Load modules before saying "Welcome to GRUB!".
22115 Call grub_refresh after saying "Welcome to GRUB!".
22116 * kern/mips/cache.S: New file.
22117 * kern/mips/cache_flush.S: Likewise.
22118 * kern/mips/dl.c: Likewise.
22119 * kern/mips/init.c: Likewise.
22120 * kern/mips/qemu-mips/init.c: Likewise.
22121 * kern/mips/startup.S: Likewise.
22122 * kern/mips/yeeloong/init.c: Likewise.
22123 * kern/term.c (grub_putcode): Handle NULL terminal.
22124 (grub_getcharwidth): Likewise.
22125 (grub_getkey): Likewise.
22126 (grub_checkkey): Likewise.
22127 (grub_getkeystatus): Likewise.
22128 (grub_getxy): Likewise.
22129 (grub_getwh): Likewise.
22130 (grub_gotoxy): Likewise.
22131 (grub_cls): Likewise.
22132 (grub_setcolorstate): Likewise.
22133 (grub_setcolor): Likewise.
22134 (grub_getcolor): Likewise.
22135 (grub_refresh): Likewise.
22136 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22137 (write_jump): Add hatch nop.
22138 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22139 * lib/mips/setjmp.S: New file.
22140 * loader/mips/linux.c: Likewise.
22141 * term/i386/pc/at_keyboard.c: Move from here ...
22142 * term/at_keyboard.c: ... to here.
22143 * term/i386/pc/serial.c: Moved from here ...
22144 * term/serial.c: ... to here. All users updated.
22145 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22146 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22147 (serial_translate_key_sequence): Avoid deadlock.
22148 (grub_serial_getkey): Handle backspace.
22149 (grub_serial_putchar): Fix newline handling.
22150 * util/i386/pc/grub-mkimage.c: Move from here ...
22151 * util/grub-mkrawimage.c: ... to here. All users updated.
22152 (generate_image): New parameters 'font_path' and 'format'.
22153 Support embedding font.
22154 Use grub_host_to_target* instead of grub_cpu_to_le*.
22155 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22156 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22157 (options): New option "--font".
22158 (usage): Likewise.
22159 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22160 (main): Handle "--font".
22161 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22162 (grub_virtual_screen_setup): Set bg_color_display.
22163 (redraw_screen_rect): Use bg_color_display instead of incorrect
22164 bg_color.
22165 (grub_gfxterm_cls): Likewise.
22166 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22167 Support embedding config file.
22168 (add_segments): Likewise.
22169 (options): New option "--config".
22170 (main): Handle "--config".
22171 * video/sm712.c: New file.
22172
25c2b5b3
RM
221732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22174
22175 Fix parallel builds.
22176
22177 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22178 font.c depend on ascii.h).
22179
221802010-01-12 Carles Pina i Estany <carles@pina.cat>
22181
22182 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22183
221842010-01-11 Carles Pina i Estany <carles@pina.cat>
22185
22186 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22187 By default: disabled.
22188 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22189 parameter.
22190
221912010-01-10 Carles Pina i Estany <carles@pina.cat>
22192
22193 * font/font.c: Update copyright years.
22194 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22195
221962010-01-10 Carles Pina i Estany <carles@pina.cat>
22197
22198 * font/font.c: Include `ascii.h'.
22199 (ASCII_BITMAP_SIZE): New macro.
22200 (ascii_font_glyph): Define.
22201 (ascii_glyph_lookup): New function.
22202 (grub_font_get_string_width): Change comment. If glyph not found, use
22203 ascii_glyph_lookup.
22204 (grub_font_get_glyph_with_fallback): If glyph not available returns
22205 ascii_glyph_lookup.
22206 * util/grub-mkfont.c (file_formats): New enum.
22207 (options): Add `ascii-bitmaps' new option.
22208 (usage): Add `asii-bitmaps' new option.
22209 (write_font_ascii_bitmap): New function.
22210 (write_font): Rename to ...
22211 (write_font_p2): ... this. Remove print_glyphs call.
22212 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22213 used. Call print_glyphs.
22214 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22215
222162010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22217
22218 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22219 (grub_bin2h_SOURCES): New variable.
22220 * util/bin2h.c: New file.
22221
915fc1b8
VS
222222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 * include/multiboot.h: Resynced with spec.
22225 * include/multiboot2.h: Likewise.
22226 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22227 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22228
9444b678
RM
222292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22230
22231 * include/grub/term.h (grub_term_register_input,
22232 grub_term_register_output): Check return of terminal init()
22233 routines, and abort if errors are raised.
22234
22235 * commands/terminal.c: Update copyright year.
22236
cba98e8d
RM
222372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22238
22239 * commands/terminal.c (grub_cmd_terminal_input)
22240 (grub_cmd_terminal_output): Check return of terminal init()
22241 routines, and abort if errors are raised.
22242
6f7db5d6
VS
222432010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22244
22245 * include/grub/i386/bsd.h: Fix include pathes.
22246
262bff8d
VS
222472010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 Add missing *BSD copyright headers.
22250
22251 * include/grub/aout.h: Add BSD licence.
22252 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22253 * include/grub/i386/freebsd_linker.h: ... here,
22254 * include/grub/i386/freebsd_reboot.h: ... here,
22255 * include/grub/i386/netbsd_bootinfo.h: ... here,
22256 * include/grub/i386/netbsd_reboot.h: ... here,
22257 * include/grub/i386/openbsd_bootarg.h: ... here,
22258 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22259 licence to each file.
22260
b2cab848
RM
222612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22262
22263 * acinclude.m4: Remove `nop' assembly instruction; it's not
22264 implemented by all architectures.
22265
2cb6be4b
RM
222662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22267
22268 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22269 ELILO. This is no longer necessary.
22270
a2eaee15
BC
222712010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22272
22273 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22274
22275 * util/grub-script-check.c: grub-script-check tool.
22276 * conf/common.rmk: Make rules for grub-script-check.
22277
88d17012
RM
222782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22279
22280 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22281 spotting it back in 2008. Shame on me for forgetting he did.
22282
22283 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22284
8040619d
RM
222852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22286
22287 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22288 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22289 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22290 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22291 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22292 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22293
a0c2a0f6
RM
222942010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22295
22296 * include/grub/test.h: Add license header.
22297 * tests/example_functional_test.c: Likewise.
22298 * tests/example_unit_test.c: Likewise.
22299 * tests/lib/functional_test.c: Likewise.
22300 * tests/lib/test.c: Likewise.
22301 * tests/lib/unit_test.c: Likewise.
22302
b0b13907
VS
223032010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 Use flag-based instead of hook-based video mode selection and "auto"
22306 keyword.
22307
22308 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22309 (grub_video_set_mode): Changed prototype. All users updated.
22310 (grub_video_check_mode_flag): New inline function.
22311 * video/video.c (parse_modespec): New function.
22312 (grub_video_set_mode): Parse flags and keywords.
22313
ea379330 223142010-01-17 Carles Pina i Estany <carles@pina.cat>
22315
22316 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22317 fprintf call.
22318
e15c215e
FZ
223192010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22320
22321 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22322
409ae1c9 223232010-01-16 Carles Pina i Estany <carles@pina.cat>
22324
22325 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22326 string.
22327 * util/grub-emu.c (usage): Likewise.
22328 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22329 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22330 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22331 * util/i386/pc/grub-setup.c (usage): Likewise.
22332
70a14d3d 223332010-01-16 Carles Pina i Estany <carles@pina.cat>
22334
22335 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22336 the message.
22337 (grub_util_info): Likewise.
22338 (grub_util_error): Likewise.
22339 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22340 and/or new lines in `grub_util_warna', `grub_util_info',
22341 `grub_util_error' calls.
22342 * util/getroot.c: Likewise.
22343 * util/grub-editenv.c: Likewise.
22344 * util/grub-emu.c: Likewise.
22345 * util/grub-fstest.c: Likewise.
22346 * util/grub-mkdevicemap.c: Likewise.
22347 * util/grub-mkfont.c: Likewise.
22348 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22349 * util/grub-mkrelpath.c: Likewise.
22350 * util/grub-pe2elf.c: Likewise.
22351 * util/grub-probe.c: Likewise.
22352 * util/hostdisk.c: Likewise.
22353 * util/i386/efi/grub-mkimage.c: Likewise.
22354 * util/i386/pc/grub-mkimage.c: Likewise.
22355 * util/i386/pc/grub-setup.c: Likewise.
22356 * util/ieee1275/ofpath.c: Likewise.
22357 * util/mkisofs/eltorito.c: Likewise.
22358 * util/mkisofs/rock.c: Likewise.
22359 * util/mkisofs/write.c: Likewise.
22360 * util/raid.c: Likewise.
22361 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22362 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22363
a0b766fc
VS
223642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 Enable multiboot on non-pc.
22367
22368 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22369 multiboot.mod and multiboot2.mod to ...
22370 * conf/i386.rmk (pkglib_MODULES): ... here.
22371 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22372 Moved to ...
22373 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22374 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22375 Moved to ...
22376 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22377 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22378 Moved to ...
22379 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22380 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22381 Moved to ...
22382 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22383 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22384 relocator.mod.
22385 (ata_mod_SOURCES): Removed.
22386 (ata_mod_CFLAGS): Likewise.
22387 (ata_mod_LDFLAGS): Likewise.
22388 (relocator_mod_SOURCES): Removed.
22389 (relocator_mod_CFLAGS): Likewise.
22390 (relocator_mod_ASFLAGS): Likewise.
22391 (relocator_mod_LDFLAGS): Likewise.
22392 Include i386.mk.
22393 * include/grub/x86_64/multiboot.h: New file.
22394 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22395 Terminate EFI.
22396
884ade56
VS
223972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 Video multiboot support.
22400
22401 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22402 New prototype.
22403 * include/multiboot.h: Resynced with multiboot specification.
22404 * include/multiboot2.h: Likewise.
22405 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22406 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22407 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22408 (HAS_VGA_TEXT): Likewise.
22409 (accepts_video): New variable.
22410 (grub_multiboot_set_accepts_video): New function.
22411 (grub_multiboot_get_mbi_size): Account for video structures.
22412 (set_video_mode): New function.
22413 (retrieve_video_parameters): Likewise.
22414 (grub_multiboot_make_mbi): Fill video fields.
22415
0d90e8a6
VS
224162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 Video driver ids.
22419
22420 * include/grub/video.h (grub_video_driver_id): New type.
22421 (grub_video_adapter): New member 'id'. All users updated.
22422 (grub_video_get_driver_id): New proto.
22423 * video/video.c (grub_video_get_driver_id): New function.
22424
5c71db1b 224252010-01-14 Carles Pina i Estany <carles@pina.cat>
22426
22427 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22428 `var=val'.
22429
cca15b52 224302010-01-14 Carles Pina i Estany <carles@pina.cat>
22431
22432 * normal/cmdline.c (print_completion): Gettextizze.
22433
c586fbb2 224342001-01-14 Carles Pina i Estany <carles@pina.cat>
22435
22436 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22437
ba2f6848 224382010-01-14 Carles Pina i Estany <carles@pina.cat>
22439
22440 * gettext/gettext.c (grub_gettext_translate): Push and pop
22441 grub_errno.
22442 (grub_gettext_delete_list): Change comment style.
22443 * kern/err.c (grub_error): Gettextizze.
22444 (grub_fatal): Gettextizze.
22445
0a46429a
RM
224462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22447
22448 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22449 (grub_linux16_real_boot): ... this.
22450 * kern/i386/loader.S: Likewise.
22451 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22452 (grub_linux16_boot): New function. Switches to text mode and calls
22453 grub_linux16_real_boot().
22454
22455 * loader/i386/bsd.c: Include `<grub/video.h>'.
22456 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22457 text mode before calling grub_unix_real_boot().
22458
22459 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22460 (grub_multiboot_boot): Switch to text mode before calling
22461 grub_relocator32_boot().
22462
22463 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22464 (grub_chainloader_boot): Switch to text mode before calling
22465 grub_chainloader_real_boot().
22466
d6f93a66
RM
224672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
224682010-01-05 Colin Watson <cjwatson@ubuntu.com>
22469
22470 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22471 non-empty value.
22472
224732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
224742010-01-05 Colin Watson <cjwatson@ubuntu.com>
22475
22476 * util/grub.d/00_header.in: Define a "savedefault" function for use
22477 in menu entries.
22478 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22479
224802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
224812010-01-05 Colin Watson <cjwatson@ubuntu.com>
22482
22483 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22484 saved_entry if boot_once is unset.
22485 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22486 previous saved entry (i.e. grub-reboot).
22487
224882009-12-08 Colin Watson <cjwatson@ubuntu.com>
22489
22490 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22491
224922009-12-08 Colin Watson <cjwatson@ubuntu.com>
22493
22494 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22495 `var=val'.
22496 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22497
224982009-12-08 Colin Watson <cjwatson@ubuntu.com>
22499
22500 * util/grub-reboot.in: Fix --version output.
22501 * util/grub-set-default.in: Likewise.
22502
225032009-12-08 Colin Watson <cjwatson@ubuntu.com>
22504
22505 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22506 blocks.
22507
225082009-12-08 Colin Watson <cjwatson@ubuntu.com>
22509
22510 * util/grub.d/00_header.in: Quote the value assigned to `default',
22511 in case it contains spaces.
22512
225132009-12-08 Colin Watson <cjwatson@ubuntu.com>
22514
22515 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22516 `save_default_entry' call from the macosx case to the linux case.
22517
225182009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
225192009-10-25 Colin Watson <cjwatson@ubuntu.com>
22520
22521 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22522 in `chosen' environment variable.
22523 * normal/menu_text.c (get_entry_number): Check if the variable
22524 matches the title of a menu entry.
22525 (run_menu): Pass menu to get_entry_number.
22526
22527 * util/grub-reboot.in: New file.
22528 * util/grub-set-default.in: New file.
22529 * conf/common.rmk (grub-reboot): New utility.
22530 (grub-set-default): New utility.
22531
22532 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22533 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22534 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22535 move it to `saved_entry' for the next boot. Load environment on
22536 initialisation.
22537 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22538 * util/grub.d/10_hurd.in: Likewise.
22539 * util/grub.d/10_linux.in (linux_entry): Likewise.
22540 * util/grub.d/10_windows.in: Likewise.
22541 * util/grub.d/30_os-prober.in: Likewise.
22542
22543 * util/grub-install.in: Create environment block.
22544 * util/i386/efi/grub-install.in: Likewise.
22545 * util/ieee1275/grub-install.in: Likewise.
22546 * util/sparc64/ieee1275/grub-install.in: Likewise.
22547
0934d184
BC
225482010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22549
22550 Unit testing framework for GRUB.
22551
22552 * Makefile.in: Test framework build rules for 'make check'.
22553 * conf/tests.rmk: Build rules for individual tests and framework.
22554
22555 * include/grub/test.h: Header file for whitebox tests.
22556 * tests/lib/functional_test.c: Framework support for whitebox
22557 functional tests.
22558 * tests/lib/test.c: Common whitebox testing code for unit and
22559 functional tests.
22560 * tests/lib/unit_test.c: Framework support for whitebox unit
22561 tests.
22562
22563 * tests/util/grub-shell-tester.in: Support utility for grub-script
22564 tests.
22565 * tests/util/grub-shell.in: Utility to execute grub-script
22566 commands in a Qemu instance.
22567
22568 * tests/example_functional_test.c: Example whitebox functional
22569 test.
22570 * tests/example_grub_script_test.in: Example grub-script test.
22571 * tests/example_scripted_test.in: Example scripted test.
22572 * tests/example_unit_test.c: Example whitebox unit test.
22573
9c4ffeeb
VS
225742010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22575
22576 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22577 Add loader/i386/multiboot_mbi.c.
22578 (multiboot2_mod_SOURCES): Likewise.
22579 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22580 (multiboot2_mod_SOURCES): Likewise.
22581 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22582 (grub_multiboot_make_mbi): Likewise.
22583 (grub_multiboot_free_mbi): Likewise.
22584 (grub_multiboot_init_mbi): Likewise.
22585 (grub_multiboot_add_module): Likewise.
22586 (grub_multiboot_set_bootdev): Likewise.
22587 * loader/i386/multiboot.c (mbi): Removed.
22588 (mbi_dest): Likewise.
22589 (alloc_mbi): New variable.
22590 (grub_multiboot_payload_size): Removed. All users updated.
22591 (grub_multiboot_pure_size): New variable.
22592 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22593 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22594 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22595 (grub_fill_multiboot_mmap): Likewise.
22596 (grub_multiboot_get_bootdev): Likewise.
22597 (grub_multiboot): Use multiboot_mbi functions.
22598 * loader/i386/multiboot_mbi.c: New file.
22599
17383dfe
VS
226002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22603 it would result in module crash.
22604
c1f28820
VS
226052010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22608 (grub_ofconsole_getwh): Split to ...
22609 (grub_ofconsole_getwh): ... this.
22610 (grub_ofconsole_dimensions): ...and this.
22611 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22612
58655a16
RM
226132010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22614
22615 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22616
10891398
VS
226172010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * loader/i386/pc/multiboot2.c: Removed stalled file.
22620
0b8a223c
VS
226212010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22624 Reported by: Grégoire Sutre
22625
92ab12b0
RM
226262010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22627
22628 * util/misc.c (canonicalize_file_name): New function.
22629 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22630 instead of realpath().
22631
a788afb6
CW
226322010-01-11 Colin Watson <cjwatson@ubuntu.com>
22633
22634 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22635 and make it clearer that it's optional. Based on confusion
22636 witnessed on IRC.
22637
ffa8e3d2
VS
226382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22641 in premature implicit newline.
22642
e9060a9d
VS
226432010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22646 which resulted in garbled command line at the end of screen.
22647
f0d0c0b7
RM
226482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22649
22650 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22651 initialization with similar approach as with other Linux loaders.
22652
0e60bae7
RM
226532010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22654
22655 Fix i386-ieee1275 build.
22656
22657 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22658 and grub_term_height() for video_{width,height} initialization.
22659
226602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22661
22662 Fix grub-emu build.
22663
22664 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22665
cdb3f378
RM
226662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
226672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22668
22669 Support for multiple terminals.
22670
22671 * Makefile.in (pkglib_DATA): terminal.lst.
22672 (terminal.lst): New target.
22673 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22674 (GRUB_MOD_INIT(handler)): Likewise.
22675 (GRUB_MOD_FINI(handler)): Likewise.
22676 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22677 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22678 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22679 (grub_cmd_sleep): Use grub_term_save_pos.
22680 * commands/terminal.c: New file.
22681 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22682 commands/terminal.c and lib/charset.c.
22683 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22684 (pkglib_MODULES): Add terminal.mod.
22685 (terminal_mod_SOURCES): New variable.
22686 (terminal_mod_CFLAGS): Likewise.
22687 (terminal_mod_LDFLAGS): Likewise.
22688 * genhandlerlist.sh: Don't handle terminals.
22689 * genmk.rb: Generate terminal-*.lst.
22690 * genterminallist.sh: New file.
22691 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22692 (grub_is_valid_utf8): Likewise.
22693 (grub_utf8_to_ucs4_alloc): Likewise.
22694 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22695 (grub_menu_register_viewer): Changed argument.
22696 (grub_menu_try_text): New proto.
22697 (grub_gfxmenu_try_hook): New declaration.
22698 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22699 (grub_menu_init_page): Additional argument term.
22700 (grub_normal_init_page): Likewise.
22701 (grub_cmdline_get): Arguments simplified.
22702 (grub_utf8_to_ucs4_alloc): Removed.
22703 (grub_print_ucs4): Additional argument term.
22704 (grub_getstringwidth): Likewise.
22705 (grub_print_message_indented): Likewise.
22706 (grub_menu_text_register_instances): New proto.
22707 (grub_show_menu): Likewise.
22708 (read_terminal_list): Likewise.
22709 (grub_set_more): Likewise.
22710 * include/grub/parser.h: Include handler.h.
22711 * include/grub/reader.h: Rewritten.
22712 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22713 (GRUB_TERM_WIDTH): Changed to function.
22714 (GRUB_TERM_HEIGHT): Likewise.
22715 (GRUB_TERM_BORDER_WIDTH): Likewise.
22716 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22717 (GRUB_TERM_NUM_ENTRIES): Likewise.
22718 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22719 (GRUB_TERM_CURSOR_X): Likewise.
22720 (grub_term_input_class): Likewise.
22721 (grub_term_output_class): Likewise.
22722 (grub_term_outputs_disabled): New declaration.
22723 (grub_term_inputs_disabled): Likewise.
22724 (grub_term_outputs): Likewise.
22725 (grub_term_inputs): Likewise.
22726 (grub_term_register_input): Rewritten.
22727 (grub_term_register_output): Likewise.
22728 (grub_term_unregister_input): Likewise.
22729 (grub_term_unregister_output): Likewise.
22730 (FOR_ACTIVE_TERM_INPUTS): New macro.
22731 (FOR_DISABLED_TERM_INPUTS): Likewise.
22732 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22733 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22734 * include/grub/terminfo.h: Add oterm argument to all protypes.
22735 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22736 Use grub_rescue_run.
22737 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22738 All users updated.
22739 * kern/reader.c: Removed. All users updated.
22740 * kern/rescue_reader.c (grub_rescue_init): Removed.
22741 (grub_rescue_reader): Likewise.
22742 (grub_register_rescue_reader): Likewise.
22743 (grub_rescue_run): New function based on kern/reader.c.
22744 * kern/term.c: Adapted for multiterm.
22745 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22746 (grub_is_valid_utf8): Likewise.
22747 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22748 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22749 right terminal.
22750 * loader/i386/linux.c (grub_linux_boot): Likewise.
22751 * normal/auth.c (grub_username_get): New function.
22752 (grub_auth_check_authentication): Use grub_username_get.
22753 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22754 * normal/color.c: Adapt for multiterm.
22755 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22756 (grub_normal_init_page): Additional argument term.
22757 (read_lists): Call read_terminal_lists.
22758 (grub_enter_normal_mode): Call grub_cmdline_run.
22759 Handle grub_normal_exit_level.
22760 (grub_cmd_normal): Make reentrant.
22761 (grub_cmd_normal_exit): New function.
22762 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22763 * normal/menu.c: Adapt for multiterm.
22764 * normal/menu_entry.c: Likewise.
22765 * normal/menu_text.c: Likewise.
22766 * normal/menu_viewer.c: Removed. All users updated.
22767 * normal/term.c: New file.
22768 * util/console.c: Change order of includes to workaround a bug in
22769 ncurses headers.
22770 * term/terminfo.c: New argument oterm on all exported functions.
22771 All users updated.
22772 * util/grub-editenv.c (grub_term_input_class): Removed.
22773 (grub_term_output_class): Likewise.
22774
1a064917
RM
227752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22776
22777 Make loader output a bit more user-friendly.
22778
22779 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22780 is being loaded. Likewise for the Hurd.
22781
22782 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22783 that kernel of FreeBSD ${version} is being loaded.
22784
22785 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22786 grub_dprintf().
22787 (grub_cmd_initrd): Likewise.
22788 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22789 that Linux ${version} is being loaded. Likewise for initrd.
22790
5ce0a83a 227912010-01-09 Carles Pina i Estany <carles@pina.cat>
22792
22793 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22794
809bbfeb 227952010-01-08 Carles Pina i Estany <carles@pina.cat>
22796
22797 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22798 (GRUB_MOD_INIT): Gettextizze.
22799 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22800 (GRUB_MOD_INIT): Gettextizze.
22801 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22802 (grub_cmd_linux): Capitalise Linux.
22803 (GRUB_MOD_INIT): Gettextizze.
22804 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22805 (grub_cmd_linux): Capitalise Linux.
22806 (GRUB_MOD_INIT): Gettextizze.
22807 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22808 (grub_cmd_linux): Capitalise Linux.
22809 (GRUB_MOD_INIT): Gettextizze.
22810 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22811 (GRUB_MOD_INIT): Gettextizze.
22812 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22813 (grub_cmd_linux): Capitalise Linux.
22814 (GRUB_MOD_INIT): Gettextizze.
22815 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22816 (grub_cpu_xnu_init): Gettextizze.
22817 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22818 (GRUB_MOD_INIT): Gettextizze.
22819 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22820 (GRUB_MOD_INIT): Gettextizze.
22821 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22822 (grub_linux_load64): Capitalise Linux.
22823 (GRUB_MOD_INIT): Gettextizze.
22824 * loader/xnu.c: Include `<grub/i18n.h>'.
22825 (GRUB_MOD_INIT): Gettextizze.
22826 * po/POTFILES: Add `loader/efi/appleloader.c',
22827 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22828 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22829 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22830 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22831 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22832 and `loader/xnu.c'.
22833
b394b2ca
RM
228342010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22837
228382010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22839
22840 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22841 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22842 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22843
bc8b32b3
RM
228442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22845
22846 Reset Multiboot 2 support. New loader implements the draft in
22847 /branches/multiboot2 and shares as much code as possible with the
22848 production Multiboot 1 implementation.
22849
22850 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22851 * loader/multiboot2.c: Likewise.
22852 * loader/i386/multiboot_helper.S: Likewise.
22853 * include/multiboot2.h: Replace with latest version from the draft
22854 in /branches/multiboot2.
22855
22856 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22857 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22858 and `loader/multiboot2.c'.
22859 (pkglib_MODULES): Add `multiboot2.mod'.
22860 (multiboot2_mod_SOURCES): New variable.
22861 (multiboot2_mod_LDFLAGS): Likewise.
22862 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22863
22864 * conf/i386-pc.rmk: Likewise.
22865
22866 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22867 (multiboot_mod_SOURCES): Remove variable.
22868 (multiboot_mod_LDFLAGS): Likewise.
22869 (multiboot_mod_CFLAGS): Likewise.
22870
22871 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22872 `<multiboot2.h>' instead of `<multiboot.h>'.
22873 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22874 (MULTIBOOT_HEADER_MAGIC): New macros.
22875
22876 * loader/multiboot_loader.c (module_version_status): Remove variable.
22877 (find_multi_boot2_header): Remove function.
22878 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22879 logic. Always check for the Multiboot version we're compiling for.
22880 (grub_cmd_module_loader): Likewise.
22881 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22882 command instead of `multiboot'.
22883
5d2c52b8
RM
228842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22885
22886 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22887 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22888 all users.
22889
53108d92
RM
228902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
228912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22892
22893 Fix breakage introduced with previous commit.
22894
22895 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22896 commands.
22897 * normal/handler.c (read_handler_list): Revert part of previous commit
22898 affecting this file.
22899 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22900 (grub_normal_execute): ... here.
22901
e2e936b2
RM
229022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22903
22904 Merge prefix-redefinition-fix branch.
22905
22906 * normal/autofs.c (read_fs_list): Make function capable of being
22907 run multiple times, gracefuly replacing the previous data
22908 structures.
22909 * normal/dyncmd.c (read_command_list): Likewise.
22910 * normal/handler.c (read_handler_list): Likewise.
22911 * normal/main.c (read_lists): New function. Calls all the
22912 list reading functions.
22913 (grub_normal_execute): Use read_lists() instead of calling all
22914 list reading functions explicitly. Register read_lists() as a
22915 variable hook attached to ${prefix}.
22916
607a3701
VS
229172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 Merge crypto branch.
22920
22921 * Makefile.in (pkglib_DATA): Add crypto.lst.
22922 (crypto.lst): New target.
22923 * commands/hashsum.c: New file.
22924 * commands/password.c (check_password): Use grub_crypto_memcmp.
22925 * commands/password_pbkdf2.c: New file.
22926 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22927 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22928 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22929 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22930 -I$(srcdir)/lib/libgcrypt_wrap.
22931 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22932 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22933 password_pbkdf2.mod.
22934 (crypto_mod_SOURCES): New variable.
22935 (crypto_mod_CFLAGS): Likewise.
22936 (crypto_mod_LDFLAGS): Likewise.
22937 (hashsum_mod_SOURCES): New variable.
22938 (hashsum_mod_CFLAGS): Likewise.
22939 (hashsum_mod_LDFLAGS): Likewise.
22940 (pbkdf2_mod_SOURCES): New variable.
22941 (pbkdf2_mod_CFLAGS): Likewise.
22942 (pbkdf2_mod_LDFLAGS): Likewise.
22943 (password_pbkdf2_mod_SOURCES): New variable.
22944 (password_pbkdf2_mod_CFLAGS): Likewise.
22945 (password_pbkdf2_mod_LDFLAGS): Likewise.
22946 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22947 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22948 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22949 Include conf/gcry.rmk.
22950 * include/grub/auth.h: Rewritten.
22951 * include/grub/crypto.h: New file.
22952 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22953 * include/grub/normal.h (read_crypto_list): New prototype.
22954 * lib/crypto.c: New file.
22955 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22956 * lib/pbkdf2.c: Likewise.
22957 * normal/auth.c (grub_auth_strcmp): Removed.
22958 (grub_iswordseparator): Likewise.
22959 (grub_auth_strword): Likewise.
22960 (is_authenticated): Use grub_strword.
22961 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22962 and grub_strword. Pass entered password to authentication callback.
22963 * normal/crypto.c: New file.
22964 * normal/main.c: Call read_crypto_list.
22965 * util/grub-mkpasswd-pbkdf2.c: New file.
22966 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22967
42841caa
VS
229682010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 Fix descent and ascent calculation.
22971
22972 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22973 (options): New option "asce".
22974 (usage): Likewise.
22975 (add_char): Ignore invalid glyphs for descent calculation.
22976 Calculate ascent from actual content.
22977 (print_glyphs): Use 'asce'.
22978 (write_font): Likewise. Allow ascent override.
22979 (main): Handle "asce" option.
22980
e7730de7 229812010-01-06 Carles Pina i Estany <carles@pina.cat>
22982
22983 * kern/err.c: Include `<grub/i18n.h>'.
22984 (grub_print_error): Add full stop. Gettextizze.
22985 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22986 (grub_bsd_load_elf): Capitalise ELF.
22987 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22988 (grub_cmd_freebsd_module): Likewise.
22989 (grub_cmd_freebsd_module_elf): Likewise.
22990 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22991
40e3a41f 229922010-01-06 Carles Pina i Estany <carles@pina.cat>
22993
22994 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22995 * commands/search_file.c (HELP_MESSAGE): New macro.
22996 * commands/search_label.c (HELP_MESSAGE): Likewise.
22997 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22998 * po/POTFILES: Add `commands/search_file.c',
22999 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23000 `commands/search.c'.
23001
83507e68
RM
230022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23003
23004 * config.rpath: Update from Gnulib.
23005
465c787b
YB
230062010-01-05 Yves Blusseau <blusseau@zetam.org>
23007
23008 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23009
6581dd3a
YB
230102010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23011
23012 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23013
3bff18c5
CW
230142010-01-05 Colin Watson <cjwatson@ubuntu.com>
23015
23016 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23017 arguments to fread so that we get a return value in bytes, rather
23018 than something that will normally be rounded down to 0.
23019 Adjust error handling to avoid producing garbage when size_t is not
23020 the same size as long long.
23021
a1368118
CW
230222010-01-05 Colin Watson <cjwatson@ubuntu.com>
23023
23024 * util/mkisofs/write.c (padblock_write): Check return value of
23025 fread.
23026
7c302978
RM
230272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23028
23029 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23030 floppy images now.
23031
23032 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23033
e33ace06
RM
230342010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23035
23036 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23037 instead of manual alignment.
23038 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23039 verbose). Avoid attempts to read past end of the device
23040 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23041 but GRUB_DISK_CACHE_SIZE may exceed that).
23042
4b856776
RM
230432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23044
23045 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23046 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23047 it to upper layer.
23048
52c2d97f
VS
230492010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23052 New constant.
23053 (grub_efi_piwg_device_path): New structure
23054 (grub_efi_piwg_device_path_t): New type.
23055 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23056 (devpath_1): Transform to a structure. All users updated.
23057 (devpath_2): Likewise.
23058 (devpath_3): Likewise.
23059 (devpath_4): Likewise.
23060 (devpath_5): Likewise.
23061
98ff6a54
VS
230622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23063
23064 * loader/efi/appleloader.c: Restored. Update all users.
23065
3a73dcb6
RM
230662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23067
23068 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23069
23070 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23071 (struct boot_blocklist): Move from here ...
23072 * include/grub/i386/pc/boot.h [ASM_FILE]
23073 (struct grub_boot_blocklist): ... to here. Update all users.
23074 (setup): Only initialize `start' member of `first_block'
23075 structure. Add assert() calls to verify the other members.
23076
23077 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23078 (generate_image): Fix broken blocklist length initialization.
23079 Add assert() call to verify blocklist `segment' field.
23080
ab0eeb0c
RM
230812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23082
23083 * loader/efi/appleloader.c: Remove. Update all users.
23084
58bc8bd5
RM
230852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23086
23087 * boot/i386/pc/boot.S: Update copyright year.
23088 * boot/i386/pc/cdboot.S: Likewise.
23089 * boot/i386/pc/diskboot.S: Likewise.
23090 * boot/i386/pc/lnxboot.S: Likewise.
23091 * boot/i386/pc/pxeboot.S: Likewise.
23092 * bus/pci.c: Likewise.
23093 * commands/cmp.c: Likewise.
23094 * commands/help.c: Likewise.
23095 * commands/hexdump.c: Likewise.
23096 * commands/i386/pc/halt.c: Likewise.
23097 * commands/i386/pc/play.c: Likewise.
23098 * commands/i386/pc/vbeinfo.c: Likewise.
23099 * commands/ls.c: Likewise.
23100 * commands/test.c: Likewise.
23101 * disk/dmraid_nvidia.c: Likewise.
23102 * disk/i386/pc/biosdisk.c: Likewise.
23103 * disk/ieee1275/nand.c: Likewise.
23104 * disk/ieee1275/ofdisk.c: Likewise.
23105 * disk/lvm.c: Likewise.
23106 * disk/raid.c: Likewise.
23107 * disk/raid6_recover.c: Likewise.
23108 * disk/scsi.c: Likewise.
23109 * fs/affs.c: Likewise.
23110 * fs/cpio.c: Likewise.
23111 * fs/ext2.c: Likewise.
23112 * fs/hfs.c: Likewise.
23113 * fs/iso9660.c: Likewise.
23114 * fs/ntfs.c: Likewise.
23115 * fs/sfs.c: Likewise.
23116 * fs/udf.c: Likewise.
23117 * fs/ufs.c: Likewise.
23118 * fs/xfs.c: Likewise.
23119 * gencmdlist.sh: Likewise.
23120 * genmk.rb: Likewise.
23121 * include/grub/disk.h: Likewise.
23122 * include/grub/efi/api.h: Likewise.
23123 * include/grub/efi/efi.h: Likewise.
23124 * include/grub/efi/pe32.h: Likewise.
23125 * include/grub/elf.h: Likewise.
23126 * include/grub/fs.h: Likewise.
23127 * include/grub/i386/at_keyboard.h: Likewise.
23128 * include/grub/i386/pc/memory.h: Likewise.
23129 * include/grub/i386/pc/vbe.h: Likewise.
23130 * include/grub/i386/pci.h: Likewise.
23131 * include/grub/i386/tsc.h: Likewise.
23132 * include/grub/ieee1275/ieee1275.h: Likewise.
23133 * include/grub/ntfs.h: Likewise.
23134 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23135 * include/grub/sparc64/libgcc.h: Likewise.
23136 * include/grub/symbol.h: Likewise.
23137 * include/grub/types.h: Likewise.
23138 * include/multiboot2.h: Likewise.
23139 * io/gzio.c: Likewise.
23140 * kern/device.c: Likewise.
23141 * kern/disk.c: Likewise.
23142 * kern/efi/efi.c: Likewise.
23143 * kern/efi/mm.c: Likewise.
23144 * kern/elf.c: Likewise.
23145 * kern/file.c: Likewise.
23146 * kern/i386/dl.c: Likewise.
23147 * kern/i386/pc/init.c: Likewise.
23148 * kern/i386/pc/startup.S: Likewise.
23149 * kern/ieee1275/ieee1275.c: Likewise.
23150 * kern/ieee1275/init.c: Likewise.
23151 * kern/main.c: Likewise.
23152 * kern/mm.c: Likewise.
23153 * kern/powerpc/dl.c: Likewise.
23154 * kern/sparc64/dl.c: Likewise.
23155 * kern/x86_64/dl.c: Likewise.
23156 * lib/hexdump.c: Likewise.
23157 * loader/efi/appleloader.c: Likewise.
23158 * loader/i386/ieee1275/linux.c: Likewise.
23159 * loader/i386/pc/chainloader.c: Likewise.
23160 * loader/i386/pc/linux.c: Likewise.
23161 * loader/i386/pc/multiboot2.c: Likewise.
23162 * loader/ieee1275/multiboot2.c: Likewise.
23163 * loader/multiboot2.c: Likewise.
23164 * loader/multiboot_loader.c: Likewise.
23165 * loader/powerpc/ieee1275/linux.c: Likewise.
23166 * normal/completion.c: Likewise.
23167 * normal/menu_entry.c: Likewise.
23168 * partmap/apple.c: Likewise.
23169 * util/grub.d/10_hurd.in: Likewise.
23170 * util/hostfs.c: Likewise.
23171 * video/readers/png.c: Likewise.
23172
e2d70b5c
CW
231732010-01-03 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * include/grub/misc.h (GNUC_PREREQ): New macro.
23176 (ATTRIBUTE_ERROR): New macro.
23177 * include/grub/list.h (grub_bad_type_cast_real): Use
23178 ATTRIBUTE_ERROR.
23179
a173283f 231802010-01-03 Carles Pina i Estany <carles@pina.cat>
23181
23182 * normal/menu_text.c (print_message): Change messages.
23183
7fa7ff74 231842010-01-03 Carles Pina i Estany <carles@pina.cat>
23185
23186 * normal/menu_entry.c (store_completion): Gettextizze.
23187
136d24f6 231882010-01-03 Carles Pina i Estany <carles@pina.cat>
23189
23190 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23191
f936862e 231922010-01-03 Carles Pina i Estany <carles@pina.cat>
23193
23194 * po/POTFILES: Sort correctly.
23195
29c44ad1 231962010-01-03 Carles Pina i Estany <carles@pina.cat>
23197
23198 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23199 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23200 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23201 full stop.
23202 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23203 summary. Gettextizze the strings.
23204 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23205 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23206 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23207 full stop.
23208 (GRUB_MOD_INIT): Remove command name from summary.
23209 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23210 summary.
23211 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23212 * term/i386/pc/serial.c (options): Add full stops.
23213 (GRUB_MOD_INIT): Remove command name from the summary.
23214
77a79592 232152010-01-03 Carles Pina i Estany <carles@pina.cat>
23216
23217 * commands/acpi.c: Gettextizze help strings and/or options. Include
23218 `grub/i18n.h' if needed.
23219 * commands/blocklist.c: Likewise.
23220 * commands/boot.c: Likewise.
23221 * commands/cat.c: Likewise.
23222 * commands/cmp.c: Likewise.
23223 * commands/configfile.c: Likewise.
23224 * commands/crc.c: Likewise.
23225 * commands/date.c: Likewise.
23226 * commands/echo.c: Likewise.
23227 * commands/efi/fixvideo.c: Likewise.
23228 * commands/efi/loadbios.c: Likewise.
23229 * commands/gptsync.c: Likewise.
23230 * commands/halt.c: Likewise.
23231 * commands/handler.c: Likewise.
23232 * commands/hdparm.c: Likewise.
23233 * commands/hexdump.c: Likewise.
23234 * commands/i386/cpuid.c: Likewise.
23235 * commands/i386/pc/drivemap.c: Likewise.
23236 * commands/i386/pc/halt.c: Likewise.
23237 * commands/i386/pc/pxecmd.c: Likewise.
23238 * commands/i386/pc/vbeinfo.c: Likewise.
23239 * commands/i386/pc/vbetest.c: Likewise.
23240 * commands/ieee1275/suspend.c: Likewise.
23241 * commands/keystatus.c: Likewise.
23242 * commands/loadenv.c: Likewise.
23243 * commands/ls.c: Likewise.
23244 * commands/lsmmap.c: Likewise.
23245 * commands/lspci.c: Likewise.
23246 * commands/memrw.c: Likewise.
23247 * commands/minicmd.c: Likewise.
23248 * commands/parttool.c: Likewise.
23249 * commands/password.c: Likewise.
23250 * commands/probe.c: Likewise.
23251 * commands/read.c: Likewise.
23252 * commands/reboot.c: Likewise.
23253 * commands/search.c: Likewise.
23254 * commands/sleep.c: Likewise.
23255 * commands/test.c: Likewise.
23256 * commands/true.c: Likewise.
23257 * commands/usbtest.c: Likewise.
23258 * commands/videotest.c: Likewise.
23259 * commands/xnu_uuid.c: Likewise.
23260 * disk/loopback.c: Likewise.
23261 * hello/hello.c: Likewise.
23262 * loader/i386/bsd.c: Likewise.
23263 * term/i386/pc/serial.c: Likewise.
23264 * po/POTFILES: Add new files.
23265
da8d5c53
CW
232662010-01-02 Colin Watson <cjwatson@ubuntu.com>
23267
23268 * term/i386/pc/at_keyboard.c
23269 (keyboard_controller_wait_untill_ready): Rename to ...
23270 (keyboard_controller_wait_until_ready): ... this. Update all users.
23271
33937904 232722010-01-01 Carles Pina i Estany <carles@pina.cat>
23273
23274 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23275 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23276 string using string width.
23277 * normal/menu_text.c (grub_print_message_indented): Use
23278 grub_print_spaces and not print_spaces.
23279 (print_timeout): Likewise.
23280 (print_spaces): Move to...
23281 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23282
3fd3b8d8
RM
232832010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23284
23285 Import from Gnulib.
23286
23287 * gnulib/getdelim.c: New file.
23288 * gnulib/getline.c: Likewise.
23289
33433555
VS
232902009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23291
23292 * include/grub/list.h (grub_assert_fail): Removed.
23293 (grub_bad_type_cast_real): New function.
23294 (grub_bad_type_cast): New macro.
23295 (GRUB_AS_LIST): Use grub_bad_type_cast.
23296 (GRUB_AS_LIST_P): Likewise.
e44721e8 23297 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23298 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23299 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23300 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23301 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23302
f5a51306
VS
233032009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23306 Fix syntax error.
23307
90d1e879
RM
233082009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23309
23310 * configure.ac: Check for TARGET_CFLAGS initialization before we
23311 initialize it ourselves (sigh).
23312 Move a few modifications to TARGET_CFLAGS to be unconditional
23313 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23314 eh_frame)
23315
23316 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23317 * term/i386/pc/at_keyboard.c
23318 (keyboard_controller_wait_untill_ready): Likewise.
23319 (keyboard_controller_led): Rename `led_status' paramter to avoid
23320 name conflict.
23321
465b5a81 233222009-12-28 Carles Pina i Estany <carles@pina.cat>
23323
23324 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23325 quotes.
23326
c181849b
VS
233272009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23328
23329 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23330
9c8739a4
VS
233312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * normal/menu_text.c (grub_print_message_indented): Prevent
23334 past-the-end-of-array dereference.
23335
3e74249c
VS
233362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23337
23338 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23339 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23340
64fd18ed 233412009-12-27 Carles Pina i Estany <carles@pina.cat>
23342
23343 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23344 * normal/main.c (grub_normal_read_line): Remove a space from the
23345 default prompt.
23346
714af9b9 233472009-12-27 Carles Pina i Estany <carles@pina.cat>
23348
23349 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23350 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23351 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23352 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23353 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23354 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23355 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23356
82f3e412 233572009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23358
23359 * video/readers/jpeg.c (cmd): Declare.
23360 (grub_cmd_jpegtest): Use `grub_command_t' type.
23361 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23362 Assign to `cmd'.
23363 (GRUB_MOD_FINI): Use `cmd' to unregister.
23364 * video/readers/png.c (cmd): Declare.
23365 (grub_cmd_pngtest): Use `grub_command_t' type.
23366 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23367 Assign to `cmd'.
23368 (GRUB_MOD_FINI): Use `cmd' to unregister.
23369 * video/readers/tga.c (cmd): Declare.
23370 (grub_cmd_tgatest): Use `grub_command_t' type.
23371 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23372 Assign to `cmd'.
23373 (GRUB_MOD_FINI): Use `cmd' to unregister.
23374
82f3e412 233752009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23376
23377 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23378 stops.
23379 * kern/corecmd.c (grub_register_core_commands): Likewise.
23380 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23381 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23382 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23383 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23384 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23385 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23386 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23387 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23388 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23389 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23390 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23391 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23392 * normal/handler.c (insert_handler): Likewise.
23393 * normal/main.c (GRUB_MOD_INIT): Likewise.
23394 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23395
fdcdbb66 233962009-12-26 Carles Pina i Estany <carles@pina.cat>
23397
23398 * commands/help.c (grub_cmd_help): Print the command name before the
23399 summary.
23400 (GRUB_MOD_INIT): Remove command name from the summary.
23401 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23402 string as summary.
fdcdbb66 23403 * lib/arg.c (find_long): Print the command name before the summary.
23404 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23405 summary.
23406 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23407 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23408 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23409 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23410 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23411 * commands/date.c (GRUB_MOD_INIT): Likewise.
23412 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23413 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23414 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23415 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23416 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23417 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23418 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23419 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23420 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23421 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23422 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23423 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23424 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23425 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23426 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23427 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23428 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23429 * commands/password.c (GRUB_MOD_INIT): Likewise.
23430 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23431 * commands/read.c (GRUB_MOD_INIT): Likewise.
23432 * commands/search.c (GRUB_MOD_INIT): Likewise.
23433 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23434 * commands/test.c (GRUB_MOD_INIT): Likewise.
23435 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23436 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23437 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23438 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23439 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23440 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23441 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23442 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23443 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23444 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23445 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23446 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23447 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23448 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23449
9c288be2
VS
234502009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 Use search command for preliminar UUID search.
23453
23454 * commands/search.c: Split into ...
23455 * commands/search_wrap.c: ...this
23456 * commands/search.c: ...and this.
23457 * commands/search_file.c: New file.
23458 * commands/search_label.c: New file.
23459 * commands/search_uuid.c: New file.
23460 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23461 Add commands/search_wrap.c, commands/search_file.c,
23462 commands/search_label.c and commands/search_uuid.c.
23463 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23464 (search_mod_SOURCES): Set to commands/search_wrap.c.
23465 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23466 search_label.mod.
23467 (search_fs_file_mod_SOURCES): New variable.
23468 (search_fs_file_mod_CFLAGS): Likewise.
23469 (search_fs_file_mod_LDFLAGS): Likewise.
23470 (search_label_mod_SOURCES): Likewise.
23471 (search_label_mod_CFLAGS): Likewise.
23472 (search_label_mod_LDFLAGS): Likewise.
23473 (search_fs_uuid_mod_SOURCES): New variable.
23474 (search_fs_uuid_mod_CFLAGS): Likewise.
23475 (search_fs_uuid_mod_LDFLAGS): Likewise.
23476 (fs_file_mod_SOURCES): Removed.
23477 (fs_file_mod_CFLAGS): Likewise.
23478 (fs_file_mod_LDFLAGS): Likewise.
23479 (fs_uuid_mod_SOURCES): Removed.
23480 (fs_uuid_mod_CFLAGS): Likewise.
23481 (fs_uuid_mod_LDFLAGS): Likewise.
23482 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23483 Set to util/grub-install.in.
23484 * disk/fs_file.c: Removed.
23485 * disk/fs_uuid.c: Likewise.
23486 * include/grub/search.h: New file.
23487 * util/grub-install.in: Handle sparc64.
23488 Create and use load.cfg.
23489 * util/sparc64/ieee1275/grub-install.in: Removed.
23490
db943399
VS
234912009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23494 Ignore return status if CF is cleared.
23495 (grub_biosdisk_get_diskinfo_standard): Likewise.
23496
3fdae612
RM
234972009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23498
23499 * term/i386/pc/at_keyboard.c
23500 (keyboard_controller_wait_untill_ready): New function.
23501 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23502 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23503 for keyboard polling, rather than duplicate the same loop. This
23504 saves a few bytes in code size.
23505
7ebaa2b4
VS
235062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23507
23508 Support for (pxe[:server[:gateway]]) syntax and
23509 use environment variable for PXE.
23510
23511 * commands/i386/pc/pxecmd.c (options): Removed.
23512 (print_ip): Removed.
23513 (grub_cmd_pxe): Removed
23514 (grub_cmd_pxe_unload): New function.
23515 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23516 (grub_pxe_your_ip): Made static.
23517 (grub_pxe_default_server_ip): Likewise.
23518 (grub_pxe_default_gateway_ip): Likewise.
23519 (grub_pxe_blksize): Likewise.
23520 (parse_ip): New function.
23521 (grub_pxe_open): Support server and gateway specification.
23522 (grub_pxe_close): Free disk->data.
23523 (grub_pxefs_open): Use disk->data.
23524 (grub_pxefs_read): Likewise.
23525 (grub_env_write_readonly): New function.
23526 (set_mac_env): Likewise.
23527 (set_env_limn_ro): Likewise.
23528 (parse_dhcp_vendor): Likewise.
23529 (grub_pxe_detect): Set the environment variables.
23530 (set_ip_env): New function.
23531 (write_ip_env): Likewise.
23532 (grub_env_write_pxe_default_server): Likewise.
23533 (grub_env_write_pxe_default_gateway): Likewise.
23534 (grub_env_write_pxe_blocksize): Likewise.
23535 (GRUB_MOD_INIT(pxe)): Set environment variables.
23536 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23537 (grub_pxe_mac_addr_t): ... this. All users updated.
23538 (grub_pxe_your_ip): Removed.
23539 (grub_pxe_server_ip): Likewise.
23540 (grub_pxe_gateway_ip): Likewise.
23541 (grub_pxe_blksize): Likewise.
23542
ec5f98ab 235432009-12-25 Carles Pina i Estany <carles@pina.cat>
23544
23545 * commands/help.c: Include `<grub/i18n.h>'.
23546 (grub_cmd_help): Gettextizze.
23547 (GRUB_MOD_INIT): Likewise.
23548 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23549 (GRUB_MOD_INIT): Gettextizze.
23550 * commands/search.c: Include `<grub/i18n.h>'.
23551 (options): Gettextizze.
23552 (GRUB_MOD_INIT): Gettextizze.
23553 * lib/arg.c: Include `<grub/i18n.h>'.
23554 (help_options): Gettextizze.
23555 (find_long): Likewise.
23556 (grub_arg_show_help): Likewise.
23557 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23558 (read_command_list): Gettextizze.
23559 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23560 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23561
22815526
RM
235622009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23563
23564 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23565 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23566 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23567 (led_status): New variable.
23568 (keyboard_controller_led): New function.
23569 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23570 update led status for caps lock, num lock and scroll lock.
23571
0ad46fd7
FZ
235722009-12-25 Felix Zielcke <fzielcke@z-51.de>
23573
23574 * util/hostdisk.c (open_device): Fix a comment.
23575
d0e158c2
RM
235762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * util/grub-install.in (host_os): New variable.
23579 * util/i386/efi/grub-install.in (host_os): Likewise.
23580
401c0ad6
RM
235812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23582
23583 * util/mkisofs/write.c (padblock_write): Abort when given an
23584 excedingly large embed image, instead of silently truncating it.
23585
d14d3370
RM
235862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23587
23588 * include/multiboot.h: Indentation fixes.
23589
eeed10b4
RM
235902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23591
23592 * include/multiboot.h (struct multiboot_aout_symbol_table)
23593 (struct multiboot_elf_section_header_table): New structure
23594 declarations (stolen from GRUB Legacy).
23595 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23596 table information.
23597
23598 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23599 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23600 type aliases.
23601
681c70ab
RM
236022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23603
23604 * include/multiboot.h: Make comments src2texi-friendly.
23605
e4d47d8d
RM
236062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23607
23608 For consistency with [multiboot]/docs/boot.S.
23609
23610 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23611 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23612 (MULTIBOOT_MAGIC2): Rename from this ...
23613 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23614
a0b70bda
RM
236152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23616
23617 * include/multiboot.h: Remove `<grub/types.h>'.
23618 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23619 types. Update all users.
23620
61ba42be 236212009-12-25 Carles Pina i Estany <carles@pina.cat>
23622
23623 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23624 `couldn't' and `can not' by `cannot'.
23625 * commands/i386/pc/drivemap.c: Likewise.
23626 * disk/ata.c: Likewise.
23627 * disk/ieee1275/nand.c: Likewise.
23628 * fs/affs.c: Likewise.
23629 * fs/fat.c: Likewise.
23630 * fs/hfs.c: Likewise.
23631 * fs/hfsplus.c: Likewise.
23632 * fs/iso9660.c: Likewise.
23633 * fs/jfs.c: Likewise.
23634 * fs/minix.c: Likewise.
23635 * fs/reiserfs.c: Likewise.
23636 * fs/sfs.c: Likewise.
23637 * fs/udf.c: Likewise.
23638 * fs/ufs.c: Likewise.
23639 * fs/xfs.c: Likewise.
23640 * loader/powerpc/ieee1275/linux.c: Likewise.
23641 * loader/sparc64/ieee1275/linux.c: Likewise.
23642 * util/grub-probe.c: Likewise.
23643 * util/misc.c: Likewise.
23644
7fd0baee 236452009-12-24 Carles Pina i Estany <carles@pina.cat>
23646
23647 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23648 grub_errno calls.
23649 * commands/acpi.c: Likewise.
23650 * commands/blocklist.c: Likewise.
23651 * commands/efi/loadbios.c: Likewise.
23652 * commands/i386/pc/drivemap.c: Likewise.
23653 * commands/loadenv.c: Likewise.
23654 * commands/memrw.c: Likewise.
23655 * commands/password.c: Likewise.
23656 * commands/videotest.c: Likewise.
23657 * disk/ata.c: Likewise.
23658 * disk/ata_pthru.c: Likewise.
23659 * disk/dmraid_nvidia.c: Likewise.
23660 * disk/ieee1275/nand.c: Likewise.
23661 * disk/ieee1275/ofdisk.c: Likewise.
23662 * disk/loopback.c: Likewise.
23663 * disk/lvm.c: Likewise.
23664 * disk/mdraid_linux.c: Likewise.
23665 * disk/raid.c: Likewise.
23666 * disk/raid6_recover.c: Likewise.
23667 * disk/scsi.c: Likewise.
23668 * efiemu/main.c: Likewise.
23669 * efiemu/mm.c: Likewise.
23670 * efiemu/pnvram.c: Likewise.
23671 * efiemu/symbols.c: Likewise.
23672 * font/font.c: Likewise.
23673 * fs/cpio.c: Likewise.
23674 * fs/hfsplus.c: Likewise.
23675 * fs/iso9660.c: Likewise.
23676 * fs/jfs.c: Likewise.
23677 * fs/minix.c: Likewise.
23678 * fs/ntfs.c: Likewise.
23679 * fs/ntfscomp.c: Likewise.
23680 * fs/reiserfs.c: Likewise.
23681 * fs/ufs.c: Likewise.
23682 * fs/xfs.c: Likewise.
23683 * gettext/gettext.c: Likewise.
23684 * include/grub/auth.h: Likewise.
23685 * kern/elf.c: Likewise.
23686 * kern/file.c: Likewise.
23687 * kern/ieee1275/init.c: Likewise.
23688 * kern/ieee1275/mmap.c: Likewise.
23689 * kern/ieee1275/openfw.c: Likewise.
23690 * kern/powerpc/dl.c: Likewise.
23691 * kern/sparc64/dl.c: Likewise.
23692 * lib/arg.c: Likewise.
23693 * loader/i386/bsd.c: Likewise.
23694 * loader/i386/bsdXX.c: Likewise.
23695 * loader/i386/efi/linux.c: Likewise.
23696 * loader/i386/efi/xnu.c: Likewise.
23697 * loader/i386/ieee1275/linux.c: Likewise.
23698 * loader/i386/linux.c: Likewise.
23699 * loader/i386/multiboot.c: Likewise.
23700 * loader/i386/pc/linux.c: Likewise.
23701 * loader/i386/pc/multiboot2.c: Likewise.
23702 * loader/i386/xnu.c: Likewise.
23703 * loader/ieee1275/multiboot2.c: Likewise.
23704 * loader/macho.c: Likewise.
23705 * loader/machoXX.c: Likewise.
23706 * loader/multiboot2.c: Likewise.
23707 * loader/multiboot_loader.c: Likewise.
23708 * loader/powerpc/ieee1275/linux.c: Likewise.
23709 * loader/sparc64/ieee1275/linux.c: Likewise.
23710 * loader/xnu.c: Likewise.
23711 * loader/xnu_resume.c: Likewise.
23712 * mmap/i386/pc/mmap.c: Likewise.
23713 * normal/menu_viewer.c: Likewise.
23714 * partmap/acorn.c: Likewise.
23715 * partmap/amiga.c: Likewise.
23716 * partmap/apple.c: Likewise.
23717 * script/lexer.c: Likewise.
23718 * term/gfxterm.c: Likewise.
23719 * term/i386/pc/serial.c: Likewise.
23720 * term/i386/pc/vga.c: Likewise.
23721 * term/ieee1275/ofconsole.c: Likewise.
23722 * term/terminfo.c: Likewise.
23723 * video/bitmap.c: Likewise.
23724 * video/efi_gop.c: Likewise.
23725 * video/efi_uga.c: Likewise.
23726 * video/fb/video_fb.c: Likewise.
23727 * video/i386/pc/vbe.c: Likewise.
23728 * video/readers/tga.c: Likewise.
23729 * video/video.c: Likewise.
23730
0ad46fd7 237312009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23732
23733 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23734 * commands/lspci.c: Likewise.
23735 * commands/probe.c: Likewise.
23736 * commands/xnu_uuid.c: Likewise.
23737 * conf/i386-coreboot.rmk: Likewise.
23738 * conf/i386-efi.rmk: Likewise.
23739 * conf/i386-ieee1275.rmk: Likewise.
23740 * conf/i386-pc.rmk: Likewise.
23741 * conf/powerpc-ieee1275.rmk: Likewise.
23742 * conf/sparc64-ieee1275.rmk: Likewise.
23743 * conf/x86_64-efi.rmk: Likewise.
23744 * fs/i386/pc/pxe.c: Likewise.
23745 * gettext/gettext.c: Likewise.
23746 * include/grub/efi/graphics_output.h: Likewise.
23747 * include/grub/i386/pc/memory.h: Likewise.
23748 * kern/env.c: Likewise.
23749 * kern/i386/qemu/startup.S: Likewise.
23750 * lib/i386/pc/biosnum.c: Likewise.
23751 * lib/i386/relocator.c: Likewise.
23752 * lib/i386/relocator_asm.S: Likewise.
23753 * lib/relocator.c: Likewise.
23754 * loader/i386/bsd.c: Likewise.
23755 * loader/i386/multiboot.c: Likewise.
23756 * loader/i386/pc/chainloader.c: Likewise.
23757 * loader/i386/xnu.c: Likewise.
23758 * loader/xnu.c: Likewise.
23759 * normal/main.c: Likewise.
23760 * normal/menu_text.c: Likewise.
23761 * util/getroot.c: Likewise.
23762 * util/grub-mkconfig_lib.in: Likewise.
23763 * util/grub.d/00_header.in: Likewise.
23764 * util/i386/pc/grub-mkimage.c: Likewise.
23765 * util/mkisofs/eltorito.c: Likewise.
23766 * util/mkisofs/exclude.h: Likewise.
23767 * util/mkisofs/hash.c: Likewise.
23768 * util/mkisofs/iso9660.h: Likewise.
23769 * util/mkisofs/joliet.c: Likewise.
23770 * util/mkisofs/mkisofs.c: Likewise.
23771 * util/mkisofs/mkisofs.h: Likewise.
23772 * util/mkisofs/multi.c: Likewise.
23773 * util/mkisofs/name.c: Likewise.
23774 * util/mkisofs/rock.c: Likewise.
23775 * util/mkisofs/tree.c: Likewise.
23776 * util/mkisofs/write.c: Likewise.
23777 * video/efi_gop.c: Likewise.
23778
009ec743
VS
237792009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23780
23781 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23782 size counting.
23783
0ad46fd7 237842009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23785
23786 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23787 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23788
d3d30ea0
VS
237892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23792 (GRUB_MOD_INIT(memrw)): Update help line.
23793
a34f5c70
VS
237942009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23797 Use grub_extcmd_t. All users updated.
23798 (options): New variable.
23799 (grub_cmd_read): Restructure for readability. Support "-v" option.
23800 (grub_cmd_write): Restructure for readability.
23801
0ad46fd7 238022009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23803
23804 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23805
0ad46fd7 238062009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23807
23808 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23809 with the actual contents of the correspondending make variable.
23810 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23811 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23812 specifying `*.lst' and `efiemu??.o'
23813
0ad46fd7 238142009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23815
23816 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23817 after function name.
23818 Noticed by Rene Engelhard <rene@debian.org>.
23819
dc77a799
VS
238202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23823 (options): New variable.
23824 (iospace): Likewise.
23825 (grub_lspci_iter): List IO spaces if "-i" was given.
23826 (grub_cmd_lspci): Parse options.
23827 (GRUB_MOD_INIT(lspci)): Use extcmd.
23828 (GRUB_MOD_FINI(lspci)): Likewise.
23829
0ad46fd7 238302009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23831
23832 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23833 `function' keyword.
23834 Patch by Tony Mancill <tmancill@debian.org>.
23835
b5d5993b
VS
238362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23839 (grub_uhci_portstatus): Likewise.
23840 (grub_uhci_portstatus): Add necessary delay.
11d18281 23841 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23842
941903f2 238432009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23844
941903f2 23845 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23846 (GRUB_MOD_INIT): Likewise.
23847 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23848 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23849 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23850 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23851 (enable_rom_area): Likewise.
23852 (GRUB_MOD_INIT): Likewise.
23853 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23854 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23855 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23856 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23857 * commands/hexdump.c (options): Likewise.
23858 * commands/i386/cpuid.c (options): Likewise.
23859 (GRUB_MOD_INIT): Likewise.
23860 * commands/i386/pc/drivemap.c (options): Likewise.
23861 (GRUB_MOD_INIT): Likewise.
23862 * commands/i386/pc/halt (options): Likewise.
23863 (GRUB_MOD_INIT): Likewise.
23864 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23865 * commands/i386/pc/pxecmd.c (options): Likewise.
23866 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23867 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23868 * commands/keystatus.c (options): Likewise.
23869 (GRUB_MOD_INIT): Likewise.
23870 * commands/loadenv.c (options): Likewise.
23871 * commands/ls.c (options): Likewise.
23872 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23873 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23874 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23875 * commands/parttool.c (helpmsg): Likewise.
23876 * commands/probe.c (options): Likewise.
23877 * commands/read.c (GRUB_MOD_INIT): Likewise.
23878 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23879 * commands/search.c (options): Likewise.
23880 * commands/sleep.c (options): Likewise.
23881 * commands/test.c (GRUB_MOD_INIT): Likewise.
23882 * commands/true.c (GRUB_MOD_INIT): Likewise.
23883 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23884 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23885 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23886 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23887 `$(XGETTEXT)'.
98a50553 23888 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23889
0ad46fd7 238902009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23891
ef3c2c3a 23892 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23893 instead of specifying them explicit.
23894
7922f68b
RM
238952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23896
23897 * NEWS: Add grub-probe support for GNU/Hurd.
23898
537ce47f
RM
238992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23900
23901 * NEWS: gettext was added after 1.97.
23902
9b214e3a
RM
239032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * util/mkisofs/msdos_partition.h: New file (based on
23906 include/grub/msdos_partition.h).
23907 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23908 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23909 (ld_options, main): Recognize --protective-msdos-label.
23910 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23911 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23912 (padblock_write): If `use_protective_msdos_label' is set, patch a
23913 protective DOS-style label in the output image.
23914
23915 * util/grub-mkrescue.in: Use --protective-msdos-label.
23916
e9309813
RM
239172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23918
23919 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23920 boot.
23921
0ae56929
RM
239222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23923
23924 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23925 variables.
23926 (ld_options, main): Recognize `--embedded-boot'.
23927 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23928 declarations.
23929 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23930 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23931 (padblock_write): Likewise. Rewrite to support embedded boot image.
23932
23933 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23934 for BIOS-based disk boot instead of only ElTorito.
23935
b15937b1
RM
239362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23939 build (not needed for bootstrap).
23940
52cc3ce0
RM
239412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23942
23943 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23944 from i386-pc build (not needed for bootstrap).
23945 Rewrite a pair of strings.
23946
36f5ff04
RM
239472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23948
23949 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23950
973c6c85 239512009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23952
23953 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23954
05d21547
AB
239552009-12-21 Andreas Born <futur.andy@googlemail.com>
23956
23957 * kern/env.c (grub_env_context_open): Mark exported variable for
23958 reexport.
23959
0175d51f
AB
239602009-12-21 Andreas Born <futur.andy@googlemail.com>
23961
23962 * kern/env.c (grub_env_export): Create nonexistent variables before
23963 exporting.
23964
7f39d92f 239652009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23966
7f39d92f 23967 * include/grub/auth.h: Include `<grub/i18n.h>'.
23968 (GRUB_GET_PASSWORD): Gettextizze string.
23969 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23970 menu_text.c.
23971 (grub_utf8_to_ucs4_alloc): Fix indentation.
23972 (grub_print_ucs4): Likewise.
23973 (grub_getstringwidth): Likewise.
23974 (print_message_indented): New declaration.
23975 * normal/auth.c: Include `<grub/i18n.h>'.
23976 (grub_auth_check_authentication): Gettexttize string.
23977 * normal/cmdline.c: Include `<grub/i18n.h>'.
23978 (grub_cmdline_get): Gettextizze.
23979 * normal/color.c: Include `<grub/i18n.h>'.
23980 (grub_parse_color_name_pair): Gettexttize strings.
23981 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23982 string (use `print_message_indented').
23983 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23984 `include/grub/normal.h'.
23985 (print_message_indented): Renamed to ...
23986 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23987 used in normal/main.c).
23988 (print_message): Use `grub_print_message_indented' instead of
23989 `print_message_indented'.
23990 (print_timeout): Likewise.
23991 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23992 (grub_normal_print_device_info): Gettexttize strings.
23993 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23994
3041d898
VS
239952009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23996
23997 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23998 of arguments. Return number of tokens and not arguments. All users
23999 updated.
24000
de15bf8e
VS
240012009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24002
24003 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24004 non-MSDOS paritions.
24005
e0a6ca52
VS
240062009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 * include/grub/types.h (UNUSED): Removed since it conflicts with
24009 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24010 Reported by Grégoire Sutre.
24011
b99518d1 240122009-12-19 Carles Pina i Estany <carles@pina.cat>
24013
24014 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24015 (grub_print_ucs4_alloc): Likewise.
24016 (grub_getstringwidth): Likewise.
24017 * normal/main.c (grub_normal_init_page): Gettextize version string.
24018 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24019 (getstringwidth): Renamed to ...
24020 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24021 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24022 (grub_print_ucs4): Remove `static' qualifer (now used in
24023 normal/main.c).
24024 * po/POTFILES: Add normal/main.c.
24025
bfd5e52b 240262009-12-19 Carles Pina i Estany <carles@pina.cat>
24027
24028 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24029 (print_message_indented): Add `margin_left' and `margin_right'
24030 parameters.
24031 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24032 strings.
24033 (print_timeout): Use `print_message_indented' to print the message.
24034 Deletes `second_stage' parameter.
24035 (run_menu): Update `print_timeout' calls.
24036
5a1ad2b9
VS
240372009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24038
24039 Fix console palette on OpenFirmware.
24040
24041 * term/ieee1275/ofconsole.c (MAX): Removed.
24042 (colors): Redone based on VGA palette.
24043 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24044 colors are supported.
24045 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24046
b045f00a
VS
240472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 Fix potential EfiEmu double prepare.
24050
24051 * efiemu/main.c (prepared): New variable
24052 (grub_efiemu_unload): Set prepare to '0'.
24053 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24054
24055 set_virtual_address_map support.
24056
24057 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24058 prototype.
24059 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24060 prototype.
24061 (grub_efiemu_crc32): Likewise.
24062 (grub_efiemu_crc64): Likewise.
24063 (grub_efiemu_set_virtual_address_map): Likewise.
24064 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24065 New definition.
24066 (grub_autoefi_set_virtual_address_map): Likewise.
24067 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24068 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24069 Restructure flow to accomodate it.
24070 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24071 (grub_efiemu_crc): Recompute CRC32.
24072 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24073 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24074 * efiemu/symbols.c (relocated_handle): New variable.
24075 (grub_efiemu_free_syms): Free relocated_handle.
24076 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24077 (grub_efiemu_write_sym_markers): New function.
24078 (grub_efiemu_set_virtual_address_map): Likewise.
24079
24080 Newer XNU parameters.
24081
24082 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24083 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24084 (grub_xnu_fill_devicetree): New prototype.
24085 (grub_xnu_heap_real_start): New variable.
24086 * loader/xnu.c (get_name_ptr): New function.
24087 (grub_xnu_load_driver): Fill namelen and name.
24088
24089 64-bit xnu support.
24090
24091 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24092 and 'loader/macho64.c'.
24093 * conf/i386-pc.rmk: Likewise.
24094 * conf/x86_64-efi.rmk: Likewise.
24095 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24096 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24097 * include/grub/macho.h (grub_macho_segment64): New structure.
24098 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24099 (grub_macho_size32): ... to this.
24100 (grub_macho32_get_entry_point): Renamed from ...
24101 (grub_macho_get_entry_point32): ... to this.
24102 (grub_macho_contains_macho64): New prototype.
24103 (grub_macho_size64): Likewise.
24104 (grub_macho_get_entry_point64): Likewise.
24105 (grub_macho32_load): Renamed from ...
24106 (grub_macho_load32): ... to this.
24107 (grub_macho32_filesize): Renamed from ...
24108 (grub_macho_filesize32): ... to this.
24109 (grub_macho32_readfile): Renamed from ...
24110 (grub_macho_readfile32): ... to this.
24111 (grub_macho_filesize64): New prototype.
24112 (grub_macho_readfile64): Likewise.
24113 (grub_macho_parse32): Likewise.
24114 (grub_macho_parse64): Likewise.
24115 * loader/macho.c: Split into ...
24116 * loader/machoXX.c: ... and this. Replace 32 with XX.
24117 * loader/macho32.c: New file.
24118 * loader/macho64.c: Likewise.
24119 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24120 (grub_cmd_xnu_kernel): Make 32-bit only.
24121 (grub_cmd_xnu_kernel64): New function.
24122 (grub_xnu_load_driver): Support Mach-O 64.
24123 (grub_cmd_xnu_mkext): Likewise.
24124 * util/grub.d/30_os-prober.in (osx_entry): New function.
24125 Generate entries for 64-bit boot too.
24126
24127 Eliminate ad-hoc tree format in XNU and EfiEmu.
24128
24129 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24130 * efiemu/pnvram.c: Rewritten to use environment variables.
24131 All users updated.
24132
24133 Inline utf16_to_utf8.
24134
24135 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24136 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24137 All users updated.
24138 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24139
24140 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24141 * commands/usbtest.c (grub_usb_get_string): ... move here.
24142 (usb_print_str): Fix error handling.
24143 * include/grub/usb.h (grub_usb_get_string): Remove.
24144
24145 UTF-8 to UTF-16 transformation.
24146
24147 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24148 (charset_mod_SOURCES): New variable.
24149 (charset_mod_CFLAGS): Likewise.
24150 (charset_mod_LDFLAGS): Likewise.
24151 * include/grub/utf.h: New file.
24152 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24153
24154 Support for device properties.
24155
24156 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24157 (grub_xnu_devprop_device_header): Likewise.
24158 (grub_xnu_devprop_device_descriptor): Likewise.
24159 (grub_xnu_devprop_add_device): New prototype.
24160 (grub_xnu_devprop_remove_device): Likewise.
24161 (grub_xnu_devprop_remove_property): Likewise.
24162 (grub_xnu_devprop_add_property_utf8): Likewise.
24163 (grub_xnu_devprop_add_property_utf16): Likewise.
24164 (grub_cpu_xnu_init): Likewise.
24165 (grub_cpu_xnu_fini): Likewise.
24166 (grub_cpu_xnu_unload): Likewise.
24167 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24168 (property_descriptor): Likewise.
24169 (devices): New variable.
24170 (grub_xnu_devprop_remove_property): New function.
24171 (grub_xnu_devprop_add_device): Likewise.
24172 (grub_xnu_devprop_remove_device): Likewise.
24173 (grub_xnu_devprop_add_property): Likewise.
24174 (grub_xnu_devprop_add_property_utf8): Likewise.
24175 (grub_xnu_devprop_add_property_utf16): Likewise.
24176 (hextoval): Likewise.
24177 (grub_cpu_xnu_fill_devprop): Likewise.
24178 (grub_cmd_devprop_load): Likewise.
24179 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24180 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24181 (cmd_devprop_load): New variable.
24182 (grub_cpu_xnu_init): New function.
24183 (grub_cpu_xnu_fini): Likewise.
24184 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24185 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24186 (grub_cmd_xnu_devtree): Likewise.
24187 (hextoval): New function.
24188 (unescape): Likewise.
24189 (grub_xnu_fill_devicetree): Likewise.
24190
24191 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24192 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24193
0945f181
VS
241942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24195
24196 Workaround for broken ATI VBE.
24197
24198 * video/i386/pc/vbe.c (last_set_mode): New variable.
24199 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24200 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24201 (grub_video_vbe_setup): Don't check for reserved flag.
24202
0ad46fd7 242032009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24204
24205 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24206 the `find' command.
24207
c179ebe4
VS
242082009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 UUID support for HFS.
24211
24212 * fs/hfs.c (grub_hfs_uuid): New function.
24213 (grub_hfs_fs): New value .uuid.
24214 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24215
0ad46fd7 242162009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24217
24218 Fix a segfault with parsing unknown long options.
24219
24220 * util/grub-mkrelpath.c (options): Zero terminate it.
24221
c4a3e41a
CPE
242222009-12-13 Carles Pina i Estany <carles@pina.cat>
24223
24224 * include/grub/misc.h (grub_puts): New declaration.
24225 (grub_puts_): Likewise.
a22008a6 24226 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24227 (grub_puts_): Likewise.
24228
2e8a7602
RM
242292009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 * util/grub-probe.c (probe): Improve error message.
24232
b50b77b9
RM
242332009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 * loader/i386/multiboot_elfxx.c
24236 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24237 initialization.
24238
242392009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24240
24241 Relocator framework
24242
24243 * loader/i386/xnu_helper.S: Removed. All users updated.
24244 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24245 (relocator_mod_SOURCES): New variable.
24246 (relocator_mod_CFLAGS): Likewise.
24247 (relocator_mod_LDFLAGS): Likewise.
24248 (relocator_mod_ASFLAGS): Likewise.
24249 * conf/x86_64.rmk: Likewise.
24250 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24251 (grub_multiboot_payload_entry_offset): Likewise.
24252 (grub_multiboot_forward_relocator): Likewise.
24253 (grub_multiboot_forward_relocator_end): Likewise.
24254 (grub_multiboot_backward_relocator): Likewise.
24255 (grub_multiboot_backward_relocator_end): Likewise.
24256 (grub_multiboot_payload_eip): New variable.
24257 (grub_multiboot_payload_orig): Likewise.
24258 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24259 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24260 * include/grub/i386/memory.h
24261 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24262 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24263 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24264 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24265 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24266 * include/grub/i386/relocator.h: New file.
24267 * include/grub/x86_64/relocator.h: Likewise.
24268 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24269 (XNU_RELOCATOR): New macro.
24270 (grub_xnu_launcher_start): Remove.
24271 (grub_xnu_launcher_end): Likewise.
24272 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24273 (grub_xnu_heap_real_start): Remove.
24274 (grub_xnu_heap_start): Change to void *. All users updated.
24275 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24276 * lib/i386/relocator.c: New file.
24277 * lib/i386/relocator_asm.S: Likewise.
24278 * lib/i386/relocator_backward.S: Likewise.
24279 * lib/mips/relocator.c: Likewise.
24280 * lib/mips/relocator_asm.S: Likewise.
24281 * lib/relocator.c: Likewise.
24282 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24283 (entry): Removed.
24284 (playground): Likewise.
24285 (grub_multiboot_payload_orig): New variable.
24286 (grub_multiboot_payload_dest): Likewise.
24287 (grub_multiboot_payload_size): Likewise.
24288 (grub_multiboot_payload_eip): Likewise.
24289 (grub_multiboot_payload_esp): Likewise.
24290 (grub_multiboot_boot): Use grub_relocator32_boot.
24291 (grub_multiboot_unload): Free relocators.
24292 (grub_multiboot): Setup stack. Use relocators.
24293 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24294 (grub_multiboot_load_elfXX): Use relocators.
24295 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24296 (grub_multiboot_payload_size): Likewise.
24297 (grub_multiboot_payload_dest): Likewise.
24298 (grub_multiboot_payload_entry_offset): Likewise.
24299 (grub_multiboot_forward_relocator): Likewise.
24300 (grub_multiboot_backward_relocator): Likewise.
24301 (grub_multiboot_real_boot): Likewise.
24302 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24303 (grub_xnu_entry_point): Likewise.
24304 (grub_xnu_arg1): Likewise.
24305 (grub_xnu_stack): Likewise.
24306 (grub_xnu_launch): Removed.
24307 (grub_xnu_boot_resume): New function.
24308 (grub_xnu_boot): Use relocators.
24309 * loader/i386/xnu_helper.S: Removed.
24310 * loader/xnu.c (grub_xnu_heap_start): New variable.
24311 (grub_xnu_heap_size): Likewise.
24312 (grub_xnu_heap_malloc): Use relocators.
24313 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24314
29eb90c6
VS
243152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24316
24317 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24318 anything.
24319
31027430
CPE
243202009-12-13 Carles Pina i Estany <carles@pina.cat>
24321
24322 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24323 GRUB_ERR_NONE before calling grub_env_set.
24324
dc0c71d9
RM
243252009-12-12 Robert Millan <rmh@aybabtu.com>
24326
24327 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24328 * genmk.rb (video): New variable.
24329 (CLEANFILES, VIDEOFILES): Add #{video}.
24330 (#{video}): New target rule.
24331 * genvideolist.sh: New file.
24332 * Makefile.in (pkglib_DATA): Add video.lst.
24333 (video.lst): New target rule.
24334 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24335 `video.lst'.
24336 * util/grub.d/30_os-prober.in: Replace `vbe' with
24337 ${GRUB_VIDEO_BACKEND}.
24338
2a4bfcf0
RM
243392009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24340
24341 * THANKS: Add David Miller.
24342
2a3aa4d5
RM
243432009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24344
24345 libpciaccess support.
24346
24347 * Makefile.in (LIBPCIACCESS): New variable.
24348 (enable_grub_emu_pci): Likewise.
24349 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24350 util/pci.c and commands/lspci.c.
24351 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24352 * configure.ac (grub-emu-pci): New option.
24353 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24354 (grub_pci_device_unmap_range): Likewise.
24355 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24356 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24357 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24358 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24359 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24360 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24361 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24362 * include/grub/pciutils.h: New file.
24363 * util/pci.c: Likewise.
24364
0ad46fd7 243652009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24366
24367 * util/misc.c: Don't include <errno.h> twice.
24368
0ad46fd7 243692009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24370
24371 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24372 name in an error message.
24373 (grub_biosdisk_rw): Likewise.
24374
2e59983c
VS
243752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24376
24377 Eliminate NTFS 4Gib barrier.
24378
24379 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24380 (read_run_data): Likewise.
24381 (grub_ntfs_read_run_list): Likewise.
24382 (grub_ntfs_read_block): Likewise.
24383 (grub_ntfs_iterate_dir): Likewise.
24384 (read_mft): Likewise.
24385 (read_data): Likewise.
24386 Use COM_LOG_LEN.
24387 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24388 to avoid 64-bit division
24389 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24390 (grub_ntfs_rlst): Use grub_disk_addr_t.
24391
71ee178a
VS
243922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24393
24394 Eliminate grub-fstest 4Gib barrier.
24395
24396 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24397 (read_file): Fix error reporting.
24398
2520d4b8
VS
243992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 Eliminate hexdump 4Gib barrier.
24402
24403 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24404 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24405
e1f27065
VS
244062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24409 Fixes amarsh bug.
24410
1a0f7f45
RM
244112009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24412
24413 Remove miscellaneous files in distclean target.
24414
24415 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24416
c631d9fb
CW
244172009-12-09 Colin Watson <cjwatson@ubuntu.com>
24418
24419 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24420 if they're already set. This resolves the conflict between my
24421 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24422 fixing the --grub-probe option again.
24423 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24424 change on 2009-10-06, so that we now once again source
24425 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24426
7c7b6106
RM
244272009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24428
24429 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24430 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24431 `util/devicemap.c'.
24432
e3069ec1
CPE
244332009-12-08 Carles Pina i Estany <carles@pina.cat>
24434
24435 * include/grub/misc.h (grub_printf_): New declaration.
24436 * kern/misc.c (grub_printf_): New definition.
24437 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24438 instead of `grub_printf' and `_'.
24439 * normal/menu_entry.c (store_completion): Likewise.
24440 (run): Likewise.
24441 (grub_menu_entry_run): Likewise.
24442 * normal/menu_text.c (grub_wait_after_message): Likewise.
24443 (notify_booting): Likewise.
24444 (notify_fallback): Likewise.
24445 (notify_execution_failure): Likewise.
24446
d6ceebf1
CW
244472009-12-07 Colin Watson <cjwatson@ubuntu.com>
24448
24449 * configure.ac: Check for vasprintf.
24450 * util/misc.c (asprintf): Move allocation from here ...
24451 (vasprintf): ... to here. New function.
24452 (xasprintf): New function.
24453 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24454 prototypes.
24455 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24456 * util/grub-mkfont.c (write_font): Likewise.
24457 * util/grub-probe.c (probe): Likewise.
24458 * util/hostdisk.c (make_device_name): Likewise.
24459
de6daa8b
DM
244602009-12-06 David S. Miller <davem@sunset.davemloft.net>
24461
24462 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24463 anything even prefixed with 'cdrom' as a cdrom.
24464
0ad46fd7 244652009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24466
24467 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24468 mount points.
24469
98d3dc02
CPE
244702009-12-05 Carles Pina i Estany <carles@pina.cat>
24471
24472 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24473 grub_gettext_msg_list.
24474 (grub_gettext_gettranslation_from_position): Return const char *
24475 and not char *.
a2c1332b 24476 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24477 returns from the list if existing there.
24478 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24479 (grub_gettext_delete_list): Delete the list.
24480 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24481 lang environment variable is changed.
24482 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24483
b283f108
VS
244842009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 Rename kernel.mod to kernel.img.
24487
24488 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24489 (kernel_mod_EXPORTS): Rename to ...
24490 (kernel_img_EXPORTS): ... this.
24491 (kernel_mod_SOURCES): Rename to ...
24492 (kernel_img_SOURCES): ... this.
24493 (kernel_mod_HEADERS): Rename to ...
24494 (kernel_img_HEADERS): ... this. All users updated.
24495 (kernel_mod_CFLAGS): Rename to ...
24496 (kernel_img_CFLAGS): ... this.
24497 (kernel_mod_ASFLAGS): Rename to ...
24498 (kernel_img_ASFLAGS): ... this.
24499 (kernel_mod_LDFLAGS): Rename to ...
24500 (kernel_img_LDFLAGS): ... this.
24501 * conf/x86_64-efi.rmk: Likewise.
24502 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24503 (read_kernel_image): ... this. All users updated.
24504 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24505
69055f8a
CPE
245062009-12-05 Carles Pina i Estany <carles@pina.cat>
24507
24508 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24509 (print_spaces): New function.
24510 (grub_print_ucs4): New function.
24511 (getstringwidth): New function.
24512 (print_message_indented): New function.
24513 (print_message): Gettexttize strings using print_message_indented.
24514 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24515 width.
24516 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24517 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24518 Gettextize.
24519 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24520 string.
24521 (run): Likewise.
24522 (grub_menu_entry_run): Likewise.
24523 * PO/POTFILES: Add normal/menu_entry.c.
24524
f616f51c
VS
245252009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24528
57bbe3be
CPE
245292009-12-05 Carles Pina i Estany <carles@pina.cat>
24530
24531 * util/grub-install.in: Install gettext .mo files.
24532 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24533
013d67a1
CPE
245342009-12-05 Carles Pina i Estany <carles@pina.cat>
24535
24536 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24537 grub_dprintf.
24538
fb954db0
RM
245392009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24540
24541 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24542 non-firmware-dependant one in realmode.S takes precedence.
24543
6b8474f8
RM
245442009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * commands/halt.c: Replace misc arch-specific headers with
24547 `<grub/misc.h>'.
24548 * commands/reboot.c: Likewise.
24549 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24550 `<grub/misc.h>'.
24551 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24552 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24553 (kernel_img_SOURCES): ... to here.
24554
24555 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24556 * include/grub/i386/pc/init.h: Likewise.
24557 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24558 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24559
24560 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24561
24562 * include/grub/i386/halt.h: Remove.
24563 * include/grub/i386/reboot.h: Likewise.
24564
24565 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24566
4b2e6ca2
DM
245672009-12-03 David S. Miller <davem@sunset.davemloft.net>
24568
24569 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24570 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24571 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24572 "progname.h"
24573 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24574 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24575 (usage): Add missing comma in printf.
24576
5239348f
RM
245772009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24578
24579 Use the same reboot approach on i386 coreboot and qemu as we do on
24580 BIOS.
24581
24582 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24583 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24584 * kern/i386/reboot.c: Remove.
24585 * include/grub/i386/reboot.h (grub_reboot): Export function.
24586 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24587 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24588 0xf000:0xfff0 instead of 0xffff:0x0000.
24589 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24590 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24591
ef34cbd4
RM
245922009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 Fix $srcdir != $objdir build.
24595
24596 * Makefile.in (po/%.po): Rewrite as ...
24597 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24598
dc9837ea
ST
245992009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24600
24601 Fix GNU/Hurd grub-install crash.
24602 * util/grub-probe.c (probe): Try to access `path' only when it is not
24603 NULL.
24604
2f857f98
VS
246052009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24606
24607 Correct module naming.
24608
24609 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24610 (GRUB_MOD_INIT(efi_uga)): ... to this
24611 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24612 (GRUB_MOD_FINI(efi_uga)): ... to this
24613 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24614 (GRUB_MOD_INIT(efi_gop)): ... to this
24615 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24616 (GRUB_MOD_FINI(efi_gop)): ... to this
24617
c5448046
RM
246182009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24619
24620 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24621 translatable.
24622 (usage): Translate `arg' strings using gettext().
24623 Thanks to Jordi Mallach for the suggestion.
24624
c85184ad
VS
246252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 GOP support. Based on patch from Bean
24628 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24629
24630 * video/efi_gop.c: New file.
24631 * include/grub/efi/graphics_output.h: Likewise.
24632 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24633 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24634 variables.
24635 * conf/x86_64-efi.rmk: Likewise.
24636
8a4c48d8
VS
246372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24638
24639 Rename efi_fb to efi_uga.
24640
24641 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24642 'efi_uga.mod'.
24643 (efi_fb_mod_SOURCES): Rename this ...
24644 (efi_uga_mod_SOURCES): ... to this.
24645 (efi_fb_mod_CFLAGS): Rename this ...
24646 (efi_uga_mod_CFLAGS): ... to this.
24647 (efi_fb_mod_LDFLAGS): Rename this ...
24648 (efi_uga_mod_LDFLAGS): ... to this.
24649 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24650 'efi_uga.mod'.
24651 (efi_fb_mod_SOURCES): Rename this ...
24652 (efi_uga_mod_SOURCES): ... to this.
24653 (efi_fb_mod_CFLAGS): Rename this ...
24654 (efi_uga_mod_CFLAGS): ... to this.
24655 (efi_fb_mod_LDFLAGS): Rename this ...
24656 (efi_uga_mod_LDFLAGS): ... to this.
24657 * video/efi_fb.c: Move this ...
24658 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24659
fb6c1a7b
RM
246602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24661
24662 * po/README: New file. Explain our PO file workflow.
24663
3bc7896c
RM
246642009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24665
24666 * po/ChangeLog: Remove. Move relevant entries back to ...
24667 * ChangeLog: ... here.
24668 * po/ca.po: Remove (now handled by TLP).
24669 * po/id.po: Likewise.
24670 * po/zh_CN.po: Likewise.
24671 * Makefile.in (LINGUAS): Initialize in a way that supports
24672 empty set.
24673
9ed4841d
RM
246742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24675
24676 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24677 reliing on po/LINGUAS.
24678 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24679 (po/%.po): ... this.
24680
0ad46fd7 246812009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24682
24683 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24684 (main): Use `program_name' instead of nonexistent `progname'.
24685
e30dd392
FZ
246862009-11-26 Felix Zielcke <fzielcke@z-51.de>
24687
24688 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24689 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24690
7656de4f
RM
246912009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24694 commit.
24695 * conf/i386-efi.rmk: Likewise.
24696 * conf/i386-ieee1275.rmk: Likewise.
24697 * conf/powerpc-ieee1275.rmk: Likewise.
24698 * conf/sparc64-ieee1275.rmk: Likewise.
24699 * conf/x86_64-efi.rmk: Likewise.
24700
db77c4d4
FZ
247012009-11-26 Felix Zielcke <fzielcke@z-51.de>
24702
24703 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24704
a755bb04
FZ
247052009-11-26 Felix Zielcke <fzielcke@z-51.de>
24706
24707 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24708
8a4c07fd
RM
247092009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24710
24711 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24712 (grub_mkdevicemap_SOURCES): New variable.
24713 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24714 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24715 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24716 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24717 (grub_mkdevicemap_SOURCES): Remove.
24718 * conf/i386-efi.rmk: Likewise.
24719 * conf/i386-ieee1275.rmk: Likewise.
24720 * conf/i386-pc.rmk: Likewise.
24721 * conf/powerpc-ieee1275.rmk: Likewise.
24722 * conf/sparc64-ieee1275.rmk: Likewise.
24723 * conf/x86_64-efi.rmk: Likewise.
24724 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24725 (usage): Fix strings to use `program_name'.
24726 (main): Initialize gettext.
24727 * util/grub-editenv.c: Likewise.
24728 * util/grub-emu.c: Likewise.
24729 * util/grub-fstest.c: Likewise.
24730 * util/grub-mkdevicemap.c: Likewise.
24731 * util/grub-mkfont.c: Likewise.
24732 * util/grub-mkrelpath.c: Likewise.
24733 * util/grub-pe2elf.c: Likewise.
24734 * util/grub-probe.c: Likewise.
24735 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24736 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24737 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24738
24739 * util/misc.c: Include `"progname.h"'.
24740 (progname): Remove variable.
24741 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24742
6f61ed55
FZ
247432009-11-25 Felix Zielcke <fzielcke@z-51.de>
24744
24745 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24746 printf and print a newline after the menuentry header line.
24747 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24748
f022876b
FZ
247492009-11-25 Felix Zielcke <fzielcke@z-51.de>
24750
24751 autoconf >= 2.60 support $(localedir).
24752
24753 * INSTALL: Note that autoconf 2.60 is required.
24754 * configure.ac (AC_PREREQ): Bump to 2.60.
24755 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24756 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24757
6717926e
YB
247582009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24759
24760 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24761 aclocal is run.
24762
08806a54
RM
247632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24764
24765 * normal/main.c (grub_normal_read_line): Fix off-by-one
24766 buffer overflow.
24767
13b33fba
RM
247682009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24769
24770 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24771 "parser.grub" in grub_command_execute() call.
24772
4a8572e9
CPE
247732009-11-24 Carles Pina i Estany <carles@pina.cat>
24774
24775 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24776 * conf/i386-efi.rmk: Likewise.
24777 * conf/i386-ieee1275.rmk: Likewise.
24778 * conf/i386-pc.rmk: Likewise.
24779 * conf/powerpc-ieee1275.rmk: Likewise.
24780 * conf/sparc64-ieee1275.rmk: Likewise.
24781 * conf/x86_64-efi.rmk: Likewise.
24782 * gettext/gettex.c: Include <grub/i18n.h>.
24783 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24784 here ...
24785 * include/grub/i18n.h: ... to here
24786 * include/grub/i18n.h: ... to here.
24787 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24788 (grub_gettext_dummy): Move above user.
4a8572e9 24789
bee48093
FZ
247902009-11-24 Felix Zielcke <fzielcke@z-51.de>
24791
24792 * util/Makefile.in (install-local): Convert a `for' into a normal
24793 shell expansion.
24794
a031e91c
RM
247952009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24796
24797 * autogen.sh: Add automake call.
24798 * config.guess: Remove.
24799 * config.sub: Likewise.
24800 * install-sh: Likewise.
24801
26bec39d
FZ
248022009-11-24 Felix Zielcke <fzielcke@z-51.de>
24803
24804 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24805
8e2532fd
FZ
248062009-11-24 Felix Zielcke <fzielcke@z-51.de>
24807
24808 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24809 function to a normal shell `for'.
24810
fefa1b7d
FZ
248112009-11-24 Felix Zielcke <fzielcke@z-51.de>
24812
24813 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24814
4501250b
FZ
248152009-11-24 Felix Zielcke <fzielcke@z-51.de>
24816
24817 * util/grub-mkrelpath.c: New file.
24818 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24819 (grub_mkrelpath_SOURCES): New variable.
24820 * include/grub/util/misc.h: New function prototype.
24821 * util/misc.c (make_system_path_relative_to_its_root): New function.
24822
24823 * util/grub-mkconfig_lib.in (bindir): New variable.
24824 (grub_mkrelpath): Likewise.
24825 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24826
24827 * util/probe.c (probe): Make the file path relative to its root.
24828 Change a info message to use the GRUB path. Enable again the
24829 check if we can read the file with GRUB facilities.
24830
24831 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24832 to its root.
24833
11d9778b
FZ
248342009-11-24 Felix Zielcke <fzielcke@z-51.de>
24835
24836 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24837 platform.
24838
4465287d
FZ
248392009-11-24 Felix Zielcke <fzielcke@z-51.de>
24840
24841 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24842 strncmp().
24843
62b47f22
FZ
248442009-11-24 Felix Zielcke <fzielcke@z-51.de>
24845
24846 * util/getroot.c (grub_util_is_dmraid): New function.
24847 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24848 devices as normal ones, not as LVM.
24849
1eafb9b9 248502009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24851
24852 * conf/common.rmk: Add grub-gettext_lib target and updates
24853 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24854 LDFLAGS.
24855 * gettext/gettext.c: New file. (Reads mo files).
24856 * include/grub/file.h (grub_file_pread): New prototype.
24857 * include/grub/i18n.h (_): New prototype.
24858 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24859 prototypes.
24860 * kern/misc.c (grub_gettext_dummy): New function.
24861 * normal/menu_text.c: Include <grub/i18n.h>.
24862 * normal/menu_text.c (print_timeout): Gettexttize string.
24863 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24864 * po/POTFILES: Add `normal/menu_text.c'.
24865 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24866 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24867 gettext module and defines locale_dir and lang in grub.cfg.
24868 * NEWS: Add gettext support.
24869
0fdb2568
RM
248702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24871
24872 * util/hostdisk.c: Include `<grub/i18n.h>'.
24873 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24874 (make_device_name): Rewrite using asprintf.
24875 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24876 (find_system_device): If a device is not found, generate one just
24877 by reusing the OS path name.
24878 (read_device_map): Make it permissible for device.map not to exist.
24879
f515aa62
RM
248802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24881
24882 * script/sh/execute.c: Move from here ...
24883 * script/execute.c: ... to here. Update all users.
24884 * script/sh/function.c: Move from here ...
24885 * script/function.c: ... to here. Update all users.
24886 * script/sh/lexer.c: Move from here ...
24887 * script/lexer.c: ... to here. Update all users.
24888 * script/sh/main.c: Move from here ...
24889 * script/main.c: ... to here. Update all users.
24890 * script/sh/parser.y: Move from here ...
24891 * script/parser.y: ... to here. Update all users.
24892 * script/sh/script.c: Move from here ...
24893 * script/script.c: ... to here. Update all users.
24894
f84b481b
RM
248952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24896
24897 * configure.ac: Detect all `emu' platforms. Define
24898 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24899 --enable-grub-emu logic. Disable include/grub/machine
24900 symlink on `emu' platforms.
24901
24902 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24903 * gensymlist.sh.in: Likewise.
24904
24905 * include/grub/i386/coreboot/machine.h: Remove file.
24906 * include/grub/i386/efi/machine.h: Likewise.
24907 * include/grub/i386/ieee1275/machine.h: Likewise.
24908 * include/grub/i386/pc/machine.h: Likewise.
24909 * include/grub/i386/qemu/machine.h: Likewise.
24910 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24911 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24912 * include/grub/x86_64/efi/machine.h: Likewise.
24913
24914 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24915 * commands/halt.c: Likewise.
24916 * commands/reboot.c: Likewise.
24917 * include/grub/autoefi.h: Likewise.
24918 * include/grub/i386/at_keyboard.h: Likewise.
24919 * include/grub/i386/kernel.h: Likewise.
24920 * include/grub/i386/loader.h: Likewise.
24921 * include/grub/i386/pc/memory.h: Likewise.
24922 * kern/dl.c: Likewise.
24923 * kern/i386/coreboot/init.c: Likewise.
24924 * loader/i386/bsd.c: Likewise.
24925 * loader/i386/linux.c: Likewise.
24926 * loader/multiboot_loader.c: Likewise.
24927 * term/i386/pc/serial.c: Likewise.
24928 * term/usb_keyboard.c: Likewise.
24929
24930 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24931 `<grub/machine/machine.h>'
24932 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24933 * util/misc.c: Remove `<grub/machine/machine.h>' and
24934 `<grub/machine/time.h>'.
24935
24936 * Makefile.in (enable_grub_emu): Remove variable.
24937 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24938
24939 * conf/any-emu.rmk: New file.
24940 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24941 (grub_emu_init.c): Move from here ...
24942 * conf/any-emu.rmk: ... to here.
24943
24944 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24945 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24946 * conf/any-emu.rmk: ... to here.
24947
4efeab03
RM
249482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24949
24950 * include/grub/parser.h (grub_parser_register): Document need
24951 of `name' parameter.
24952 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24953 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24954 "sh" to "grub".
24955
ea1dd8bf
RM
249562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24957
24958 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24959 `$(XGETTEXT)'.
24960 * include/grub/i18n.h (N_): New macro.
24961 * util/mkisofs/mkisofs.h: Likewise.
24962 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24963 around N_().
24964 (usage): Use gettext() to translate help strings when printing them.
24965
0c140626
RM
249662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24967
24968 Based on patch from Bean
24969 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24970
24971 * video/efi_fb.c: New file.
24972 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24973 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24974 variables.
24975 * conf/x86_64-efi.rmk: Likewise.
24976
87d58298
RM
249772009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24978
24979 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24980 * util/i386/pc/grub-setup.c: Likewise.
24981
994cc3a3
ST
249822009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24983
24984 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24985 <hurd/fs.h>
24986 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24987 file_get_storage_info to implement grub_guess_root_device.
24988
26a61d6a
FZ
249892009-11-21 Felix Zielcke <fzielcke@z-51.de>
24990
24991 * Makefile.in (target): Use make's builtin $(shell) function
24992 instead of calling directly $(SHELL) to create the locale directories,
24993 inside the $(foreach) function.
24994
74ff1dd5
FZ
249952009-11-21 Felix Zielcke <fzielcke@z-51.de>
24996
24997 * util/grub-mkrescue.in: Print an error and usage if output option
24998 has not been given.
24999
0b787d0e
FZ
250002009-11-21 Felix Zielcke <fzielcke@z-51.de>
25001
25002 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25003 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25004 root and /boot are on different devices.
25005
1164b270
RM
250062009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25007
25008 Fix build for srcdir != objdir.
25009
25010 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25011 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25012 $(srcdir).
25013 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25014 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25015 reference for input.
25016
13774a2f
RM
250172009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25018
25019 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25020 or hardlinking it). Remove -J option, Joliet is not compatible with
25021 multiple source directories.
25022
efda854e
RM
250232009-11-21 Carles Pina i Estany <carles@pina.cat>
250242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25025
25026 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25027 (process_input_dir): New function. Process an arbitrary input
25028 directory.
25029 Misc adjustments to support both "override mode" and system-wide mode.
25030
6c09890c
FZ
250312009-11-20 Felix Zielcke <fzielcke@z-51.de>
25032
25033 * configure.ac (UNIFONT_BDF): Rename to ...
25034 (FONT_SOURCE): ... this. Update all users.
25035
a797824f
FZ
250362009-11-20 Felix Zielcke <fzielcke@z-51.de>
25037
25038 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25039 to the list of unifont files to look for.
25040
cd4f42b0
RM
250412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25042
25043 Patch from Joe Auricchio <jauricchio@gmail.com>
25044 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25045 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25046 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25047
393c783d
FZ
250482009-11-19 Felix Zielcke <fzielcke@z-51.de>
25049
25050 * Makefile.in (install-local): Add a missing backslash.
25051
b2f1e327
FZ
250522009-11-19 Felix Zielcke <fzielcke@z-51.de>
25053
25054 * include/grub/x86_64/io.h: New file.
25055
f577f7a0
RM
250562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25057
25058 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25059 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25060 Include `"progname.h"'.
25061 (main): Initialize gettext.
25062 * util/i386/pc/grub-setup.c: Gettexttize.
25063 * util/i386/pc/grub-mkimage.c: Likewise.
25064
25065 * Makefile.in (po/*.po): Redefine as ...
25066 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25067
3bc7896c
RM
25068 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25069
c37943b6
RM
250702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25071
25072 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25073 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25074 (program_name): Remove.
25075 (main): Initialize gettext support.
6323f705
RM
25076 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25077 Include `<libintl.h>'.
25078 (_): New macro.
c37943b6
RM
25079
25080 * util/mkisofs/eltorito.c: Gettexttize.
25081 * util/mkisofs/joliet.c: Likewise.
25082 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25083 * util/mkisofs/multi.c: Likewise.
25084 * util/mkisofs/rock.c: Likewise.
25085 * util/mkisofs/tree.c: Likewise.
25086 * util/mkisofs/write.c: Likewise.
25087
3bc7896c
RM
25088 * po/POTFILES: Update with new files.
25089
5ce77c6e
RM
250902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25091
25092 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25093 * util/mkisofs/iso9660.h: Likewise.
25094 * util/mkisofs/joliet.c: Likewise.
25095 * util/mkisofs/mkisofs.c: Likewise.
25096 * util/mkisofs/mkisofs.h: Likewise.
25097 * util/mkisofs/rock.c: Likewise.
25098 * util/mkisofs/tree.c: Likewise.
25099 * util/mkisofs/write.c: Likewise.
25100
25101 * util/mkisofs/eltorito.c (rcsid): Remove.
25102 * util/mkisofs/hash.c: Likewise.
25103 * util/mkisofs/joliet.c: Likewise.
25104 * util/mkisofs/name.c: Likewise.
25105 * util/mkisofs/rock.c: Likewise.
25106 * util/mkisofs/tree.c: Likewise.
25107 * util/mkisofs/write.c: Likewise.
25108
1dabbc77
RM
251092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25110
25111 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25112 instead of static allocation.
25113 * util/mkisofs/match.h: Likewise.
25114
633877cb
RM
251152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25116
3bc7896c
RM
25117 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25118 and `util/grub.d/10_linux.in'.
633877cb
RM
25119 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25120 translatable Shell files.
25121
af1c0c85
RM
251222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25123
25124 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25125
769ae37b
RM
251262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25127
25128 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25129 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25130 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25131 Add gettext initialization.
25132 (kfreebsd_entry): Make menuentry output translatable.
25133
251342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25135
25136 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25137 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25138 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25139 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25140 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25141 * po/LINGUAS: New file.
769ae37b
RM
25142
251432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25144
25145 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25146 other things).
25147 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25148 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25149 bindtextdomain() calls for gettext initialization.
25150
251512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25152
25153 * gnulib/progname.c: New file (imported from Gnulib).
25154 * gnulib/progname.h: Likewise.
25155 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25156 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25157 (usage): Replace `progname' with `program_name'.
25158 (main): Use set_program_name() for program name initialization.
25159
251602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25161
25162 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25163 from here ...
25164 * Makefile.in (CPPFLAGS): ... to here.
25165
251662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25167
25168 * aclocal.m4: Move from here ...
25169 * acinclude.m4: ... to here.
25170 * autogen.sh: Add call to `aclocal'.
25171 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25172
251732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25174
25175 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25176 (LINGUAS): New variable.
25177 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25178 (install-local): Install MO files.
25179 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25180 * include/grub/i18n.h: New file.
3bc7896c
RM
25181 * po/POTFILES: New file.
25182 * po/ca.po: New file.
769ae37b
RM
25183 * util/grub.d/10_linux.in (bindir): New variable.
25184 Add gettext initialization.
25185 (linux_entry): Make menuentry output translatable.
25186 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25187 (usage): Make --help output translatable.
25188 (main): Initialize gettext.
25189
02c0a6ad
RM
251902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25191
25192 * import_gcry.py: New file (written by Vladimir with minor
25193 adjustments).
25194 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25195 ciphers.
25196 * INSTALL: Document that Python is required for bootstrap.
25197
251982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25199
25200 Import ciphers from libgcrypt 1.4.4.
25201
25202 * lib/libgcrypt/cipher/ChangeLog
25203 * lib/libgcrypt/cipher/ac.c
25204 * lib/libgcrypt/cipher/arcfour.c
25205 * lib/libgcrypt/cipher/bithelp.h
25206 * lib/libgcrypt/cipher/blowfish.c
25207 * lib/libgcrypt/cipher/camellia-glue.c
25208 * lib/libgcrypt/cipher/camellia.c
25209 * lib/libgcrypt/cipher/camellia.h
25210 * lib/libgcrypt/cipher/cast5.c
25211 * lib/libgcrypt/cipher/cipher.c
25212 * lib/libgcrypt/cipher/crc.c
25213 * lib/libgcrypt/cipher/des.c
25214 * lib/libgcrypt/cipher/dsa.c
25215 * lib/libgcrypt/cipher/ecc.c
25216 * lib/libgcrypt/cipher/elgamal.c
25217 * lib/libgcrypt/cipher/hash-common.c
25218 * lib/libgcrypt/cipher/hash-common.h
25219 * lib/libgcrypt/cipher/hmac-tests.c
25220 * lib/libgcrypt/cipher/md.c
25221 * lib/libgcrypt/cipher/md4.c
25222 * lib/libgcrypt/cipher/md5.c
25223 * lib/libgcrypt/cipher/primegen.c
25224 * lib/libgcrypt/cipher/pubkey.c
25225 * lib/libgcrypt/cipher/rfc2268.c
25226 * lib/libgcrypt/cipher/rijndael-tables.h
25227 * lib/libgcrypt/cipher/rijndael.c
25228 * lib/libgcrypt/cipher/rmd.h
25229 * lib/libgcrypt/cipher/rmd160.c
25230 * lib/libgcrypt/cipher/rsa.c
25231 * lib/libgcrypt/cipher/seed.c
25232 * lib/libgcrypt/cipher/serpent.c
25233 * lib/libgcrypt/cipher/sha1.c
25234 * lib/libgcrypt/cipher/sha256.c
25235 * lib/libgcrypt/cipher/sha512.c
25236 * lib/libgcrypt/cipher/tiger.c
25237 * lib/libgcrypt/cipher/twofish.c
25238 * lib/libgcrypt/cipher/whirlpool.c
25239
af2f93ac
RM
252402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25241
25242 Fix build for systems without error().
25243
25244 * gnulib/error.c: New file (imported from Gnulib).
25245 * gnulib/error.h: Likewise.
25246 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25247 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25248 (this variable is now used by error()).
25249
73fb3dd5
FZ
252502009-11-16 Felix Zielcke <fzielcke@z-51.de>
25251
814f5e96
FZ
25252 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25253 instead of relying that char is signed.
73fb3dd5 25254
a691ca33
VS
252552009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25256
25257 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25258 blocksize different from specified.
25259 (grub_pxefs_read): Likewise.
25260
2af8f0f4
FZ
252612009-11-16 Felix Zielcke <fzielcke@z-51.de>
25262
25263 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25264
25265 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25266 (grub_ata_readwrite): Likewise. Update 2 format strings.
25267 (grub_atapi_read): Likewise.
25268
25269 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25270 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25271 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25272 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25273 (ata_mod_LDFLAGS): Move from here ...
25274 * conf/i386.rmk: ... to here ...
25275 * conf/x86_64-efi.rmk: ... and here.
25276 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25277 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25278
83bdecaf
RM
252792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25280
25281 Relicense multiboot.h, with RMS' blessing.
25282
25283 * include/multiboot.h: Change to X11 license.
25284
fd6fd3d7
RM
252852009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25286
25287 Support --version in grub-mkisofs.
25288
25289 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25290 (OPTION_VERSION): New macro.
25291 (ld_options): Recognize --version.
25292 (usage): Move `program_name' from here ...
25293 (program_name): ... to here. Add `static' qualifier.
25294 (main): Recognize `OPTION_VERSION'.
25295
16a88c49
FZ
252962009-11-15 Felix Zielcke <fzielcke@z-51.de>
25297
25298 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25299 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25300
a4158476
RM
253012009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25302
25303 Fix help2man generation for mkisofs.
25304
25305 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25306 (usage): Send output to stdout (rather than stderr).
25307
fc2208b0
RM
253082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25309
25310 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25311 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25312 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25313 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25314 (bin_SCRIPTS): Add `grub-mkfloppy'.
25315 (grub_mkfloppy_SOURCES): New variable.
25316
25317 * util/grub-mkrescue.in: New file.
25318 * util/i386/pc/grub-mkfloppy.in: New file.
25319
25320 * util/i386/coreboot/grub-mkrescue.in: Remove.
25321 * util/i386/pc/grub-mkrescue.in: Remove.
25322
8d0edf4a
RM
253232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25324
25325 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25326 from here ...
25327 * include/multiboot.h (struct multiboot_header): ... to here. Update
25328 all users.
25329 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25330 from here ...
25331 * include/multiboot.h (struct multiboot_info): ... to here. Update
25332 all users.
25333 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25334 from here ...
25335 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25336 Update all users.
25337 * include/grub/multiboot.h (struct grub_mod_list): Move
25338 from here ...
25339 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25340 Update all users.
25341
a73f5969
RM
253422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25343
25344 * include/multiboot2.h (multiboot_word): Rename from this ...
25345 (multiboot2_word): ... to this. Update all users.
25346 (multiboot_header): Rename from this ...
25347 (multiboot2_header): ... to this. Update all users.
25348 (multiboot_tag_header): Rename from this ...
25349 (multiboot2_tag_header): ... to this. Update all users.
25350 (multiboot_tag_start): Rename from this ...
25351 (multiboot2_tag_start): ... to this. Update all users.
25352 (multiboot_tag_name): Rename from this ...
25353 (multiboot2_tag_name): ... to this. Update all users.
25354 (multiboot_tag_module): Rename from this ...
25355 (multiboot2_tag_module): ... to this. Update all users.
25356 (multiboot_tag_memory): Rename from this ...
25357 (multiboot2_tag_memory): ... to this. Update all users.
25358 (multiboot_tag_unused): Rename from this ...
25359 (multiboot2_tag_unused): ... to this. Update all users.
25360 (multiboot_tag_end): Rename from this ...
25361 (multiboot2_tag_end): ... to this. Update all users.
25362
1c8927f0
RM
253632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25364
25365 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25366 this platform we should support Multiboot1 first.
25367
25368 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25369 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25370 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25371
6e1e0d89
RM
253722009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25373
25374 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25375 of write calls (converting them to fwrite() if they aren't already).
25376 (get_torito_desc): Likewise.
25377 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25378
7f2b34d8
RM
253792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25380
25381 * util/i386/pc/grub-install.in: Move from here ...
25382 * util/grub-install.in: ... to here. Update all users.
25383
c0ef3311
CW
253842009-11-11 Colin Watson <cjwatson@ubuntu.com>
25385
25386 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25387
e1f240ff
RM
253882009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25389
25390 Support for El Torito without floppy emulation.
25391
25392 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25393 (init_boot_catalog): Improve error handling.
25394 (get_torito_desc): Don't use floppy emulation unless requested by
25395 user. Patch boot information table when requested via
25396 `-boot-info-table'.
25397 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25398 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25399 (use_boot_info_table): New variables.
25400 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25401 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25402 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25403 `--eltorito-emul-floppy'.
25404 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25405 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25406 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25407 (use_boot_info_table, get_731): New prototypes.
25408 * util/mkisofs/write.c (get_731): New function.
25409
af7d4de5
FZ
254102009-11-11 Felix Zielcke <fzielcke@z-51.de>
25411
25412 Fix the generation of the man page.
25413
25414 * util/pc/i386/grub-install.in: Source
25415 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25416
2c55dbc0
RM
254172009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25418
25419 Large file support for grub-mkisofs.
25420
25421 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25422 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25423 (session_start): Upgrade type to `uint64_t'. Update all users.
25424 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25425 (struct directory_entry): Upgrade type of `starting_block' and
25426 `size' to `uint64_t'. Update all users.
25427 (struct deferred): Remove unused structure.
25428 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25429 Update all users.
25430 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25431 file is larger than `UINT32_MAX'.
25432 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25433 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25434 return value.
25435 (struct deferred_write): Upgrade type of `extent' and `size' to
25436 `uint64_t'. Update all users.
25437 (last_extent_written): Upgrade type to `uint64_t'. Update all
25438 users.
25439 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25440 Update all users. Upgrade type of `remain' to `int64_t' and
25441 `use' to `size_t'. Use error() to handle fread() errors.
25442 (write_files): Rely on write_one_file() rather than calling
25443 xfwrite() directly.
25444
6a9cead5
FZ
254452009-11-09 Felix Zielcke <fzielcke@z-51.de>
25446
25447 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25448
4825d790
RM
254492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25450
25451 * util/mkisofs/fnmatch.c: Remove.
25452 * util/mkisofs/getopt1.c: Likewise.
25453 * util/mkisofs/getopt.c: Likewise.
25454 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25455 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25456 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25457 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25458 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25459
25460 * configure.ac: Detect `mingw32msvc' host_os.
25461 Check for lstat(), getuid() and getgid().
25462
25463 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25464 instances of `u_char' with `uint8_t'.
25465
25466 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25467 [!HAVE_GETUID] (getuid): New function (stub).
25468 [!HAVE_GETGID] (getgid): Likewise.
25469 [!HAVE_LSTAT] (lstat): Likewise.
25470 [!S_IROTH] (S_IROTH): New macro (dummy).
25471 [!S_IRGRP] (S_IRGRP): Likewise.
25472
84b860d8
RM
254732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25474
25475 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25476 conditional expression).
25477
66e9b712
RM
254782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25479
25480 Import from Gnulib.
25481
25482 * gnulib/fnmatch.c: New file.
25483 * gnulib/fnmatch.h: Likewise.
25484 * gnulib/fnmatch_loop.c: Likewise.
25485 * gnulib/getopt.c: Likewise.
25486 * gnulib/getopt.h: Likewise.
25487 * gnulib/getopt1.c: Likewise.
25488 * gnulib/getopt_int.h: Likewise.
25489 * gnulib/gettext.h: Likewise.
25490
34f4a5b0
RM
254912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25492
25493 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25494 * normal/handler.c (read_handler_list): Likewise.
25495
ac451143
RM
254962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25497
25498 Misc cleanup.
25499
25500 * kern/command.c (grub_register_command_prio): Use
25501 grub_zalloc() instead of explicitly zeroing data.
25502 * kern/list.c: Include `<grub/mm.h>'.
25503 (grub_named_list_find): Replace `0' with `NULL'.
25504 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25505 (fs_module_list): Change type to `grub_named_list_t'. Update all
25506 users.
25507 * normal/dyncmd.c (read_command_list): Add space between function
25508 call and parenthesis.
25509 * normal/handler.c (read_handler_list): Likewise.
25510
4089b167
RM
255112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25512
25513 * normal/auth.c (punishment_delay): Moved from here ...
25514 (grub_auth_strcmp): ... to here (inside function).
25515
325f5037
RM
255162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25517
25518 * include/grub/list.h (struct grub_named_list): Remove `const'
25519 qualifier from `name'.
25520 (struct grub_prio_list): Likewise.
25521
7aea29a3
RM
255222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25523
25524 * normal/auth.c: Include `<grub/time.h>'.
25525 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25526
3fd6f044
RM
255272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25528
25529 * normal/auth.c (punishment_delay): New variable.
25530 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25531 (grub_auth_check_authentication): Punish failed login attempts with
25532 an incremental (2^N) delay.
25533
a4cd68e4
RM
255342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25535
25536 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25537 path with $(srcdir).
25538
7ad12f43
VS
255392009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25540
25541 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25542
c1129f03
RM
255432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25544
25545 * util/i386/coreboot/grub-mkrescue.in: New file.
25546 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25547 variables.
25548
25549 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25550 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25551 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25552 requirements.
25553 * util/mkisofs/defaults.h: New file.
25554 * util/mkisofs/eltorito.c: Likewise.
25555 * util/mkisofs/exclude.h: Likewise.
25556 * util/mkisofs/fnmatch.c: Likewise.
25557 * util/mkisofs/getopt.c: Likewise.
25558 * util/mkisofs/getopt1.c: Likewise.
25559 * util/mkisofs/hash.c: Likewise.
25560 * util/mkisofs/include/fctldefs.h: Likewise.
25561 * util/mkisofs/include/mconfig.h: Likewise.
25562 * util/mkisofs/include/prototyp.h: Likewise.
25563 * util/mkisofs/include/statdefs.h: Likewise.
25564 * util/mkisofs/iso9660.h: Likewise.
25565 * util/mkisofs/joliet.c: Likewise.
25566 * util/mkisofs/match.c: Likewise.
25567 * util/mkisofs/match.h: Likewise.
25568 * util/mkisofs/mkisofs.c: Likewise.
25569 * util/mkisofs/mkisofs.h: Likewise.
25570 * util/mkisofs/multi.c: Likewise.
25571 * util/mkisofs/name.c: Likewise.
25572 * util/mkisofs/rock.c: Likewise.
25573 * util/mkisofs/tree.c: Likewise.
25574 * util/mkisofs/write.c: Likewise.
25575
ec8bb77d
VS
255762009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25577
25578 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25579 being insecure.
25580
3716b12c
RM
255812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25582
25583 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25584 `grub-mkimage' (and use $0 when possible).
25585
b97b7b91
RM
255862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25587
25588 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25589 error message for excessively large memory map.
25590
04114812
RM
255912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25592
25593 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25594 executable bit.
25595
e4eb2373
RM
255962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25597
25598 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25599 message for coreboot users.
25600
c926e1d5 256012009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25602
25603 Fix build with GNU gold.
25604
25605 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25606 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25607 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25608 link addresses.
25609 * aclocal.m4: Likewise.
25610
86e5b1db 256112009-11-04 Felix Zielcke <fzielcke@z-51.de>
25612
25613 * configure.ac (AC_PREREQ): Bump to 2.59d.
25614 * INSTALL: Make it more clear when Autoconf and Ruby are
25615 needed and when to run `./autogen.sh'.
25616
246cd78f 256172009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25618
25619 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25620 OSes.
25621
4f9dfb37 256222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25623
25624 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25625
b82bd5e1 256262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25627
25628 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25629 giving it to GNU Mach.
25630
ff1a9bca 256312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25632
25633 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25634 GNU partition number to get internal GRUB partition number.
25635
61697d9c 256362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25637
25638 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25639 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25640
a50569e1 256412009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25642
25643 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25644 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25645 case.
25646
5b153867 256472009-11-01 Felix Zielcke <fzielcke@z-51.de>
25648
25649 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25650
d9e2cd70 256512009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25652
25653 Fix build problem.
25654
25655 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25656 `-isystem=$(srcdir)/include'.
25657
805111a4 256582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25659
25660 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25661 checked (grub-install doesn't currently rely on it).
25662
fa6e945f 256632009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25664
25665 Revert SVN r2660.
25666
25667 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25668 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25669 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25670 * conf/i386-ieee1275.rmk: Likewise.
25671 * conf/i386-pc.rmk: Likewise.
25672 * conf/powerpc-ieee1275.rmk: Likewise.
25673 * conf/sparc64-ieee1275.rmk: Likewise.
25674 * conf/x86_64-efi.rmk: Likewise.
25675
cee15086 256762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25677
25678 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25679
95b9239e 256802009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25681
25682 * include/grub/misc.h: Stop checking for APPLE_CC.
25683
2ed19dfd 256842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25685
25686 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25687 doesn't cause an infinite call loop.
25688
fdcdde19 256892009-10-28 Felix Zielcke <fzielcke@z-51.de>
25690
25691 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25692 strings.
25693
cefabfe1 256942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25695
25696 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25697 variable.
25698 * Makefile.in: Likewise.
25699
ed96ab6d 257002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25701
25702 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25703
0579b753 257042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25705
25706 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25707
478df409 257082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25709
25710 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25711
083d1679 257122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25713
25714 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25715 from here ...
25716 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25717
5947ae32 257182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25719
25720 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25721 in $(MAKEINFO) invocation. This makes it clear in output that
25722 errors are being ignored.
25723
94180ff6 257242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25725
25726 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25727 from here ...
25728 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25729 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25730 * conf/i386-ieee1275.rmk: Likewise.
25731 * conf/i386-pc.rmk: Likewise.
25732 * conf/powerpc-ieee1275.rmk: Likewise.
25733 * conf/sparc64-ieee1275.rmk: Likewise.
25734 * conf/x86_64-efi.rmk: Likewise.
25735
9031b03a 257362009-10-26 Colin Watson <cjwatson@ubuntu.com>
25737
25738 * util/grub-editenv.c (main): If only a command is given, use
25739 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25740 (usage): FILENAME is now optional and has a default.
25741
e4f6809b 257422009-10-26 Colin Watson <cjwatson@ubuntu.com>
25743
25744 Improve grub-mkconfig performance when there are several menu
25745 entries on a single filesystem.
25746
25747 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25748 prepare_grub_to_access_device.
25749 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25750 * util/grub.d/30_os-prober.in: Likewise.
25751
67937d4d 257522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25753
25754 * util/grub.d/10_freebsd.in: Remove.
25755 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25756 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25757
ee3756cc 257582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25759
5c35048e 25760 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25761
4dea1c6f 257622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25763
25764 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25765 grub_util_error() call.
25766
042484d7 257672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25768
25769 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25770 `reserved_first_sector' member.
25771 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25772 `reserved_first_sector' to 1.
25773 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25774 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25775 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25776 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25777 filesystems which begin at first sector.
25778 (options): New option --skip-fs-probe.
25779 (main): Handle --skip-fs-probe and pass it to setup().
25780
d64448a7 257812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25782
25783 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25784 (memset): Fix function prototype.
25785
508d42ec 257862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
257872009-10-25 Vasily Averin <vvs@parallels.com>
25788
25789 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25790 `dirent.direntlen == 0'.
25791
b240e30c 257922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25793
25794 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25795 `cpio'.
25796 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25797
346e7fbe 257982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25799
25800 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25801 `__trampoline_setup' and `__ucmpdi2'.
25802 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25803 that libgcc provides.
25804
cdb308b0 258052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25806
25807 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25808 * include/grub/sparc64/libgcc.h (memset): Likewise.
25809 * include/grub/misc.h (memset, memcmp): New function prototypes.
25810
fb26abc2 258112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25812
25813 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25814 `cpio'.
25815 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25816
f6693890 258172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25818
25819 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25820 * docs/grub.cfg: Compensate for recent change in multiboot
25821 loader (since 2009-08-14 it won't pass filename to payload).
25822 * util/grub.d/10_hurd.in: Likewise.
25823
0933cdc0 258242009-10-21 Felix Zielcke <fzielcke@z-51.de>
25825
25826 * config.guess: Update to latest version from config git
25827 repository.
25828 * config.sub: Likewise.
25829
3b2fe8c2 258302009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 Fix build on sparc64.
25833
25834 * configure.ac: Perform checks for libgcc symbols before
25835 adding `-nostdlib' to LDFLAGS.
25836
46695a62 258372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25838
25839 Let user specify OpenBSD root device.
25840
25841 * loader/i386/bsd.c (openbsd_root): New variable.
25842 (openbsd_opts): New option 'root'.
25843 (OPENBSD_ROOT_ARG): New macro.
25844 (grub_openbsd_boot): Use 'openbsd_root'.
25845 (grub_cmd_openbsd): Fill 'openbsd_root'.
25846
d2b6b7fc 258472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25848
25849 * NEWS: Misc adjustments.
25850
421bd7ac 258512009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25854
f1d29d87 258552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 * configure.ac: Bump version to 1.97.
25858
6f3cd880 258592009-10-16 Colin Watson <cjwatson@ubuntu.com>
25860
25861 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25862 -mno-3dnow on x86 architectures. Some toolchains enable these
25863 features by default, but they rely on registers that aren't enabled
25864 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25865
035f7122 258662009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25867
25868 Make entry text a bit more readable.
25869
25870 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25871
44998e58 258722009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25873
25874 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25875
cd2851b3 258762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25877
25878 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25879 operations.
25880
c6f3b249 258812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25882
25883 * configure.ac: Add missing dollar.
25884
6b5886ba 258852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25886
25887 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25888
25889 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25890 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25891 exports.
25892 * include/grub/sparc64/libgcc.h: Likewise. Use
25893 preprocessor conditionals.
25894
e9d66f6d 258952009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25896
25897 * conf/common.rmk (grub-dumpbios): Remove rule.
25898 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25899 * util/grub-dumpbios.in: Remove file.
25900
9155bc17 259012009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25902
25903 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25904 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25905
25906 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25907 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25908 users.
25909
25910 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25911 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25912 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25913 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25914 users.
25915
bf7f7a18 259162009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25917
25918 * term/tparm.c: Switch to GPLv3.
25919
86564c26 259202009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25921
25922 * include/grub/i386/cpuid.h: Add header protection.
25923
5c936493 259242009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25925
25926 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25927
25928 * include/grub/i386/cpuid.h: New file.
25929 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25930 (has_longmode): Rename to ...
25931 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25932 `static' attribute.
25933 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25934 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25935 on a CPU that doesn't implement AMD64 instruction set.
25936
186e7cf2 259372009-10-06 Colin Watson <cjwatson@ubuntu.com>
25938
25939 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25940 that version.texi is rebuilt on version number changes.
25941
83b65c4a 259422009-10-06 Colin Watson <cjwatson@ubuntu.com>
25943
25944 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25945 Fixes bug #27602.
25946
d244281c 259472009-10-06 Colin Watson <cjwatson@ubuntu.com>
25948
25949 * util/i386/pc/grub-install.in: Source
25950 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25951 that the --grub-probe option will work.
25952 * util/sparc64/ieee1275/grub-install.in: Likewise.
25953
da25306d 259542009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25955
25956 * configure.ac: Bump version to 1.97~beta4.
25957
e8ee83c0 259582009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25959
25960 Resync grub-mkdevicemap in x86_64-efi.
25961
25962 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25963 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25964 `util/devicemap.c'.
25965
50dcabcf 259662009-10-01 Colin Watson <cjwatson@ubuntu.com>
25967
25968 * util/grub-editenv.c (create_envblk_file): Write new block with a
25969 .new suffix and then rename it into place, to ensure atomic
25970 creation.
25971
0e51c3a7 259722009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25973
25974 Do not automatically install headers.
25975
25976 * Makefile.in (include_DATA): Remove. Update all users.
25977
31299a95 259782009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25979
25980 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25981 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25982
25983 * util/osdetect.lua: Remove.
25984 * script/lua/lauxlib.c: Likewise.
25985 * script/lua/ldebug.c: Likewise.
25986 * script/lua/grub_main.c: Likewise.
25987 * script/lua/lauxlib.h: Likewise.
25988 * script/lua/ldebug.h: Likewise.
25989 * script/lua/ltablib.c: Likewise.
25990 * script/lua/liolib.c: Likewise.
25991 * script/lua/lstrlib.c: Likewise.
25992 * script/lua/lualib.h: Likewise.
25993 * script/lua/ldo.c: Likewise.
25994 * script/lua/ldump.c: Likewise.
25995 * script/lua/ldo.h: Likewise.
25996 * script/lua/loslib.c: Likewise.
25997 * script/lua/lundump.c: Likewise.
25998 * script/lua/grub_lib.c: Likewise.
25999 * script/lua/ldblib.c: Likewise.
26000 * script/lua/lundump.h: Likewise.
26001 * script/lua/lmem.c: Likewise.
26002 * script/lua/grub_lib.h: Likewise.
26003 * script/lua/lmathlib.c: Likewise.
26004 * script/lua/lstate.c: Likewise.
26005 * script/lua/ltm.c: Likewise.
26006 * script/lua/lvm.c: Likewise.
26007 * script/lua/lmem.h: Likewise.
26008 * script/lua/lstate.h: Likewise.
26009 * script/lua/ltm.h: Likewise.
26010 * script/lua/ltable.c: Likewise.
26011 * script/lua/lvm.h: Likewise.
26012 * script/lua/llex.c: Likewise.
26013 * script/lua/lgc.c: Likewise.
26014 * script/lua/grub_lua.h: Likewise.
26015 * script/lua/loadlib.c: Likewise.
26016 * script/lua/lfunc.c: Likewise.
26017 * script/lua/lopcodes.c: Likewise.
26018 * script/lua/lparser.c: Likewise.
26019 * script/lua/ltable.h: Likewise.
26020 * script/lua/llex.h: Likewise.
26021 * script/lua/lgc.h: Likewise.
26022 * script/lua/lfunc.h: Likewise.
26023 * script/lua/lbaselib.c: Likewise.
26024 * script/lua/lopcodes.h: Likewise.
26025 * script/lua/lparser.h: Likewise.
26026 * script/lua/lzio.c: Likewise.
26027 * script/lua/linit.c: Likewise.
26028 * script/lua/lobject.c: Likewise.
26029 * script/lua/llimits.h: Likewise.
26030 * script/lua/lstring.c: Likewise.
26031 * script/lua/lzio.h: Likewise.
26032 * script/lua/lapi.c: Likewise.
26033 * script/lua/lcode.c: Likewise.
26034 * script/lua/lua.h: Likewise.
26035 * script/lua/lobject.h: Likewise.
26036 * script/lua/lstring.h: Likewise.
26037 * script/lua/lapi.h: Likewise.
26038 * script/lua/lcode.h: Likewise.
26039 * script/lua/luaconf.h: Likewise.
26040
cb8a2c38 260412009-09-26 Colin Watson <cjwatson@ubuntu.com>
26042
26043 * docs/grub.texi (Command-line and menu entry commands): Document
26044 date and echo commands.
26045
6b9b6276 260462009-09-24 Pavel Roskin <proski@gnu.org>
26047
26048 * include/grub/kernel.h (struct grub_module_header): Remove
26049 `grub_module_header_types'. Make `type' unsigned. Make `size'
26050 32-bit on all platforms.
26051 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26052 8-bit field. Use grub_host_to_target32() for `size'.
26053 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26054 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26055 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26056
4e5a02a7 260572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26058
26059 Fix "lost keypress" bug in at_keyboard.
26060
26061 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26062 Checks for readyness of input buffer (without flushing it).
26063 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26064 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26065
c6dcedf6 260662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26067
26068 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26069 size check within GRUB_MACHINE_PCBIOS section.
26070
74c958b1 260712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26072
26073 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26074 return value.
26075 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26076 KEYBOARD_ISREADY check.
26077 (grub_at_keyboard_checkkey): Rename to ...
26078 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26079 Remove gratuitous cast.
26080
ff420223 260812009-09-23 Colin Watson <cjwatson@ubuntu.com>
26082
26083 * configure.ac: Call AC_PROG_MKDIR_P.
26084 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26085 version.texi in $(builddir) rather than $(srcdir).
26086 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26087 to makeinfo's @include search path.
26088
d96875df 260892009-09-23 Felix Zielcke <fzielcke@z-51.de>
26090
26091 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26092
9b3f8365 260932009-09-23 Felix Zielcke <fzielcke@z-51.de>
26094
26095 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26096 for `*.dpkg-new'.
26097
c44c90db 260982009-09-21 Colin Watson <cjwatson@ubuntu.com>
26099
26100 Build info documentation. Some code borrowed from Automake.
26101
26102 * configure.ac: Check for makeinfo.
26103 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26104 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26105 docs/version.texi.
26106 (MOSTLYCLEANFILES): Add vti.tmp.
26107 (docs/version.texi, docs/stamp-vti): Update automatically.
26108 (docs/grub.info): Build info documentation. Use --force and ignore
26109 errors for now.
26110 (all-local): Add $(INFOS).
26111 (install-local): Install info files.
26112 (uninstall): Uninstall info files.
26113 * docs/version.texi: Remove from revision control. This file is
26114 automatically generated on build now.
26115 * gendistlist.sh: Add `*.info'.
26116
e0b37bb5 261172009-09-21 Felix Zielcke <fzielcke@z-51.de>
26118
26119 * kern/term.c: Fix indentation.
26120
5a78865b 261212009-09-21 Felix Zielcke <fzielcke@z-51.de>
26122
26123 * util/hostdisk.c: Fix a comment.
26124
dace7e8a 261252009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26126
26127 Fix regression introduced in r2539.
26128
26129 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26130 to 0xA1.
26131
a83d079b 261322009-09-19 Colin Watson <cjwatson@ubuntu.com>
26133
26134 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26135 os-prober. Under normal operation, it does not print anything to
26136 stderr; if it does, we need to debug it, and throwing away stderr
26137 makes that excessively difficult.
a83d079b 26138
be94a509 261392009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26140
26141 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26142
63f745e8 261432009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26144
26145 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26146 AC_LANG_PROGRAM from autoconf.
26147 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26148 prototypes (fixes warning).
26149
26150 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26151 `--disable-werror' was used.
26152
bbb2a70f 261532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26154
26155 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26156 uninitialized `lastaddr'.
26157
77c24f1d 261582009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26159
0f0b8c87 26160 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26161
07197f23 261622009-09-14 Colin Watson <cjwatson@ubuntu.com>
26163
26164 * commands/test.c (get_fileinfo): Return immediately if
26165 grub_fs_probe fails.
26166
dabf1798 261672009-09-14 José Martínez <xosemp@gmail.com>
26168
26169 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26170
d52109a7 261712009-09-14 Colin Watson <cjwatson@ubuntu.com>
26172
26173 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26174 output.
26175
56532179 261762009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26177
26178 * configure.ac: Remove --enable-grub-pe2elf. Only build
26179 grub-pe2elf when needed by the build system itself.
26180 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26181
8ef070f5 261822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * configure.ac: Bump version to 1.97~beta3.
26185 * docs/version.texi: Likewise.
26186
61229557 261872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26188
26189 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26190 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26191 from here ...
26192 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26193 (grub_linux_setup_video): ... to here (with some adjustments).
26194
5c9f8d84 261952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26196
26197 Fix memory corruption issue (spotted by Colin Watson).
26198
26199 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26200 causing returned size to be stored in an incorrect memory location.
26201 Fix use of uninitialized value when storing the returned size.
26202
e8f5d6e9 262032009-09-12 Yves Blusseau <blusseau@zetam.org>
26204
26205 Change clean rules to properly remove files
26206
26207 * genmk.rb: add new clean rules
26208 * Makefile.in (clean): add the new targets
26209 (mostlyclean): likewise
26210
cda2a409 262112009-09-11 Colin Watson <cjwatson@ubuntu.com>
26212
26213 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26214 to grub_uint64_t.
26215 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26216 non-resident files.
26217
86695375 262182009-09-11 Colin Watson <cjwatson@ubuntu.com>
26219
26220 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26221 part of bug #27349.
26222
8aa1541a 262232009-09-10 Felix Zielcke <fzielcke@z-51.de>
26224
26225 * util/grub-mkconfig.in: Make the created config mode 400 and
26226 print a warning if it fails.
26227
48d9bb0a 262282009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26229
26230 * util/grub.d/40_custom.in: Ask user to type custom entries below
26231 comment, rather than below 'exec tail' line.
26232
3b0521be 262332009-09-10 Colin Watson <cjwatson@ubuntu.com>
26234
26235 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26236 visible in grub.cfg.
26237
50051d55 262382009-09-10 Colin Watson <cjwatson@ubuntu.com>
26239
26240 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26241 file.
26242
c0d34387 262432009-09-10 Felix Zielcke <fzielcke@z-51.de>
26244
26245 * docs/grub.cfg: Add an example menu entry for memtest86+.
26246
80a608f3 262472009-09-09 Felix Zielcke <fzielcke@z-51.de>
26248
a2094832 26249 * config.guess: Update to latest version from config git.
80a608f3 26250 * config.sub: Likewise.
26251
99423078 262522009-09-08 Colin Watson <cjwatson@ubuntu.com>
26253
26254 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26255 unknown-command case. Fixes bug #27320.
26256
44454e4c 262572009-09-08 Felix Zielcke <fzielcke@z-51.de>
26258
26259 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26260 `help' if the command exists.
26261
e30d87ad 262622009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26263
26264 * INSTALL: Require GCC 4.1.3 or later.
26265
9a86f1ec 262662009-09-06 Yves Blusseau <blusseau@zetam.org>
26267
26268 * Makefile.in (RMKFILES): add i386-qemu.rmk
26269 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26270 $(srcdir)/stamp-h.in
26271
7f26d466 262722009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26273
26274 * util/grub-probe.c (probe): Comment out buggy codepath, which
26275 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26276 should be re-enabled after 1.97.
26277
3a613259 262782009-09-05 Felix Zielcke <fzielcke@z-51.de>
26279
26280 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26281 find searches for.
26282
197f76c7 262832009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26286 unnecessary calls to grub_error.
26287
70ba68ce 262882009-09-04 Colin Watson <cjwatson@ubuntu.com>
26289
26290 * NEWS: Mention `keystatus' and Unicode fonts.
26291
4ff0d7a4 262922009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26293
26294 * configure.ac: Bump version to 1.97~beta2.
26295 * docs/version.texi: Likewise.
26296
77c55a87 262972009-09-03 Colin Watson <cjwatson@ubuntu.com>
26298
26299 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26300 containing unwind information in some cases where it previously did
26301 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26302 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26303 discussion.
26304
f79572cd 263052009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26306
26307 Embedding loadenv module into grub-emu
26308
26309 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26310 commands/loadenv.c
26311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26312 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26315 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26316 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26317
93a81088 263182009-09-03 Magnus Granberg <zorry@ume.nu>
26319
26320 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26321 include -fPIE in the default specs.
26322 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26323 to TARGET_CFLAGS.
26324
160034b2 263252009-09-03 Felix Zielcke <fzielcke@z-51.de>
26326
26327 * INSTALL: Note that GNU Bison 2.3 or later is required.
26328
087c07c4 263292009-09-03 Colin Watson <cjwatson@ubuntu.com>
26330
26331 * kern/i386/pc/startup.S: Fix typo.
26332
cbf978c0 263332009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26336 according to GCS.
26337
263382009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26339
26340 * docs/grub.texi (Naming convention): Describe one-based partition
26341 numbering.
26342 (Device syntax): Likewise.
26343 (File name syntax): Likewise.
26344 (Block list syntax): Likewise.
26345 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26346 menu.lst.
26347 (File name syntax): Likewise.
26348 (Command-line and menu entry commands): Document acpi, blocklist,
26349 crc, export, insmod, keystatus, ls, set, and unset commands.
26350
f3e8cdfd 263512009-09-02 Colin Watson <cjwatson@ubuntu.com>
26352
26353 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26354 to avoid implying that only one of --shift, --ctrl, or --alt may be
26355 used.
26356
c0bc232b 263572009-09-02 Colin Watson <cjwatson@ubuntu.com>
26358
26359 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26360 rather than comparing against S_IFREG, which will almost never work.
26361
aa0f752d 263622009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26365 (write_blocklists): Likewise.
26366
ecb3166a 263672009-09-01 Colin Watson <cjwatson@ubuntu.com>
26368
26369 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26370 argument to grub_printf.
26371
c403a125 263722009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26373
26374 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26375 non GNU test.
31aba781 26376
b5e7312c 263772009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26378
26379 * kern/file.c (grub_file_read): Spelling fix
26380
fe00f472 263812009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26384 loading of headers in some cases.
26385
cc55302e 263862009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26387
26388 * configure.ac: Bump version to 1.97~beta1.
26389 * docs/version.texi: Likewise.
26390
5c90cdd2 263912009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26392
26393 * include/grub/i386/xnu.h: Add license header.
26394 include grub/err.h explicitly.
26395
c90edae4 263962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26397
26398 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26399 to `ufs' in the vfs.root.mountfrom kernel parameter.
26400
d8888b5c 264012009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26402
26403 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26404
26405 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26406 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26407
26408 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26409 `ARRAY_SIZE' macro.
26410
6f07b921 264112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 * kern/file.c (grub_file_read): Check offset.
26414 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26415 * fs/jfs.c (grub_jfs_read_file): Likewise.
26416 * fs/ntfs.c (grub_ntfs_read): Likewise.
26417 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26418 * fs/minix.c (grub_minix_read_file): Correct offset check.
26419 * fs/ufs.c (grub_ufs_read_file): Likewise.
26420
b4f34077 264212009-08-28 Colin Watson <cjwatson@ubuntu.com>
26422
26423 * term/i386/pc/console.c (bios_data_area): Cast
26424 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26425
e7c69859 264262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26427
26428 1-bit optimised blitters.
26429
26430 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26431 prototype.
26432 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26433 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26434 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26435 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26436 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26437 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26438 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26439 function.
26440 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26441 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26442 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26443 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26444 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26445 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26446 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26447 when possible.
26448 * video/video.c (grub_video_get_blit_format): Return
26449 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26450
a57da43f 264512009-08-28 Colin Watson <cjwatson@ubuntu.com>
26452
26453 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26454 the first argument to grub_printf.
26455
4cbe67e5 264562009-08-28 Colin Watson <cjwatson@ubuntu.com>
264572009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26458
26459 Add `getkeystatus' terminal method. Add a new `keystatus' command
26460 to query it.
26461
26462 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26463 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26464 modifier key bitmasks.
26465 (struct grub_term_input): Add `getkeystatus' member.
26466 (grub_getkeystatus): Add prototype.
26467 * kern/term.c (grub_getkeystatus): New function.
26468
26469 * include/grub/i386/pc/memory.h
26470 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26471 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26472 Data Area layout.
26473 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26474 (grub_console_term_input): Set `getkeystatus' member.
26475 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26476 constants.
26477 (grub_usb_keyboard_getreport): Likewise.
26478 (grub_usb_keyboard_checkkey): Likewise.
26479 (grub_usb_keyboard_getkeystatus): New function.
26480 (grub_usb_keyboard_term): Set `getkeystatus' member.
26481
26482 * commands/keystatus.c: New file.
26483 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26484 (keystatus_mod_SOURCES): New variable.
26485 (keystatus_mod_CFLAGS): Likewise.
26486 (keystatus_mod_LDFLAGS): Likewise.
26487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26488 commands/keystatus.c.
26489 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26491 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26493 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26494 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26495
6e2a9085 264962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 Split befs.mod and afs.mod into *_be.mod and *.mod
26499
26500 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26501 (grub_fstest_SOURCES): Likewise.
26502 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26503 (afs_be_mod_SOURCES): New variable.
26504 (afs_be_mod_CFLAGS): Likewise.
26505 (afs_be_mod_LDFLAGS): Likewise.
26506 (befs_be_mod_SOURCES): Likewise.
26507 (befs_be_mod_CFLAGS): Likewise.
26508 (befs_be_mod_LDFLAGS): Likewise.
26509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26510 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26512 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26513 (grub_emu_SOURCES): Likewise.
26514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26515 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26516 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26517 * fs/afs_be.c: New file.
26518 * fs/befs_be.c: New file.
26519 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26520 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26521 (U16): Replaced with ...
26522 (grub_afs_to_cpu16): ...this. All users updated.
26523 (U32): Replaced with ...
26524 (grub_afs_to_cpu32): ...this. All users updated.
26525 (U64): Replaced with ...
26526 (grub_afs_to_cpu64): ...this. All users updated.
26527 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26528 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26529 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26530 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26531 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26532 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26533 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26534 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26535 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26536 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26537 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26538
32a71655 265392009-08-26 Bean <bean123ch@gmail.com>
26540
26541 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26542 64-bit number.
26543 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26544 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26545 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26546
552bf6c5 265472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 NetBSD memory map support.
26550
26551 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26552 (grub_netbsd_btinfo_mmap_header): New structure.
26553 (grub_netbsd_btinfo_mmap_entry): Likewise.
26554 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26555
1ae2078c 265562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26557
26558 Enable bsd.mod on coreboot.
26559
26560 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26561 (bsd_mod_SOURCES): New variable.
26562 (bsd_mod_CFLAGS): Likewise.
26563 (bsd_mod_LDFLAGS): Likewise.
26564 (bsd_mod_ASFLAGS): Likewise.
26565 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26566 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26567
beefc598 265682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 Cleanup NetBSD root support.
26571
26572 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26573 grub_bsd_get_device.
26574 Fix typo.
26575
3b76e68b 265762009-08-25 Felix Zielcke <fzielcke@z-51.de>
26577
26578 * util/grub.d/00_header.in: Move check for the video backend of
26579 gfxterm from here ...
26580 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26581 a suitable video backend.
26582
aea664ea 265832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26584
26585 Fix breakage in grub-setup.
26586
26587 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26588 "msdos_partition_map".
26589
ff747d50 265902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 Fix breakage in normal/auth.c.
26593
26594 * normal/auth.c (grub_iswordseparator): New function.
26595
e7e1f93f 265962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 Authentication support.
26599
26600 * commands/password.c: New file.
26601 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26602 (password_mod_SOURCES): New variable.
26603 (password_mod_CFLAGS): Likewise.
26604 (password_mod_LDFLAGS): Likewise.
26605 (normal_mod_SOURCES): Add normal/auth.c.
26606 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26607 normal/auth.c.
26608 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26610 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26612 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26613 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26614 * include/grub/auth.h: New file.
26615 * include/grub/err.h (grub_err_t): New enum value
26616 GRUB_ERR_ACCESS_DENIED.
26617 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26618 'users'.
26619 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26620 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26621 users updated.
26622 * normal/auth.c: New file.
26623 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26624 (grub_cmdline_run): Don't allow to go to command line without
26625 authentication.
26626 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26627 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26628 menuentry without superuser rights.
26629 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26630 user isn't a superuser.
26631
70f1161d 266322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26633
26634 Save space by inlining misc.c functions.
26635
26636 * kern/misc.c (grub_iswordseparator): Made static.
26637 * kern/misc.c (grub_strcat): Moved from here ...
26638 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26639 * kern/misc.c (grub_strncat): Moved from here ...
26640 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26641 * kern/misc.c (grub_strcasecmp): Moved from here ...
26642 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26643 * kern/misc.c (grub_strncasecmp): Moved from here ...
26644 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26645 * kern/misc.c (grub_isalpha): Moved from here ...
26646 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26647 * kern/misc.c (grub_isdigit): Moved from here ...
26648 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26649 * kern/misc.c (grub_isgraph): Moved from here ...
26650 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26651 * kern/misc.c (grub_tolower): Moved from here ...
26652 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26653
48e40bff 266542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26655
26656 * script/sh/function.c (grub_script_function_find): Cut error message
26657 not to flood terminal.
26658 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26659 limit.
26660 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26661
c385bfc3 266622009-08-24 Colin Watson <cjwatson@ubuntu.com>
26663
26664 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26665 `report' grub_uint8_t *.
26666 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26667 Use a 50-millisecond timeout rather than just repeating
26668 grub_usb_keyboard_getreport 50 times.
26669 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26670
2d21e3e8 266712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26672
26673 Rename *_partition_map to part_*
26674
26675 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26676 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26677 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26678 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26679 All users updated.
26680 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26681 All users updated.
26682 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26683 * util/grub-probe.c (probe_partmap): Don't transform partition name
26684 to get module name.
26685
dd103c4e 266862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 Fix OpenBSD and NetBSD support.
26689
26690 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26691 memory address conflict.
26692 (OPENBSD_MMAP_ACPI): New definition.
26693 (OPENBSD_MMAP_NVS): Likewise.
26694 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26695 and OPENBSD_MMAP_NVS.
26696 Add memory map terminator
26697 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26698 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26699
16c84d74 267002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26701
26702 Let user specify NetBSD root device.
26703
26704 * loader/i386/bsd.c (netbsd_root): New variable.
26705 (netbsd_opts): New option 'root'.
26706 (NETBSD_ROOT_ARG): New macro.
26707 (grub_netbsd_boot): Use 'netbsd_root'.
26708 (grub_bsd_unload): Free 'netbsd_root'.
26709 (grub_cmd_netbsd): Fill 'netbsd_root'.
26710
adb29902 267112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Support for 64-bit NetBSD.
26714
26715 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26716 point when booting non-FreeBSD.
26717
f5ae9f74 267182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 Support --no-smp and --no-acpi for NetBSD.
26721
26722 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26723 (NETBSD_AB_NOACPI): Likewise.
26724 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26725 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26726
de74f136 267272009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26730 errors.
26731 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26732 errors. Call grub_error when needed.
26733
e9a925da 267342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26735
26736 * commands/search.c (search_fs): Try searching without autoload first.
26737 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26738 filesystem module explicitly for faster booting.
26739
5174302b 267402009-08-23 Colin Watson <cjwatson@ubuntu.com>
26741
26742 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26743
c8c80635 267442009-08-23 Colin Watson <cjwatson@ubuntu.com>
26745
26746 * util/grub.d/30_os-prober.in: Disable os-prober if
26747 `GRUB_DISABLE_OS_PROBER' was set to true.
26748
71acf5e5 267492009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26750
26751 * partmap/pc.c: Rename to ...
26752 * partmap/msdos.c: ... this. Update all users.
26753 (grub_pc_partition_map): Rename to ...
26754 (grub_msdos_partition_map): ... this. Update all users.
26755
26756 * parttool/pcpart.c: Rename to ...
26757 * parttool/msdospart.c: ... this. Update all users.
26758
26759 * include/grub/pc_partition.h: Rename to ...
26760 * include/grub/msdos_partition.h: ... this. Update all users.
26761 (grub_pc_partition_bsd_entry): Rename to ...
26762 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26763 (grub_pc_partition_disk_label): Rename to ...
26764 (grub_msdos_partition_disk_label): ... this. Update all users.
26765 (grub_pc_partition_entry): Rename to ...
26766 (grub_msdos_partition_entry): ... this. Update all users.
26767 (grub_pc_partition_mbr): Rename to ...
26768 (grub_msdos_partition_mbr): ... this. Update all users.
26769 (grub_pc_partition): Rename to ...
26770 (grub_msdos_partition): ... this. Update all users.
26771 (grub_pc_partition_is_empty): Rename to ...
26772 (grub_msdos_partition_is_empty): ... this. Update all users.
26773 (grub_pc_partition_is_extended): Rename to ...
26774 (grub_msdos_partition_is_extended): ... this. Update all users.
26775 (grub_pc_partition_is_bsd): Rename to ...
26776 (grub_msdos_partition_is_bsd): ... this. Update all users.
26777
26778 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26779 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26780 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26781 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26782 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26783 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26784 (gpt_mod_LDFLAGS): Rename to ...
26785 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26786 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26787 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26788 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26789 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26790 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26791 (part_gpt_mod_LDFLAGS): ... this.
26792 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26793 `pcpart.mod' to `msdospart.mod'.
26794 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26795 to ...
26796 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26797 (msdospart_mod_LDFLAGS): ... this.
26798
c11fded5 267992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26800
26801 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26802 (openbsd_opts): Likewise.
26803 (netbsd_opts): Likewise.
26804 (freebsd_flags): Added 0 terminator.
26805 (openbsd_flags): Likewise.
26806 (netbsd_flags): Likewise.
26807 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26808 (grub_cmd_freebsd): Transformed into extended command.
26809 (grub_cmd_openbsd): Likewise.
26810 (grub_cmd_netbsd): Likewise.
26811 (cmd_freebsd): Changed type to grub_extcmd_t.
26812 (cmd_openbsd): Likewise.
26813 (cmd_netbsd): Likewise.
26814 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26815 grub_cmd_openbsd as extended commands.
26816 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26817 cmd_netbsd and cmd_openbsd
26818
11d1c769 268192009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26820
26821 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26822
7a9094e5 268232009-08-21 Pavel Roskin <proski@gnu.org>
26824
5496c37e 26825 * Makefile.in (install-local): When checking if a file is in the
26826 build directory, use "test -e" to detect symlinks.
26827
7a9094e5 26828 * Makefile.in (install-local): Remove all files in
26829 $(DESTDIR)$(pkglibdir) before installing new files there.
26830
e53cea11 268312009-08-18 Felix Zielcke <fzielcke@z-51.de>
26832
26833 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26834 grub-mkelfimage.
26835
9aced544 268362009-08-18 Felix Zielcke <fzielcke@z-51.de>
26837
26838 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26839 explicitly specified by the user.
26840
b7da6bab 268412009-08-18 Pavel Roskin <proski@gnu.org>
26842
26843 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26844 grub_uint8_t pointer for data.
26845 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26846 Likewise.
26847 * video/fb/fbutil.c: Remove unnecessary casts.
26848
19f1b335 268492009-08-17 Michal Suchanek <hramrach@centrum.cz>
26850
26851 VBE cleanup.
26852
26853 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26854 (grub_vbe_set_video_mode): Save active mode info
26855 only after setting the mode.
26856 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26857 second argument.
26858
2f467aa9 268592009-08-17 Michal Suchanek <hramrach@centrum.cz>
26860
26861 Rename variables for clarity.
26862
26863 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26864 (active_vbe_mode_info): ... this. All users updated.
26865 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26866 All users updated.
26867 (initial_mode): Rename to ...
26868 (initial_vbe_mode): ... this. All users updated.
26869 (mode_in_use): Rename to ..
26870 (vbe_mode_in_use): ... this. All users updated.
26871 (mode_list): Rename to ..
26872 (vbe_mode_list): ... this. All users updated.
26873 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26874 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26875 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26876 'mode_list_size' to 'vbe_mode_list_size'.
26877 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26878 'best_mode_info' to 'best_vbe_mode_info' and
26879 'best_mode' to 'best_vbe_mode'
26880
6025fcd7 268812009-08-17 Michal Suchanek <hramrach@centrum.cz>
26882
26883 Remove duplicate grub_video_fb_get_video_ptr.
26884
26885 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26886 (grub_video_fb_get_video_ptr): ... this.
26887 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26888 * video/fb/fbutil.c: Add comment about addressing.
26889 (get_data_ptr): Rename to ...
26890 (grub_video_fb_get_video_ptr): ... this. All users updated.
26891 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26892
cc8c6faf 268932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26894
26895 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26896 grub_dprintf() that was just added.
26897
08aa61f0 268982009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26901 (DEFAULT_VIDEO_MODE): Remove macros.
26902 (grub_linux_boot): Remove assumption that Linux has FB support,
26903 and use "text" as default video mode.
26904
7cef4f75 269052009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26906
26907 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26908 grub_dprintf.
26909 * fs/fat.c (grub_fat_read_data): Likewise.
26910
e1f39873 269112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26914 payload.
26915 (grub_module): Likewise.
26916
c166d79e 269172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26920 mbi->cmdline but free playground.
26921
c60cee8e 269222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26923
26924 Handle group offset on UFS1.
26925
26926 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26927 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26928
c0d8b5d4 269292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26930
26931 Split ufs.mod into ufs1.mod and ufs2.mod.
26932
26933 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26934 (grub_fstest_SOURCES): Likewise.
26935 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26936 (ufs_mod_SOURCES): Remove.
26937 (ufs_mod_CFLAGS): Likewise.
26938 (ufs_mod_LDFLAGS): Likewise.
26939 (ufs1_mod_SOURCES): New variable.
26940 (ufs1_mod_CFLAGS): Likewise.
26941 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26942 (ufs2_mod_SOURCES): New variable.
26943 (ufs2_mod_CFLAGS): Likewise.
26944 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26945 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26946 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26947 Likewise.
26948 (grub_emu_SOURCES): Likewise.
26949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26950 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26951 (grub_setup_SOURCES): Likewise.
26952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26953 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26954 (grub_setup_SOURCES): Likewise.
26955 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26956 Likewise.
26957 * fs/ufs2.c: New file.
26958 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26959
d3539132 269602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26961
26962 Framebuffer split.
26963
26964 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26965 subsystem at the end.
26966 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26967 (video_fb_mod_SOURCES): New variable.
26968 (video_fb_mod_CFLAGS): Likewise.
26969 (video_fb_mod_LDFLAGS): Likewise.
26970 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26971 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26972 * video/i386/pc/vbeblit.c: Moved from here ...
26973 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26974 * video/i386/pc/vbefill.c: Moved from here ...
26975 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26976 * video/i386/pc/vbeutil.c: Moved from here ...
26977 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26978 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26979 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26980 * include/grub/i386/pc/vbefill.h: Moved from here ...
26981 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26982 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26983 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26984 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26985 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26986 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26987 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26988 (grub_video_adapter): Added 'get_info_and_fini'.
26989 (grub_video_get_info_and_fini): New prototype.
26990 (grub_video_set_mode): make modestring const char *.
26991 * loader/i386/linux.c (grub_linux_setup_video): Use
26992 grub_video_get_info_and_fini.
26993 (grub_linux_boot): Move modesetting just before booting.
26994 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26995 grub_video_get_info_and_fini.
26996 * video/i386/pc/vbe.c: Moved framebuffer part ...
26997 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26998 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26999 grub_video_fbstd_colors and grub_video_fb_set_palette.
27000 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27001 grub_video_fb_init.
27002 (grub_video_vbe_fini): Use grub_video_fb_fini.
27003 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27004 render_target and use grub_video_fb_set_active_render_target and
27005 grub_video_fb_set_palette.
27006 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27007 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27008 (grub_video_vbe_adapter): Use framebuffer.
27009 * video/video.c (grub_video_get_info_and_fini): New function.
27010 (grub_video_set_mode): Make modestring const char *.
27011 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27012 values are already initialised.
27013
d404ee56 270142009-08-14 Pavel Roskin <proski@gnu.org>
27015
27016 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27017 ABS and APPLE_CC.
27018 * boot/i386/pc/diskboot.S: Likewise.
27019 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27020 sectors allow compilation on MacOSX.
27021 * conf/i386-pc.rmk: Enable unconditional compilation of
27022 lnxboot.img.
27023
9a10df16 270242009-08-13 Colin Watson <cjwatson@ubuntu.com>
27025
27026 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27027 * util/grub.d/00_header.in: Enter interruptible sleep if
27028 GRUB_HIDDEN_TIMEOUT is set.
27029
be3c9ca7 270302009-08-13 Yves Blusseau <blusseau@zetam.org>
27031
27032 * include/grub/symbol.h: Add the LOCAL macro.
27033 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27034 starting with "L_".
27035
1f9e557e 270362009-08-13 Pavel Roskin <proski@gnu.org>
27037
9ca62843 27038 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27039 any modern compilers we support.
27040
1f9e557e 27041 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27042 Use local labels starting with "L_" so that Apple assembler
27043 knows they are local.
27044
81623db6 270452009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27046
27047 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27048 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27049 (bsd_kernel_types): ... this enum.
27050
27051 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27052 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27053 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27054
27055 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27056 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27057 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27058 messages.
27059
f5d35e7a 270602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27061
27062 * util/grub-dumpdevtree: Moved from here ...
27063 * util/i386/efi/grub-dumpdevtree: ... to here.
27064 (hexify): New function. Converts a string to its hex version.
27065 Generate hex versions of "efi" and "device-properties" by calling
27066 hexify() on the ASCII strings rather than by hardcoding numbers.
27067
d1e1d527 270682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27069
27070 * fs/jfs.c: Update copyright year.
27071
1ebbe064 270722009-08-08 Felix Zielcke <fzielcke@z-51.de>
27073
27074 * util/grub.d/00_header.in: Fix a comment.
27075 * util/grub.d/10_linux.in: Likewise.
27076 * util/grub.d/10_windows.in: Likewise.
27077 * util/grub.d/10_hurd.in: Likewise.
27078
a78c8d24 270792009-08-08 Felix Zielcke <fzielcke@z-51.de>
27080
27081 * util/grub-mkconfig.in: Allow the user to specify the used font
27082 with GRUB_FONT.
27083
29a6b9e8 270842009-08-08 Pavel Roskin <proski@gnu.org>
27085
b5f16cc4 27086 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27087 available, xfs.mod needs it now.
27088
2f5cb827 27089 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27090 the "g" modifier in sed when the intention is to strip something
27091 once. This fixes comparison of kernels with multiple dashes.
27092
29a6b9e8 27093 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27094 on it. Add missing space before closing bracket. Fix
27095 misleading formatting.
27096
892a3d98 270972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27098
27099 * docs/grub.texi: Major overhaul. Remove all sections that are
27100 specific to GRUB Legacy, or mostly composed of Legacy-specific
27101 information.
27102
ed94253f 271032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27104
27105 * docs/version.texi: New file. Provides version information for
27106 grub.texi.
27107
126d6628 271082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 * docs/grub.texi: Update CVS information to SVN.
27111 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27112
998b5aa9 271132009-08-07 Felix Zielcke <fzielcke@z-51.de>
27114
27115 * util/grub-mkconfig.in: Remove a wrong `fi'.
27116
818e094a 271172009-08-07 Felix Zielcke <fzielcke@z-51.de>
27118
27119 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27120 (grub_jfs_uuid): New function.
27121 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27122
b969c52f 271232009-08-07 Felix Zielcke <fzielcke@z-51.de>
27124
27125 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27126 of it to ...
27127 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27128 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27129
7a4894cc 271302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27131
27132 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27133 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27134 Update all users.
27135
27136 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27137 not just "vmlinu[zx]".
27138 Moved from here ...
27139 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27140 all users.
27141
27142 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27143 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27144 all users.
27145
4e2171f8 271462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27147
27148 * util/grub.d/10_freebsd.in: Use an absolute device path for
27149 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27150
6dcfcb32 271512009-08-06 Felix Zielcke <fzielcke@z-51.de>
27152
27153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27154 handling of multiple abstraction modules.
27155
f56a8756 271562009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27157
27158 Fix a bug resulting in black screen when loading Linux using a
27159 packed video mode.
27160
27161 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27162 function.
27163
27164 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27165 (grub_vbe_bios_getset_dac_palette_width): New function.
27166 (grub_vbe_bios_get_dac_palette_width)
27167 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27168 grub_vbe_bios_getset_dac_palette_width()).
27169
27170 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27171 check for return status.
27172 (grub_vbe_get_video_mode_info): When getting information for a packed
27173 mode (<= 8 bpp), obtain DAC palette width using
27174 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27175 {red,green,blue}_mark_size.
27176
222671b2 271772009-08-04 Felix Zielcke <fzielcke@z-51.de>
27178
ecb1a6d9 27179 * commands/search.c (options): Fix help output to match actual code.
222671b2 27180
f84114f5 271812009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27182
27183 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27184 of homegrown code.
27185
bd288a20 271862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27187
27188 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27189 on XFS or ReiserFS.
27190
8aab5e25 271912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27192
27193 Support Apple partition map with sector size different from 512 bytes.
27194
27195 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27196 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27197 and 'apart.partmap_size'.
27198
6ad6258a 271992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
272002009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27201
27202 Fix cpuid command.
27203
27204 * commands/i386/cpuid.c (options): New variable.
27205 (grub_cmd_cpuid): Return real error.
27206 (GRUB_MOD_INIT(cpuid)): Declare options.
27207
67459bc6 272082009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27209
27210 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27211 valid.
27212
fbc6ab54 272132009-07-31 Bean <bean123ch@gmail.com>
27214
27215 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27216 log2_inode.
27217 (grub_fshelp_node): Move inode field to the end.
27218 (grub_xfs_data): Remove inode field.
27219 (grub_xfs_inode_block): Calculate inode size using sblock.
27220 (grub_xfs_inode_offset): Likewise.
27221 (grub_xfs_read_inode): Calculate inode size using sblock.
27222 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27223 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27224 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27225 to match inode size.
27226 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27227 not accessible when data is null.
27228 (grub_xfs_open): Likewise.
27229
f45d6cfc 272302009-07-31 Bean <bean123ch@gmail.com>
27231
27232 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27233 Don't change pv->disk if it's already set.
27234
27235 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27236 (grub_raid_register): ... here.
27237 (grub_raid_rescan): Removed.
27238
27239 * include/grub/raid.h (grub_raid_rescan): Removed.
27240
27241 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27242 (fstest): Replace grub_raid_rescan with module fini function followed
27243 by init function.
27244
27245 * util/grub-probe.c: Add include file <grub/raid.h>.
27246 (probe_raid_level): New function.
27247 (probe): Detect abstraction by walking the disk device, support two
27248 level of abstraction (LVM on RAID) when detecting partition map.
27249
24443b5a 272502009-07-31 Pavel Roskin <proski@gnu.org>
27251
27252 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27253 to grub_zalloc(), it was erroneous.
27254 Reported by Bean <bean123ch@gmail.com>
27255
a275d9e7 272562009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27259 embedding zone, not only the first one.
a275d9e7 27260
56c5a47f 272612009-07-29 Joe Auricchio <jauricchio@gmail.com>
27262
27263 * term/gfxterm.c (clear_char): New function.
27264 (grub_virtual_screen_setup): Use clear_char.
27265 (scroll_up): Likewise.
27266 (grub_virtual_screen_cls): Likewise.
27267
67bb323a 272682009-07-29 Felix Zielcke <fzielcke@z-51.de>
27269
27270 * util/deviceiter.c (get_acceleraid_disk_name): New static
27271 function.
27272 (grub_util_iterate_devices): Handle Accelraid devices.
27273 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27274
388a7c75 272752009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27276
27277 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27278 separator for the suggested gfxpayload string (';' collides with the
27279 parser and needs escaping).
27280
3bb7abcf 272812009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27284 Clear direction flag before jumping to OS.
27285 (grub_multiboot2_real_boot): Likewise.
27286
2ddd36d7 272872009-07-28 Felix Zielcke <fzielcke@z-51.de>
27288
27289 * util/i386/pc/grub-install: Fix parsing of --disk-module
27290 option.
27291
c521b62b 272922009-07-28 Felix Zielcke <fzielcke@z-51.de>
27293
27294 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27295 when embedding.
27296
880e0a0c 272972009-07-26 Felix Zielcke <fzielcke@z-51.de>
27298
27299 * util/grub-mkconfig.in (package_version): New variable.
27300 Use it do display the version.
27301
2366e356 273022009-07-25 Felix Zielcke <fzielcke@z-51.de>
27303
27304 * kern/file.c (grub_file_open): Revert to previous check with
27305 grub_errno.
27306
7ad8c80e 273072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27308
27309 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27310 from help line. It's out of sync with code.
27311
72b9658b 273122009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27313
27314 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27315 entries on failed boot.
27316
77435277 273172009-07-25 Felix Zielcke <fzielcke@z-51.de>
27318
27319 * kern/file.c (grub_file_open): Fix an error check.
27320
fcaa8b21 273212009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27322
35d16c74 27323 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27324 partition map couldn't be identified.
fcaa8b21 27325
48904cd1 273262009-07-23 Pavel Roskin <proski@gnu.org>
27327
ef3c317f 27328 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27329 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27330 case of little endian words becomes just an optimization.
27331 Respect const modifier.
ad8ea1f4 27332 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27333
48904cd1 27334 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27335 to avoid loss of upper bits if align is unsigned and shorter
27336 than addr.
27337
260c9a89 273382009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27339
27340 UUID support for UFS
27341
27342 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27343 (grub_ufs_uuid): New function.
27344 (grub_ufs_fs): add .uuid
27345
f76ce889 273462009-07-21 Pavel Roskin <proski@gnu.org>
27347
27348 * kern/dl.c (grub_dl_check_header): Make static.
27349
6a6cbcaf 273502009-07-21 Felix Zielcke <fzielcke@z-51.de>
27351
27352 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27353 add drivemap for Vista. It breaks Windows 7.
27354
cffcddb2 273552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27356
27357 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27358 128 bytes
27359
1ef44b80 273602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 Add BFS support
27363
27364 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27365 (grub_fstest_SOURCES): Likewise.
27366 (pkglib_MODULES): Add befs.mod.
27367 (befs_mod_SOURCES): New variable.
27368 (befs_mod_CFLAGS): Likewise.
27369 (befs_mod_LDFLAGS): Likewise.
27370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27371 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27373 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27374 (grub_setup_SOURCES): Likewise.
27375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27376 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27377 (grub_setup_SOURCES): Likewise.
27378 * fs/befs.c: New file.
27379 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27380 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27381 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27382 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27383 (B_KEY_INDEX_ALIGN): New declaration.
27384 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27385 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27386 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27387 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27388 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27389 (grub_afs_mount) [MODE_BFS]: Likewise.
27390 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27391 (grub_afs_fs): Use GRUB_AFS_FSNAME
27392 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27393 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27394 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27395 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27396
4f253044 273972009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27398
27399 * util/getroot.c (find_root_device): Add support for MacOSX.
27400 * util/hostdisk.c: Likewise.
27401
57a55913 274022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 * font/font.c (find_glyph): Check whether a font is present to avoid
27405 segmentation fault.
75421ca9 27406
274072009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27408
27409 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27410
e98cd0c2 274112009-07-20 Pavel Roskin <proski@gnu.org>
27412
27413 * configure.ac: Trim excessively wordy excuses.
27414
1d2d169a 274152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27416
27417 Add symlink, mtime and label support to AtheFS.
27418
27419 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27420 (grub_afs_iterate_dir): Handle symlinks.
27421 (grub_afs_open): Use grub_afs_read_symlink.
27422 (grub_afs_dir): Likewise.
27423 Pass mtime.
27424 (grub_afs_label): New function.
27425 (grub_afs_fs): Add grub_afs_label.
27426 (grub_afs_read_symlink): New function.
27427
186f3189 274282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27429
27430 Fix AtheFS support.
27431
27432 * fs/afs.c: Fix comments style.
27433 (grub_afs_blockrun): Declare as packed.
27434 (grub_afs_datastream): Likewise.
27435 (grub_afs_bnode): Likewise.
27436 (grub_afs_btree): Likewise.
27437 (grub_afs_sblock): Likewise.
27438 Declare `name' as char.
27439 (grub_afs_inode): Declare as packed.
27440 Change void *vnode to grub_uint32_t unused.
27441 (grub_afs_iterate_dir): Check that key_size is positive.
27442 (grub_afs_mount): Don't read superblock twice.
75421ca9 27443 (grub_afs_dir): Don't free node in case of error,
186f3189 27444 grub_fshelp_find_file already handles this.
27445 (grub_afs_open): Likewise.
27446
5680109e 274472009-07-19 Pavel Roskin <proski@gnu.org>
27448
27449 * Makefile.in: Remove LIBLZO and enable_lzo.
27450 * conf/i386-pc.rmk: Remove lzo support.
27451 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27452 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27453 support.
27454 * kern/i386/pc/lzo1x.S: Remove.
27455 * kern/i386/pc/startup.S: Remove lzo support.
27456 * util/i386/pc/grub-mkimage.c: Likewise.
27457
ac70fa32 274582009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27459
27460 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27461 * fs/xfs.c (grub_xfs_dir): Likewise.
27462 * fs/afs.c (grub_afs_dir): Likewise.
27463 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27464 (grub_iso9660_open): Likewise.
27465 * fs/jfs.c (grub_jfs_open): Likewise.
27466 * fs/ext2.c (grub_ext2_dir): Likewise.
27467 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27468 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27469
eab58da2 274702009-07-16 Pavel Roskin <proski@gnu.org>
27471
d2838156 27472 * configure.ac: Never add "-c" to CFLAGS.
27473
55c70904 27474 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27475
43e6200c 27476 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27477 grub_cv_cc_efiemu should be used.
27478
ce7a733d 27479 * configure.ac: Typo fixes.
27480
eab58da2 27481 * kern/mm.c (grub_zalloc): New function.
27482 (grub_debug_zalloc): Likewise.
27483 * include/grub/mm.h: Declare grub_zalloc() and
27484 grub_debug_zalloc().
27485 * util/misc.c (grub_zalloc): New function.
27486 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27487 instead of grub_malloc(), remove unneeded initializations.
27488 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27489 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27490 * commands/parttool.c (grub_cmd_parttool): Likewise.
27491 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27492 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27493 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27494 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27495 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27496 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27497 (grub_cmd_efiemu_pnvram): Likewise.
27498 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27499 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27500 (grub_iso9660_iterate_dir): Likewise.
27501 * fs/jfs.c (grub_jfs_opendir): Likewise.
27502 * fs/ntfs.c (list_file): Likewise.
27503 (grub_ntfs_mount): Likewise.
27504 * kern/disk.c (grub_disk_open): Likewise.
27505 * kern/dl.c (grub_dl_load_core): Likewise.
27506 * kern/elf.c (grub_elf_file): Likewise.
27507 * kern/env.c (grub_env_context_open): Likewise.
27508 (grub_env_set): Likewise.
27509 (grub_env_set_data_slot): Likewise.
27510 * kern/file.c (grub_file_open): Likewise.
27511 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27512 * loader/i386/multiboot.c (grub_module): Likewise.
27513 * loader/xnu.c (grub_xnu_create_key): Likewise.
27514 (grub_xnu_create_value): Likewise.
27515 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27516 (read_config_file): Likewise.
27517 * normal/menu_entry.c (make_screen): Likewise.
27518 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27519 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27520 * script/sh/script.c (grub_script_parse): Likewise.
27521 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27522 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27523 * video/readers/png.c (grub_png_output_byte): Likewise.
27524 (grub_video_reader_png): Likewise.
27525
830afef7 275262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27527
27528 Enable all targets that can be built by default
27529
830afef7 27530 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27531 grub-mkfont and grub-fstest if they can be built
27532
ee293aee 275332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27534
27535 Fix hang and segmentation fault in grub-emu-usb
27536
27537 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27538 * util/usb.c (grub_libusb_devices): likewise
27539 (grub_libusb_init): rename to ...
27540 (GRUB_MOD_INIT (libusb)):...this
27541 (grub_libusb_fini): rename to ..
27542 (GRUB_MOD_FINI (libusb)):...this
27543 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27544 * include/grub/disk.h (grub_raid_init): removed, it's useless
27545 (grub_raid_fini): likewise
27546 (grub_lvm_init): likewise
27547 (grub_lvm_fini): likewise
27548 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27549 by grub_init_all
27550
94414221 275512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27552
27553 Fix libusb
27554
27555 * Makefile.in (LIBUSB): new macro
27556 * genmk.rb (Utility/print_tail): new method
27557 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27558 (top level): call util.print_tail at the end.
27559
59ade63d 275602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27561
27562 Make FreeBSD accept zpool.cache
27563
27564 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27565 type is /boot/zfs/zpool.cache
27566
a58da8c7 275672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27568
27569 Fix 64-bit efiemu
27570
27571 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27572 correct wrong typedef
27573 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27574
20591577 275752009-07-15 Pavel Roskin <proski@gnu.org>
27576
560ca572 27577 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27578 * kern/disk.c (struct grub_disk_cache): Likewise.
27579
e8e8e4fd 27580 * commands/probe.c (options): Typo fix.
27581
fde24e10 27582 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27583 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27584 accordingly.
27585 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27586
379c54c1 27587 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27588 the end of "Error" to make the message more readable.
27589
7bd8f5bf 27590 * boot/i386/pc/boot.S (kernel_segment): Remove.
27591 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27592 for destination.
27593
40b132c5 27594 * boot/i386/pc/boot.S (boot_version): Remove.
27595 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27596 Remove.
27597
20591577 27598 * include/grub/i386/pc/boot.h: Sort all offsets.
27599 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27600 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27601 * boot/i386/pc/boot.S: Assert location of every offset listed in
27602 include/grub/i386/pc/boot.h.
27603
2df32b2c 276042009-07-13 Pavel Roskin <proski@gnu.org>
27605
44b5d879 27606 * include/grub/i386/coreboot/machine.h: Rename
27607 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27608 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27609 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27610
17dc3751 27611 * kern/dl.c: Force native word size to suppress warnings when
27612 compiling grub-emu.
27613
2df32b2c 27614 * kern/device.c (grub_device_iterate): Change struct part_ent to
27615 hold the name, not a pointer to it. Use one grub_malloc() per
27616 partition, not two. Free partition_name if grub_malloc() fails.
27617 Set ents to NULL only before grub_partition_iterate() is called.
27618
75c59f59 276192009-07-11 Bean <bean123ch@gmail.com>
27620
27621 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27622 childname.
27623
0ae1bf88 276242009-07-10 Bean <bean123ch@gmail.com>
276252009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27626
27627 * kern/ieee1275/openfw.c (grub_children_iterate)
27628 (grub_devalias_iterate): Fix size evaluation for property or path
27629 strings, which was broken since r2132.
27630
8279cade 276312009-07-07 Pavel Roskin <proski@gnu.org>
27632
7d8a52d3 27633 * commands/search.c (search_file): Merge into ...
27634 (search_fs): ... this. Accept search type as argument.
27635 (grub_cmd_search): Pass search type to search_fs().
27636
25f9a05a 27637 * include/grub/util/console.h: New file.
27638 * util/console.c: Use it instead of grub/machine/console.h.
27639 * util/grub-emu.c: Likewise.
27640
8279cade 27641 * lib/arg.c (find_long_option): Remove.
27642 (find_long): Add `len' argument, make `s' const char *.
27643 (grub_arg_parse): Parse long options in place, not in a
27644 temporary buffer.
27645
4a11b60f 276462009-07-06 Pavel Roskin <proski@gnu.org>
27647
99f68041 27648 * commands/search.c (search_fs): Fix potential NULL pointer
27649 dereference.
27650
4a11b60f 27651 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27652 function pointer.
27653
e110f4de 276542009-07-06 Daniel Mierswa <impulze@impulze.org>
27655
27656 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27657 comparison.
27658
46eeb6a2 276592009-07-05 Pavel Roskin <proski@gnu.org>
27660
bab74958 27661 * include/grub/i386/linux.h (struct linux_kernel_params):
27662 Restore padding3, it's still needed.
27663
46eeb6a2 27664 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27665 FreeBSD.
27666 * util/osdetect.lua: Likewise.
27667
b4a1dc79 276682009-07-05 Bean <bean123ch@gmail.com>
27669
27670 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27671
27672 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27673 (grub_lua_getenv): Likewise.
27674 (grub_lua_setenv): Likewise.
27675 (save_errno): New function.
27676 (push_result): Likewise.
27677 (grub_lua_enum_device): Likewise.
27678 (grub_lua_enum_file): Likewise.
27679 (grub_lua_file_open): Likewise.
27680 (grub_lua_file_close): Likewise.
27681 (grub_lua_file_seek): Likewise.
27682 (grub_lua_file_read): Likewise.
27683 (grub_lua_file_getline): Likewise.
27684 (grub_lua_file_getsize): Likewise.
27685 (grub_lua_file_getpos): Likewise.
27686 (grub_lua_file_eof): Likewise.
27687 (grub_lua_file_exist): Likewise.
27688 (grub_lua_add_menu): Likewise.
27689
27690 * script/lua/grub_lua.h (isupper): New inline function.
27691 (islower): Likewise.
27692 (ispunct): Likewise.
27693 (isxdigit): Likewise.
27694 (strcspn): Change to normal function.
27695 (strpbkr): New function declaration.
27696 (memchr): Likewise.
27697
27698 * script/lua/grub_main.c (scan_str): New function.
27699 (strcspn): Likewise.
27700 (strpbrk): Likewise.
27701 (memchr): Likewise.
27702
27703 * script/lua/linit.c (lualibs): Enable the string library.
27704
27705 * util/osdetect.lua: New file.
27706
2da92295 277072009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27710 `capabilities' member.
27711
b2582ec9 277122009-07-02 Pavel Roskin <proski@gnu.org>
27713
27714 * genparttoollist.sh: Add missing newline at the end.
27715
32622956 277162009-07-01 Pavel Roskin <proski@gnu.org>
27717
87a7339e 27718 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27719
d23af54e 27720 * util/hostdisk.c (open_device): Remove `const' from
27721 `sysctl_size', as sysctlbyname() can change it (in this case it
27722 doesn't actually happen).
27723
c94b18a9 27724 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27725 using signed long int constants.
27726
c6cd3ef0 27727 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27728 constant to avoid a warning on FreeBSD.
27729
0df63420 27730 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27731 where it's needed.
27732
999577f1 27733 * Makefile.in: Install include/grub/machine symlink.
27734
6f41557f 27735 * Makefile.in: When installing symlinks, use "cp -fR", which
27736 works on FreeBSD and MacOSX.
27737 From Yves Blusseau <cl7m42e02@sneakemail.com>
27738
c8d22988 27739 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27740 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27741
1b96e952 27742 * util/misc.c: Move grub_reboot() and grub_halt() ...
27743 * util/grub-emu.c: ... here. Make main_env static.
27744 * include/grub/util/misc.h: Remove main_env.
27745
2ef0084d 27746 * kern/mm.c: Use correct format to print size_t.
27747
32622956 27748 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27749 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27750 * kern/powerpc/dl.c: Likewise.
27751 * kern/sparc64/dl.c: Likewise.
27752 * kern/x86_64/dl.c: Likewise.
27753
3f7f0cd0 277542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27755
27756 Fix grub-emu build on sparc64-ieee1275.
27757
75421ca9 27758 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27760
211d06b5 277612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27762
27763 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27764 (grub_reboot, grub_halt): New functions.
27765
27766 * util/i386/pc/misc.c: Delete. Update all users.
27767 * util/sparc64/ieee1275/misc.c: Likewise.
27768 * util/powerpc/ieee1275/misc.c: Likewise.
27769
aaf53e3c 277702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27771
27772 * conf/i386.rmk (setjmp_mod_SOURCES)
27773 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27774 * conf/common.rmk (setjmp_mod_SOURCES)
27775 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27776 to use $(target_cpu).
27777 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27778 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27779 * conf/powerpc-ieee1275.rmk: Likewise.
27780 * conf/sparc64-ieee1275.rmk: Likewise.
27781
27782 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27783 $(target_cpu) for kern/$(target_cpu)/dl.c.
27784 * conf/i386-efi.rmk: Likewise.
27785 * conf/i386-ieee1275.rmk: Likewise.
27786 * conf/x86_64-efi.rmk: Likewise.
27787 * conf/i386-coreboot.rmk: Likewise.
27788 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27789 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27790 kern/$(target_cpu)/cache.S.
27791 * conf/sparc64-ieee1275.rmk: Likewise.
27792
a337130b 277932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27794
27795 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27796 type to `grub_uint8_t', and adjust `padding9' accordingly.
27797
c6fe4d53 277982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27799
b09db61d 27800 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27801
c6fe4d53 27802 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27803 assembly in final jump, using register constraints.
27804
b09db61d 27805 (grub_linux_boot): For text mode, initialize `have_vga' using
27806 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27807
27808 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27809 right before the final jump.
27810
27811 Set `video_mode' to 0x3.
27812
27813 Document initialization of `video_page', `video_mode' and
27814 `video_ega_bx'.
27815
28333ad0 278162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27817
27818 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27819 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27820 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27821
02164e1b 278222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27823
27824 Fix build on Debian / sparc.
27825
27826 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27827
18b6c557 278282009-06-28 Pavel Roskin <proski@gnu.org>
27829
85f2aab6 27830 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27831 fix a warning.
27832
18b6c557 27833 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27834
ad760f81 278352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27836
27837 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27838 `err'.
27839
87a4623b 278402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27841
27842 Revert r2338.
27843
27844 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27845 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27846 grub_errno / grub_errmsg appropriately.
87a4623b 27847 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27848
8231fb77 278492009-06-27 Pavel Roskin <proski@gnu.org>
278502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27851
27852 * include/grub/dl.h: Include grub/elf.h.
27853 (struct grub_dl): Add symtab field.
27854 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27855 GRUB_MODULES_MACHINE_READONLY.
27856 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27857 of the header for read-only modules.
27858 (grub_dl_unload): Free mod->symtab for read-only modules.
27859 * kern/i386/dl.c: Use mod->symtab.
27860 * kern/powerpc/dl.c: Likewise.
27861 * kern/sparc64/dl.c: Likewise.
27862 * kern/x86_64/dl.c: Likewise.
27863
27864 * conf/i386-qemu.rmk: New file.
27865 * kern/i386/qemu/startup.S: Likewise.
27866 * kern/i386/qemu/mmap.c: Likewise.
27867 * boot/i386/qemu/boot.S: Likewise.
27868 * include/grub/i386/qemu/time.h: Likewise.
27869 * include/grub/i386/qemu/serial.h: Likewise.
27870 * include/grub/i386/qemu/kernel.h: Likewise.
27871 * include/grub/i386/qemu/console.h: Likewise.
27872 * include/grub/i386/qemu/boot.h: Likewise.
27873 * include/grub/i386/qemu/init.h: Likewise.
27874 * include/grub/i386/qemu/machine.h: Likewise.
27875 * include/grub/i386/qemu/loader.h: Likewise.
27876 * include/grub/i386/qemu/memory.h: Likewise.
27877
27878 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27879 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27880 [qemu] (pkglib_IMAGES): Add `boot.img'.
27881 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27882 [qemu] (boot_img_FORMAT): New variables.
27883 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27884 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27885 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27886 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27887 [qemu] (kernel_img_FORMAT): New variables.
27888
27889 * configure.ac: Recognise `i386-qemu'.
27890
27891 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27892 (for no compression).
27893 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27894 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27895 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27896 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27897 ifdefs).
27898
97fe384e 278992009-06-27 Pavel Roskin <proski@gnu.org>
27900
27901 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27902 read.
27903 * efiemu/prepare32.c: Likewise.
27904 * efiemu/prepare64.c: Likewise.
27905
c402ab17 279062009-06-26 Pavel Roskin <proski@gnu.org>
27907
27908 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27909 * include/grub/elf.h: Define symbols without "32" or "64" based
27910 on GRUB_TARGET_WORDSIZE.
27911 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27912 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27913 ELF definitions.
27914 * efiemu/loadcore64.c: Likewise.
27915 * loader/i386/bsd32.c: Likewise.
27916 * loader/i386/bsd64.c: Likewise.
27917 * kern/dl.c: Remove own ELF definitions.
27918 * util/i386/efi/grub-mkimage.c: Likewise.
27919
9bbdfd4d 279202009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27921
27922 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27923 segment 0x0 unconditionally, because the reference generated by
27924 GAS is an absolute address.
27925
a42ce6e9 279262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27927
27928 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27929 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27930
c952cf92 279312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27932
27933 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27934 indexes. Check for -f explicitly.
cc3752ad 27935 (search_file): Improve error message.
27936 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27937
132a0a59 279382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27939
27940 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27941 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27942
387a140c 279432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27946 * conf/i386-ieee1275.rmk: Likewise.
27947 * conf/i386-coreboot.rmk: Likewise.
27948
27949 * kern/i386/pc/startup.S (grub_stop): Remove function.
27950 * kern/i386/ieee1275/startup.S: Likewise.
27951 * kern/i386/coreboot/startup.S: Likewise.
27952 * kern/i386/misc.S (grub_stop): New function.
27953
41da9665 279542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27955
27956 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27957 * kern/i386/realmode.S (real_to_prot): ... to here.
27958
bf337234 279592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27960
27961 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27962 with `kernel.img'.
27963 (kernel_elf_SOURCES): Rename to ...
27964 (kernel_img_SOURCES): ... this.
27965 (kernel_elf_HEADERS): Rename to ...
27966 (kernel_img_HEADERS): ... this. Update all users.
27967 (kernel_elf_ASFLAGS): Rename to ...
27968 (kernel_img_ASFLAGS): ... this.
27969 (kernel_elf_CFLAGS): Rename to ...
27970 (kernel_img_CFLAGS): ... this.
27971 (kernel_elf_LDFLAGS): Rename to ...
27972 (kernel_img_LDFLAGS): ... this.
27973 * conf/i386-coreboot.rmk: Likewise.
27974 * conf/powerpc-ieee1275.rmk: Likewise.
27975
27976 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27977 with "kernel.img".
27978
f52196ff 279792009-06-21 Pavel Roskin <proski@gnu.org>
27980
c3cee413 27981 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27982 to match nested functions.
27983 * loader/sparc64/ieee1275/linux.c: Likewise.
27984
f52196ff 27985 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27986
58750afc 279872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27988
27989 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27990 all i386 platforms.
27991
15355c7d 279922009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27993
27994 Fix asm file handling on ELF, and remove workarounds.
27995
27996 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27997 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27998 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27999 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28000
3f3ec72b 280012009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28002
28003 Load BSD ELF modules
28004
28005 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28006 and loader/i386/bsd64.c
28007 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28008 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28009 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28010 (grub_freebsd_load_elfmodule32): New declaration
28011 (grub_freebsd_load_elfmoduleobj64): Likewise
28012 (grub_freebsd_load_elf_meta32): Likewise
28013 (grub_freebsd_load_elf_meta64): Likewise
28014 (grub_freebsd_add_meta): Likewise
28015 (grub_freebsd_add_meta_module): Likewise
28016 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28017 (grub_freebsd_add_meta_module): Likewise and move module-specific
28018 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28019 (grub_cmd_freebsd): Add elf-kernel specific parts
28020 based on grub_freebsd_add_meta_module
28021 (grub_cmd_freebsd_module): Add type parsing moved from
28022 grub_freebsd_add_meta_module
28023 (grub_cmd_freebsd_module_elf): New function
28024 (cmd_freebsd_module_elf): New variable
28025 (GRUB_MOD_INIT): Register freebsd_module_elf
28026 * loader/i386/bsd32.c: New file
28027 * loader/i386/bsd64.c: Likewise
28028 * loader/i386/bsdXX.c: Likewise
28029 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28030 (grub_elf64_load): Likewise
28031 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28032 All users updated
28033 (grub_elf64_load_hook_t): Likewise
28034
0db15301 280352009-06-21 Colin Watson <cjwatson@ubuntu.com>
28036
28037 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28038 variable.
28039 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28040 don't write a menu entry for recovery mode.
28041
546796c1 280422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28043
28044 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28045 after it's no longer needed.
28046
cd7310d5 280472009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28048
28049 * include/grub/i386/loader.h (grub_linux_prot_size)
28050 (grub_linux_tmp_addr, grub_linux_real_addr)
28051 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28052 GRUB_MACHINE_PCBIOS.
28053 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28054 common grub_util_info() call to ...
28055 (generate_image): ... here.
28056 Fix use of uninitialized memory, comparison of signed with
28057 unsigned integers and memory leak.
28058 Remove bogus module address message.
28059
ab32d3b5 280602009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28061
28062 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28063 grub_raid_register
28064 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28065
024ef597 280662009-06-19 Pavel Roskin <proski@gnu.org>
28067
28068 * configure.ac: Remove stray AC_MSG_CHECKING.
28069
3ac72b51 280702009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28073
e14cd814 280742009-06-18 Pavel Roskin <proski@gnu.org>
28075
28076 * conf/common.rmk: Add fs_file.mod.
28077 * disk/fs_file.c: New file.
28078 * include/grub/disk.h (enum grub_disk_dev_id): Add
28079 GRUB_DISK_DEVICE_FILE_ID.
28080
26586d98 280812009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28082
28083 Fix build with Apple's toolchain. Part 2
28084
28085 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28086 a fake start
28087
26de2bcd 280882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28089
28090 Fix build with Apple's toolchain. Part 1
28091
28092 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28093 for long calls
28094 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28095 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28096 Apple's toolchain
28097
09b3490b 280982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 Fix warnings
28101
28102 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28103 (decomp_block): initialize ch
28104 use grub_memcpy instead of memcpy
28105
c22a006a 281062009-06-17 Pavel Roskin <proski@gnu.org>
28107
d3638678 28108 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28109 version, use declarations needed to use vga_text as the startup
28110 console.
28111
c22a006a 28112 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28113 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28114 the kernel.
28115 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28116 and grub_at_keyboard_fini(), it's done on module load and
28117 unload.
28118
05b129e0 281192009-06-17 Felix Zielcke <fzielcke@z-51.de>
28120
28121 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28122 file can't be found.
28123 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28124
cf24ed9e 281252009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Fix newline handling
28128
28129 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28130 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28131 (grub_script_yylex): don't segfault on unterminated script
28132 newline terminates command and variable
28133
74aa8e4b 281342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 avoid double grub_adjust_range call. Bug reported by David Simner
28137
28138 * kern/disk.c (grub_disk_write): change to raw disk access before
28139 calling disk_read
28140
1bd265f3 281412009-06-17 Colin Watson <cjwatson@ubuntu.com>
28142
28143 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28144 spaces, for the benefit of help2man.
28145 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28146
a2d08c06 281472009-06-16 Pavel Roskin <proski@gnu.org>
28148
28149 * kern/i386/halt.c: Include grub/machine/init.h.
28150 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28151
b97bcb19 281522009-06-16 Felix Zielcke <fzielcke@z-51.de>
28153
28154 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28155 drivemap menuentry.
28156
0644f96c 281572009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28158
28159 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28160 `echo' command.
28161
3ef17a2e 281622009-06-16 Pavel Roskin <proski@gnu.org>
28163
28164 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28165 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28166 save %dx, we only need %dl and we never change it.
28167 * boot/i386/pc/cdboot.S: Don't set the root drive.
28168 * boot/i386/pc/pxeboot.S: Likewise.
28169 * include/grub/i386/pc/boot.h: Remove
28170 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28171 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28172 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28173 * kern/i386/pc/init.c (make_install_device): Remove references
28174 to grub_root_drive.
28175 * kern/i386/pc/startup.S: Likewise.
28176 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28177
693fe637 281782009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 xnu_uuid command
28181
28182 * commands/xnu_uuid.c: new file
28183 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28184 (xnu_uuid_mod_SOURCES): new variable
28185 (xnu_uuid_mod_CFLAGS): likewise
28186 (xnu_uuid_mod_LDFLAGS): likewise
28187 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28188 * conf/i386-ieee1275.rmk: likewise
28189 * conf/i386-pc.rmk: likewise
28190 * conf/powerpc-ieee1275.rmk: likewise
28191 * conf/sparc64-ieee1275.rmk: likewise
28192 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28193
c9da87d0 281942009-06-16 Pavel Roskin <proski@gnu.org>
28195
28196 * configure.ac: Avoid '==' in test command, it's not portable.
28197
9c6f4596 281982009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28199
28200 Probe command
28201
28202 * commands/probe.c: new file
28203 * conf/common.rmk (pkglib_MODULES): add probe.mod
28204 (probe_mod_SOURCES): new variable
28205 (probe_mod_CFLAGS): likewise
28206 (probe_mod_LDFLAGS): likewise
28207 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28208 * conf/i386-ieee1275.rmk: likewise
28209 * conf/i386-pc.rmk: likewise
28210 * conf/powerpc-ieee1275.rmk: likewise
28211 * conf/sparc64-ieee1275.rmk: likewise
28212
70b7f9fd 282132009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 Fix handling of string like \"hello\" and "a
28216 b"
28217
28218 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28219 (grub_script_yylex): fix parsing of quoting, escaping and newline
28220
71c79a6b 282212009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28222
dd74360c 28223 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28224 handling
dd74360c 28225
0644f96c 282262009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28227
28228 * util/grub-mkconfig.in: Fix parsing of --output option.
28229
e40893c3 282302009-06-12 Pavel Roskin <proski@gnu.org>
28231
28232 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28233 genmk.rb don't need to be generated or installed.
28234
3a1acfe2 282352009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * commands/i386/pc/drivemap_int13h.S: add more comments
28238
3a4575d4 282392009-06-11 Pavel Roskin <proski@gnu.org>
28240
0658e928 28241 * Makefile.in (uninstall): Uninstall manuals.
28242
ca0388f0 28243 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28244 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28245 and update-grub_lib in two places.
28246 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28247
e3b27c39 28248 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28249 a compiler warning.
28250
3a4575d4 28251 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28252 `entry_lo' to fix variable shadowing.
28253
af1f4f55 282542009-06-11 Christian Franke <franke@computer.org>
28255
28256 * kern/misc.c (__enable_execute_stack): Add missing return type
28257 to prevent gcc warning.
28258
5225e649 282592009-06-11 Felix Zielcke <fzielcke@z-51.de>
28260
28261 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28262
7d83bd47 282632009-06-11 Pavel Roskin <proski@gnu.org>
28264
c1cb63ba 28265 * Makefile.in: Don't rely on any scripts being executable.
28266 Always use $(SHELL) to run shell scripts.
28267
7d83bd47 28268 * configure.ac: Always define ___main if using -nostdlib. This
28269 fixes tests on Cygwin.
28270
948f48e7 282712009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28272
28273 UDF fix
28274
7d83bd47 28275 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28276 is in bytes and not in blocks
7d83bd47 28277
8ada9bc1 282782009-06-11 Pavel Roskin <proski@gnu.org>
28279
28280 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28281 warning.
28282
25ad2323 282832009-06-11 Felix Zielcke <fzielcke@z-51.de>
28284
28285 * util/grub.d/30_os-prober.in: Fix a comment. Source
28286 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28287 to set the root device. Place drivemap command in the generated
28288 chain entry.
28289
e65acb0c 282902009-06-11 Pavel Roskin <proski@gnu.org>
28291
28292 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28293 have long been resolved.
28294
f285fe2d 282952009-06-11 Colin Watson <cjwatson@ubuntu.com>
28296
bd47b0b5 28297 * util/grub.d/10_linux.in: Capitalise "Linux".
28298
f285fe2d 28299 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28300
a0c62e4e 283012009-06-11 Pavel Roskin <proski@gnu.org>
28302
b6783cb2 28303 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28304 fix a gcc warning and ensure that the function won't ever exit.
28305
dde032e8 28306 * kern/i386/ieee1275/init.c: Add missing prototype for
28307 grub_stop_floppy().
28308
22cd079d 28309 * loader/ieee1275/multiboot2.c [__i386__]: Include
28310 grub/cpu/multiboot.h.
28311
a0c62e4e 28312 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28313 casts to short - they are not portable and cause warnings. Fix
28314 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28315
63963d17 283162009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 Drivemap fixes
28319
28320 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28321 new function
28322 (grub_get_root_biosnumber_saved): new variable
28323 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28324 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28325 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28326 %dx after the call if necessary
28327 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28328 (boot_mod_SOURCES): remove
28329 (boot_mod_CFLAGS): remove
28330 (boot_mod_LDFLAGS): remove
28331 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28332 (boot_mod_SOURCES): new variable
28333 (boot_mod_CFLAGS): likewise
28334 (boot_mod_LDFLAGS): likewise
28335 * conf/i386-efi.rmk: likewise
28336 * conf/i386-ieee1275.rmk: likewise
28337 * conf/i386-pc.rmk: likewise
28338 * conf/powerpc-ieee1275.rmk: likewise
28339 * conf/sparc64-ieee1275.rmk: likewise
28340 * conf/x86_64-efi.rmk: likewise
28341 * include/grub/i386/pc/biosnum.h: new file
28342 * lib/i386/pc/biosnum.c: likewise
28343 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28344 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28345 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28346
33abf7ae 283472009-06-10 Pavel Roskin <proski@gnu.org>
28348
5ac35b35 28349 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28350 Use separate variables. Read only the file size at the end, but
28351 not the checksum that we don't use.
28352
5c5215d5 28353 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28354 Adjust all callers.
28355
27d5fef7 28356 * kern/ieee1275/openfw.c: Remove libc includes.
28357 * kern/ieee1275/cmain.c: Likewise.
28358 * include/grub/ieee1275/ieee1275.h: Likewise.
28359
33abf7ae 28360 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28361 compiler warnings.
28362
19d50c2b 283632009-06-10 Felix Zielcke <fzielcke@z-51.de>
28364
28365 * Makefile.in: Remove all trailing whitespace.
28366 * conf/i386-pc.rmk: Likewise.
28367 * conf/powerpc-ieee1275.rmk: Likewise.
28368 * conf/sparc64-ieee1275.rmk: Likewise.
28369 * docs/grub.texi: Likewise.
28370 * docs/texinfo.tex: Likewise.
28371 * disk/fs_uuid.c: Likewise.
28372 * disk/lvm.c: Likewise.
28373 * disk/scsi.c: Likewise.
28374 * disk/ata.c: Likewise.
28375 * disk/ieee1275/ofdisk.c: Likewise.
28376 * disk/i386/pc/biosdisk.c: Likewise.
28377 * disk/host.c: Likewise.
28378 * disk/raid.c: Likewise.
28379 * disk/efi/efidisk.c: Likewise.
28380 * disk/usbms.c: Likewise.
28381 * disk/memdisk.c: Likewise.
28382 * disk/loopback.c: Likewise.
28383 * kern/powerpc/dl.c: Likewise.
28384 * kern/device.c: Likewise.
28385 * kern/dl.c: Likewise.
28386 * kern/sparc64/dl.c: Likewise.
28387 * kern/ieee1275/ieee1275.c: Likewise.
28388 * kern/term.c: Likewise.
28389 * kern/fs.c: Likewise.
28390 * kern/i386/dl.c: Likewise.
28391 * kern/i386/pc/startup.S: Likewise.
28392 * kern/i386/pc/init.c: Likewise.
28393 * kern/i386/pc/mmap.c: Likewise.
28394 * kern/i386/pc/lzo1x.S: Likewise.
28395 * kern/i386/ieee1275/init.c: Likewise.
28396 * kern/i386/realmode.S: Likewise.
28397 * kern/i386/tsc.c: Likewise.
28398 * kern/partition.c: Likewise.
28399 * kern/corecmd.c: Likewise.
28400 * kern/file.c: Likewise.
28401 * kern/efi/efi.c: Likewise.
28402 * kern/efi/init.c: Likewise.
28403 * kern/efi/mm.c: Likewise.
28404 * kern/main.c: Likewise.
28405 * kern/err.c: Likewise.
28406 * kern/env.c: Likewise.
28407 * kern/disk.c: Likewise.
28408 * kern/generic/millisleep.c: Likewise.
28409 * kern/generic/rtc_get_time_ms.c: Likewise.
28410 * kern/misc.c: Likewise.
28411 * kern/parser.c: Likewise.
28412 * genmk.rb: Likewise.
28413 * configure.ac: Likewise.
28414 * boot/i386/pc/diskboot.S: Likewise.
28415 * boot/i386/pc/pxeboot.S: Likewise.
28416 * boot/i386/pc/boot.S: Likewise.
28417 * boot/i386/pc/lnxboot.S: Likewise.
28418 * boot/i386/pc/cdboot.S: Likewise.
28419 * parttool/pcpart.c: Likewise.
28420 * video/readers/tga.c: Likewise.
28421 * video/video.c: Likewise.
28422 * video/bitmap.c: Likewise.
28423 * lib/envblk.c: Likewise.
28424 * lib/i386/setjmp.S: Likewise.
28425 * fs/xfs.c: Likewise.
28426 * fs/afs.c: Likewise.
28427 * fs/fat.c: Likewise.
28428 * fs/ntfs.c: Likewise.
28429 * fs/udf.c: Likewise.
28430 * fs/affs.c: Likewise.
28431 * fs/iso9660.c: Likewise.
28432 * fs/hfs.c: Likewise.
28433 * fs/fshelp.c: Likewise.
28434 * fs/ext2.c: Likewise.
28435 * fs/jfs.c: Likewise.
28436 * fs/reiserfs.c: Likewise.
28437 * fs/hfsplus.c: Likewise.
28438 * fs/minix.c: Likewise.
28439 * fs/cpio.c: Likewise.
28440 * fs/sfs.c: Likewise.
28441 * fs/ufs.c: Likewise.
28442 * efiemu/prepare.c: Likewise.
28443 * efiemu/loadcore_common.c: Likewise.
28444 * efiemu/runtime/efiemu.sh: Likewise.
28445 * efiemu/runtime/efiemu.S: Likewise.
28446 * efiemu/runtime/efiemu.c: Likewise.
28447 * efiemu/pnvram.c: Likewise.
28448 * efiemu/main.c: Likewise.
28449 * efiemu/i386/pc/cfgtables.c: Likewise.
28450 * efiemu/i386/loadcore64.c: Likewise.
28451 * efiemu/i386/loadcore32.c: Likewise.
28452 * efiemu/loadcore.c: Likewise.
28453 * efiemu/symbols.c: Likewise.
28454 * efiemu/mm.c: Likewise.
28455 * include/grub/autoefi.h: Likewise.
28456 * include/grub/datetime.h: Likewise.
28457 * include/grub/term.h: Likewise.
28458 * include/grub/hfs.h: Likewise.
28459 * include/grub/lvm.h: Likewise.
28460 * include/grub/i386/tsc.h: Likewise.
28461 * include/grub/i386/linux.h: Likewise.
28462 * include/grub/i386/xnu.h: Likewise.
28463 * include/grub/i386/efiemu.h: Likewise.
28464 * include/grub/i386/pc/biosdisk.h: Likewise.
28465 * include/grub/i386/pc/memory.h: Likewise.
28466 * include/grub/i386/pc/vbe.h: Likewise.
28467 * include/grub/parttool.h: Likewise.
28468 * include/grub/video.h: Likewise.
28469 * include/grub/memory.h: Likewise.
28470 * include/grub/fs.h: Likewise.
28471 * include/grub/partition.h: Likewise.
28472 * include/grub/xnu.h: Likewise.
28473 * include/grub/efi/api.h: Likewise.
28474 * include/grub/efi/pe32.h: Likewise.
28475 * include/grub/efi/memory.h: Likewise.
28476 * include/grub/multiboot.h: Likewise.
28477 * include/grub/usbdesc.h: Likewise.
28478 * include/grub/multiboot2.h: Likewise.
28479 * include/grub/acpi.h: Likewise.
28480 * include/grub/efiemu/efiemu.h: Likewise.
28481 * include/grub/disk.h: Likewise.
28482 * include/grub/ieee1275/ieee1275.h: Likewise.
28483 * include/grub/net.h: Likewise.
28484 * include/grub/machoload.h: Likewise.
28485 * include/grub/macho.h: Likewise.
28486 * include/multiboot.h: Likewise.
28487 * genmoddep.awk: Likewise.
28488 * normal/main.c: Likewise.
28489 * normal/menu_entry.c: Likewise.
28490 * normal/menu_viewer.c: Likewise.
28491 * normal/completion.c: Likewise.
28492 * normal/cmdline.c: Likewise.
28493 * normal/misc.c: Likewise.
28494 * normal/datetime.c: Likewise.
28495 * bus/usb/usbtrans.c: Likewise.
28496 * bus/usb/ohci.c: Likewise.
28497 * bus/usb/uhci.c: Likewise.
28498 * bus/usb/usb.c: Likewise.
28499 * mmap/efi/mmap.c: Likewise.
28500 * mmap/i386/pc/mmap_helper.S: Likewise.
28501 * mmap/i386/pc/mmap.c: Likewise.
28502 * mmap/i386/mmap.c: Likewise.
28503 * mmap/i386/uppermem.c: Likewise.
28504 * mmap/mmap.c: Likewise.
28505 * commands/acpi.c: Likewise.
28506 * commands/echo.c: Likewise.
28507 * commands/blocklist.c: Likewise.
28508 * commands/loadenv.c: Likewise.
28509 * commands/usbtest.c: Likewise.
28510 * commands/boot.c: Likewise.
28511 * commands/parttool.c: Likewise.
28512 * commands/search.c: Likewise.
28513 * commands/cat.c: Likewise.
28514 * commands/i386/pc/play.c: Likewise.
28515 * commands/i386/pc/drivemap.c: Likewise.
28516 * commands/i386/pc/vbeinfo.c: Likewise.
28517 * commands/i386/pc/acpi.c: Likewise.
28518 * commands/i386/pc/vbetest.c: Likewise.
28519 * commands/ls.c: Likewise.
28520 * commands/cmp.c: Likewise.
28521 * commands/test.c: Likewise.
28522 * commands/efi/acpi.c: Likewise.
28523 * commands/gptsync.c: Likewise.
28524 * commands/help.c: Likewise.
28525 * partmap/amiga.c: Likewise.
28526 * partmap/apple.c: Likewise.
28527 * partmap/acorn.c: Likewise.
28528 * partmap/pc.c: Likewise.
28529 * partmap/sun.c: Likewise.
28530 * partmap/gpt.c: Likewise.
28531 * script/sh/lexer.c: Likewise.
28532 * script/sh/function.c: Likewise.
28533 * font/font.c: Likewise.
28534 * font/font_cmd.c: Likewise.
28535 * loader/powerpc/ieee1275/linux.c: Likewise.
28536 * loader/efi/chainloader.c: Likewise.
28537 * loader/multiboot_loader.c: Likewise.
28538 * loader/macho.c: Likewise.
28539 * loader/i386/multiboot.c: Likewise.
28540 * loader/i386/linux.c: Likewise.
28541 * loader/i386/pc/linux.c: Likewise.
28542 * loader/i386/pc/multiboot2.c: Likewise.
28543 * loader/i386/pc/chainloader.c: Likewise.
28544 * loader/i386/pc/xnu.c: Likewise.
28545 * loader/i386/bsd_trampoline.S: Likewise.
28546 * loader/i386/efi/linux.c: Likewise.
28547 * loader/i386/multiboot_elfxx.c: Likewise.
28548 * loader/i386/bsd_helper.S: Likewise.
28549 * loader/i386/bsd.c: Likewise.
28550 * loader/i386/linux_trampoline.S: Likewise.
28551 * loader/i386/xnu_helper.S: Likewise.
28552 * loader/i386/xnu.c: Likewise.
28553 * loader/i386/bsd_pagetable.c: Likewise.
28554 * loader/i386/multiboot_helper.S: Likewise.
28555 * loader/xnu.c: Likewise.
28556 * loader/xnu_resume.c: Likewise.
28557 * io/gzio.c: Likewise.
28558 * term/efi/console.c: Likewise.
28559 * term/terminfo.c: Likewise.
28560 * term/ieee1275/ofconsole.c: Likewise.
28561 * term/i386/pc/serial.c: Likewise.
28562 * term/i386/pc/vesafb.c: Likewise.
28563 * term/i386/pc/vga.c: Likewise.
28564 * term/usb_keyboard.c: Likewise.
28565 * term/gfxterm.c: Likewise.
28566 * aclocal.m4: Likewise.
28567 * util/lvm.c: Likewise.
28568 * util/grub.d/30_os-prober.in: Likewise.
28569 * util/grub.d/10_hurd.in: Likewise.
28570 * util/console.c: Likewise.
28571 * util/grub-macho2img.c: Likewise.
28572 * util/grub-probe.c: Likewise.
28573 * util/hostfs.c: Likewise.
28574 * util/i386/pc/grub-mkimage.c: Likewise.
28575 * util/i386/pc/grub-setup.c: Likewise.
28576 * util/i386/efi/grub-mkimage.c: Likewise.
28577 * util/grub-mkconfig.in: Likewise.
28578 * util/raid.c: Likewise.
28579 * util/resolve.c: Likewise.
28580 * util/grub-mkdevicemap.c: Likewise.
28581 * util/grub-emu.c: Likewise.
28582 * util/getroot.c: Likewise.
28583 * util/hostdisk.c: Likewise.
28584 * util/usb.c: Likewise.
28585 * util/grub-editenv.c: Likewise.
28586 * util/misc.c: Likewise.
28587
d2d49665 285882009-06-10 Felix Zielcke <fzielcke@z-51.de>
28589
28590 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28591 `genparttoollist.sh'.
28592 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28593 Add `*.sh' to the list find searches for and change `mdate.sh'
28594 to `mdate-sh'.
28595
fe052e37 285962009-06-10 Pavel Roskin <proski@gnu.org>
28597
2763ac18 28598 * include/grub/multiboot2.h: Provide compatibility defines for
28599 multiboot2.h.
28600 * include/multiboot2.h: Include stdint.h only if needed, using
28601 angle brackets.
28602 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28603 grub/multiboot2.h.
28604 * loader/ieee1275/multiboot2.c: Likewise.
28605 * loader/multiboot2.c: Likewise.
28606 * loader/multiboot_loader.c: Likewise.
28607
437e6adc 28608 * configure.ac: Use -nostdlib when probing for the target. It
28609 should not be required to have libc for the target.
28610
06a6836c 28611 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28612 they fail without libc headers for the target.
28613 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28614 exports.
28615 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28616 preprocessor conditionals.
28617
fe052e37 28618 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28619 build system doesn't need to be aware of the tar.c internals.
28620
afd22553 286212009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28622
afd22553 28623 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28624
6b787c4f 286252009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28626
28627 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28628 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28629
286302009-06-09 Felix Zielcke <fzielcke@z-51.de>
28631
28632 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28633 aren't available if ata.mod gets used.
6b787c4f 28634
473d1e45 286352009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28636
473d1e45 28637 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28638 initialising controller.
473d1e45 28639 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28640
255a27d4 286412009-06-08 Felix Zielcke <fzielcke@z-51.de>
28642
28643 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28644 to choose between ata and biosdisk module on i386-pc.
28645
473d1e45 286462009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28647
d55842d8 28648 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28649 Subclass and Programming Interface fields in terms of the 3 byte
28650 Class Code register.
28651 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28652
fa5db0b1 28653 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28654 interface is OHCI. Add grub_dprintf for symmetry with
28655 bus/usb/uhci.c.
28656 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28657 interface is UHCI. Add interf variable for programming
28658 interface. Print interface with class/subclass.
28659
c0947beb 28660 * bus/usb/ohci.c: Set interf with correct field.
28661
69da8877 28662 * bus/usb/uhci.c: Remove unneeded doubled lines.
28663 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28664 Remove whitespace inside comment.
28665
9e172e30 286662009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28667
28668 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28669 as fallback an equivalent option without depth.
28670
de65ee2b 286712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28672
28673 Not fail if unable to retrieve C/H/S on LBA disks
28674
473d1e45 28675 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28676 if unable to retrieve C/H/S on LBA disks
28677
b57ea2c9 286782009-06-08 Pavel Roskin <proski@gnu.org>
28679
28680 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28681 about aliasing.
28682
af361263 286832009-06-08 Felix Zielcke <fzielcke@z-51.de>
28684
28685 * Makefile.in (uninstall): Remove all $lib_DATA files.
28686
4c9ec6b3 286872009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28688
28689 Bugfix: install on partitionless device
28690
28691 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28692 is a whole disk
28693
e76fc924 286942009-06-08 Felix Zielcke <fzielcke@z-51.de>
28695
28696 * Makefile.in (uninstall): Remove all $include_DATA files.
28697
ba5a0d05 286982009-06-08 Felix Zielcke <fzielcke@z-51.de>
28699
28700 * commands/true.c: New file. Implement the true and false commands.
28701 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28702 (true_mod_SOURCES): New variable.
28703 (true_mod_CFLAGS): Likewise.
28704 (true_mod_LDFLAGS): Likewise.
28705
c8048e32 287062009-06-05 Colin D Bennett <colin@gibibit.com>
28707
28708 Optimized font character lookup using binary search instead of linear
28709 search. Fonts now are required to have the character index ordered by
28710 code point.
28711
28712 * font/font.c (load_font_index): Verify that fonts have ordered
28713 character indices.
28714 (find_glyph): Use binary search instead of linear search to find a
28715 character in a font.
28716
408305be 287172009-06-05 Michael Scherer <misc@mandriva.org>
28718
28719 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28720 uses case sensitive btree.
28721 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28722 only for case insensitive filesystems.
28723
8ee1e0d9 287242009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28725
28726 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28727 * conf/common.rmk (search_mod_CFLAGS): likewise
28728
a9966eb1 287292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28730
473d1e45 28731 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28732 compensate a compiler bug
28733
9e7100fb 287342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28735
473d1e45 28736 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28737 instead of '\b'
473d1e45 28738
ede21d71 287392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28740
28741 Definitions for creating asm symbols with Apple's CC
28742
28743 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28744 [APPLE_CC] (VARIABLE): likewise
28745
9dbf7653 287462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28747
28748 Disable lnxboot.img when compiled
28749 with Apple's CC
28750
28751 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28752 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28753 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28754 [! APPLE_CC] (CODE_LENG): skip
28755 [! APPLE_CC] (setup_sects): likewise
28756 [! APPLE_CC]: skip filling
473d1e45 28757
e93cdc3d 287582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28759
28760 Address in trampolines based on 32-bit registers when compiled
28761 with Apple's CC
28762
473d1e45 28763 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28764 for addresses
28765 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28766
6c688477 287672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28768
28769 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28770
28771 * kern/misc.c [APPLE_CC] (memcpy): new function
28772 [APPLE_CC] (memmove): likewise
28773 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28774 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28775 (memset): likewise
28776 (abort): likewise
28777 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28778 APPLE_CC are defined
28779 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28780 (grub_assert_fail): make prototype conditional
28781
e37ffc5c 287822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28783
28784 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28785
473d1e45 28786 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28787 grub-macho2img
e37ffc5c 28788 (CLEANFILES): add grub-macho2img
28789 (grub_macho2img_SOURCES): new variable
28790 * kern/i386/pc/startup.S (bss_start): new variable
28791 (bss_end): likewise
28792 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28793 * util/grub-macho2img.c: new file
28794
cf00df31 287952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28796
28797 Use objconv when compiling with Apple's CC
28798
28799 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28800 (efiemu64.o): likewise
28801 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28802 when compiling with Apple's CC
28803 (efiemu64_s.o): likewise
28804 * configure.ac: check for objconv when compiling with Apple's CC
28805 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28806
d119a20c 288072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28808
28809 Define segment as well as section when compiling with
28810 Apple's CC
28811
28812 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28813 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28814 (efiemu_convert_pointer): likewise
28815 (efiemu_set_virtual_address_map): likewise
28816 (efiemu_convert_pointer): likewise
28817 (efiemu_getcrc32): likewise
28818 (init_crc32_table): likewise
28819 (reflect): likewise
28820 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28821 (GRUB_MOD_DEP): likewise
473d1e45 28822
c8600122 288232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 Allow a compilation without -mcmodel=large
28826
28827 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28828 when compiled without -mcmodel=large
473d1e45 28829 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28830 without -mcmodel=large
473d1e45 28831 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28832 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28833
e8df1d4e 288342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 Remove nested functions in efiemu core
28837
28838 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28839
cc6c3ac1 288402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28841
28842 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28843
28844 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28845 temporary storage
473d1e45 28846 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28847 using Apple's CC
cc6c3ac1 28848 (grub_cpu_is_tsc_supported): likewise
28849 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28850
3e325901 288512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28852
28853 Absolute addressing through constant with Apple's cc
28854
28855 * kern/i386/pc/startup.S: Define necessary constants
28856 and address through it when using ABS with Apple's CC
28857 * boot/i386/pc/diskboot.S: likewise
28858 * boot/i386/pc/boot.S: likewise
28859 * boot/i386/pc/lnxboot.S: likewise
28860 * boot/i386/pc/cdboot.S: likewise
28861 * mmap/i386/pc/mmap_helper.S: likewise
28862 * commands/i386/pc/drivemap_int13h.S: likewise
28863
2b167a72 288642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28865
28866 Check if compiler is apple cc
28867
28868 * Makefile.in (ASFLAGS): new variable
28869 (TARGET_ASFLAGS): likewise
28870 (TARGET_MODULE_FORMAT): likewise
28871 (TARGET_APPLE_CC): likewise
28872 (OBJCONV): likewise
28873 (TARGET_IMG_CFLAGS): likewise
28874 (TARGET_CPPFLAGS): add includedir
28875 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28876 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28877 Check for linker script only if compiler isn't Apple's CC
28878 (TARGET_MODULE_FORMAT): set
28879 (TARGET_APPLE_CC): likewise
28880 (TARGET_ASFLAGS): likewise
28881 (ASFLAGS): likewise
28882 Check for objcopy only if compiler isn't Apple's CC
28883 Check for BSS symbol only if compiler isn't Apple's CC
28884 * genmk.rb: adapt nm options if we use Apple's utils
28885 * aclocal.m4 (grub_apple_cc): new test
28886 (grub_apple_target_cc): likewise
473d1e45 28887
fb14123e 288882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28889
28890 Simplify sed expressions and improve awk
28891
28892 * Makefile.in (install-local): simplify sed expression
28893 * gencmdlist.sh: likewise
28894 * genmoddep.awk: avoid adding module as a dependency of itself
28895
5b889789 288962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 Add missing start symbols
28899
28900 * boot/i386/pc/boot.S: add start
fb14123e 28901 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28902
fd2bf2e3 289032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28906
28907 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28908 (relocate_addresses): consider both r_addend and value at offset
28909 (make_mods_section): zerofill modinfo and header
28910 (convert_elf): write prefix here
473d1e45 28911
5389763d 289122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28913
28914 Use .asciz instead of .string
28915
28916 * i386/pc/diskboot.S: use .asciz instead of .string
28917 * i386/pc/boot.S: likewise
28918 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28919 (GRUB_MOD_NAME): likewise
473d1e45 28920
3eb5ed4e 289212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28922
28923 gfxpayload support
28924
28925 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28926 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28927 (grub_video_setup): remove
28928 (grub_video_set_mode): new prototype
28929 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28930 (vid_mode): remove
28931 (linux_vesafb_res): compile only on PCBIOS
28932 (grub_linux_boot): support gfxpayload
28933 * loader/i386/pc/xnu.c (video_hook): new function
28934 (grub_xnu_set_video): support gfxpayload
28935 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28936 (DEFAULT_VIDEO_HEIGHT): likewise
28937 (DEFAULT_VIDEO_FLAGS): likewise
28938 (DEFAULT_VIDEO_MODE): new definition
28939 (video_hook): new function
28940 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28941 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28942 loading xnu
28943 * video/video.c (grub_video_setup): removed
473d1e45 28944 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28945 grub_video_setup
28946
4b0e1143 289472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28948
28949 Avoid calling biosdisk in drivemap
28950
28951 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28952 (revparse_biosdisk): likewise
28953 (list_mappings): derive name from id directly
28954 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28955
fda6cb98 289562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28957
28958 Script fixes
28959
28960 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28961 (grub_lexer_param): add tokenonhold
28962 (grub_script_create_cmdline): remove cmdline. All callers updated
28963 (grub_script_function_create): make functionname
28964 grub_script_arg. All callers updated
28965 (grub_script_execute_argument_to_string): new prototype
28966 * kern/parser.c (state_transitions): reorder
28967 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28968 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28969 make global
28970 (grub_script_execute_cmdline): use new format
28971 * script/sh/function.c (grub_script_function_create): make functionname
28972 grub_script_arg. All callers updated
473d1e45 28973 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28974 (grub_script_yylex): remove
28975 (grub_script_yylex2): renamed to ...
28976 (grub_script_yylex): ...renamed
28977 parse the expressions like a${b}c
28978 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28979 (GRUB_PARSER_TOKEN_VAR): remove
28980 (GRUB_PARSER_TOKEN_NAME): likewise
28981 ("if"): declare as typeless
28982 ("while"): likewise
28983 ("function"): likewise
28984 ("else"): likewise
28985 ("then"): likewise
28986 ("fi"): likewise
28987 (text): remove
28988 (argument): likewise
28989 (script): accept empty scripts and make exit on error
28990 (arguments): use GRUB_PARSER_TOKEN_ARG
28991 (function): likewise
28992 (command): move error handling to script
28993 (menuentry): move grub_script_lexer_ref before
473d1e45 28994 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28995 argument. All callers updated
28996
f4448a07 289972009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28998
28999 Prevent GRUB from probing floppies during boot.
29000
29001 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29002 * commands/search.c (options): Add --no-floppy.
29003 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29004 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29005 --no-floppy when searching for UUIDs.
29006
2bf5885a 290072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 Simplify the code duplication in commands/search.c.
29010
29011 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29012 (search_fs): ... this. Update all users.
29013
f6fd460a 290142009-06-03 Felix Zielcke <fzielcke@z-51.de>
29015
29016 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29017
cbb3c83e 290182009-05-28 Pavel Roskin <proski@gnu.org>
29019
57788cfd 29020 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29021 Remove the original symlink explicitly.
29022
cbb3c83e 29023 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29024 just one slash. That's how grub_fshelp_find_file() does it.
29025
cd0d5e30 290262009-05-26 Pavel Roskin <proski@gnu.org>
29027
f0f8bbe2 29028 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29029 to `str'.
29030
cd0d5e30 29031 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29032 possibly unused.
29033
8c2cab51 290342009-05-25 Christian Franke <franke@computer.org>
29035
29036 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29037 register.
29038 (grub_atapi_identify): Add wait after drive select.
29039 (grub_ata_identify): Do more strict status register check before
29040 calling grub_atapi_identify (). Suppress error message if status
29041 register is 0x00 after command failure. Add status register
29042 check after PIO read to avoid bogus identify due to stuck DRQ.
29043 Thanks to Pavel Roskin for testing.
29044 (grub_device_initialize): Remove unsafe status register check.
29045 Thanks to 'phcoder' for problem report and patch.
29046 Prevent sign extension in debug message.
29047
230c0ad6 290482009-05-23 Colin D Bennett <colin@gibibit.com>
29049
29050 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29051 definition file, and functions defined in `normal/menu.c' have had
29052 their prototypes moved to `include/grub/menu.h' for consistency.
29053
29054 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29055 from normal.h.
29056 (grub_menu_get_entry): Likewise.
29057 (grub_menu_get_timeout): Likewise.
29058 (grub_menu_set_timeout): Likewise.
29059 (grub_menu_execute_entry): Likewise.
29060 (grub_menu_execute_with_fallback): Likewise.
29061 (grub_menu_entry_run): Likewise.
29062
29063 * include/grub/normal.h: Re-ordered and grouped function
29064 prototypes by file that the function is defined in.
29065 (grub_menu_execute_callback): Removed; moved to menu.h.
29066 (grub_menu_get_entry): Likewise.
29067 (grub_menu_get_timeout): Likewise.
29068 (grub_menu_set_timeout): Likewise.
29069 (grub_menu_execute_entry): Likewise.
29070 (grub_menu_execute_with_fallback): Likewise.
29071 (grub_menu_entry_run): Likewise.
29072 (grub_menu_addentry): Renamed from this ...
29073 (grub_normal_add_menu_entry): ... to this.
29074
29075 * normal/main.c (grub_menu_addentry): Renamed from this ...
29076 (grub_normal_add_menu_entry): ... to this.
29077
29078 * script/sh/execute.c (grub_script_execute_menuentry): Update
29079 reference to renamed grub_menu_addentry function.
29080
861f03a5 290812009-05-23 Felix Zielcke <fzielcke@z-51.de>
29082
29083 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29084
96b1619a 290852009-05-22 Pavel Roskin <proski@gnu.org>
29086
bf6a5fb2 29087 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29088 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29089 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29090 compiling for the i386 targets, but not for the utilities.
29091
96b1619a 29092 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29093 to grub_uint8_t.
29094 (grub_root_drive): Likewise.
29095 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29096 remove alignment.
29097 (grub_root_drive): Change size to byte.
29098 (grub_start_addr): Remove.
29099 (grub_end_addr): Likewise.
29100 (grub_apm_bios_info): Likewise.
29101
b729776b 291022009-05-21 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * normal/i386: Remove.
29105 * normal/powerpc: Likewise.
29106 * normal/sparc64: Likewise.
29107 * normal/x86_64: Likewise.
29108
0a15ce80 291092009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29110
29111 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29112 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29113 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29114
33db9015 291152009-05-18 Colin D Bennett <colin@gibibit.com>
29116
d6da58e6 29117 Display error messages when parsing a Lua statement fails.
29118 Previously, executing a syntactically invalid statement like
29119 ")foo" or "bar;" would silently fail.
33db9015 29120
29121 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29122 (grub_lua_parse_line): Improved reporting of Lua parser and
29123 execution errors.
33db9015 29124
46422c89 291252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29126
29127 Remove -Werror which causes build to fail on some systems
29128
29129 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29130 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29131 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29132
22f53a96 291332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29134
29135 trampoline for linux on 64-bit platform
29136
18f547ad 29137 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29138 loader/i386/efi/linux_trampoline.S
29139 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29140 declaration
d6da58e6 29141 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29142 here
22f53a96 29143 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29144 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29145 trampoline
22f53a96 29146 (jumpvector): removed
29147 (grub_linux_trampoline_start): new declaration
29148 (grub_linux_trampoline_end): likewise
29149 (grub_linux_boot): use trampoline when on 64-bit platform
29150 * loader/i386/linux.c: likewise
29151
cb5a0f40 291522009-05-16 Pavel Roskin <proski@gnu.org>
29153
29154 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29155 const to avoid a warning.
29156 (grub_lua_setenv): Likewise.
29157 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29158 lmsg to fix a warning.
29159
334f2c28 291602009-05-16 Felix Zielcke <fzielcke@z-51.de>
29161
29162 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29163 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29164 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29165 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29166 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29167 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29168 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29169 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29170
59e5d3ec 291712009-05-16 Felix Zielcke <fzielcke@z-51.de>
29172
29173 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29174
9d87a1ba 291752009-05-16 Bean <bean123ch@gmail.com>
29176
29177 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29178 (lua_mod_SOURCES): New variable.
29179 (lua_mod_CFLAGS): Likewise.
29180 (lua_mod_LDFLAGS): Likewise.
29181
29182 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29183 (setjmp_mod_SOURCES): New variable.
29184 (setjmp_mod_CFLAGS): Likewise.
29185 (setjmp_LDFLAGS): Likewise.
29186
29187 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29188 (setjmp_mod_SOURCES): New variable.
29189 (setjmp_mod_CFLAGS): Likewise.
29190 (setjmp_LDFLAGS): Likewise.
29191
29192 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29193 (setjmp_mod_SOURCES): New variable.
29194 (setjmp_mod_CFLAGS): Likewise.
29195 (setjmp_LDFLAGS): Likewise.
29196
29197 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29198 (setjmp_mod_SOURCES): New variable.
29199 (setjmp_mod_CFLAGS): Likewise.
29200 (setjmp_LDFLAGS): Likewise.
29201
29202 * normal/i386/setjmp.S: Moved from here ...
29203 * lib/i386/setjmp.S: ... Moved here
29204 * normal/x86_64/setjmp.S: Moved from here ...
29205 * lib/x86_64/setjmp.S: ... Moved here
29206 * normal/powerpc/setjmp.S: Moved from here ...
29207 * lib/powerpc/setjmp.S: ... Moved here
29208 * normal/sparc64/setjmp.S: Moved from here ...
29209 * lib/sparc64/setjmp.S: ... Moved here
29210
29211 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29212 returns_twice in mingw.
29213
29214 * script/lua/grub_lib.c: New file.
29215 * script/lua/grub_lib.h: Likewise.
29216 * script/lua/grub_lua.h: Likewise.
29217 * script/lua/grub_main.c: Likewise.
29218 * script/lua/lapi.c: Likewise.
29219 * script/lua/lapi.h: Likewise.
29220 * script/lua/lauxlib.c: Likewise.
29221 * script/lua/lauxlib.h: Likewise.
29222 * script/lua/lbaselib.c: Likewise.
29223 * script/lua/lcode.c: Likewise.
29224 * script/lua/lcode.h: Likewise.
29225 * script/lua/ldblib.c: Likewise.
29226 * script/lua/ldebug.c: Likewise.
29227 * script/lua/ldebug.h: Likewise.
29228 * script/lua/ldo.c: Likewise.
29229 * script/lua/ldo.h: Likewise.
29230 * script/lua/ldump.c: Likewise.
29231 * script/lua/lfunc.c: Likewise.
29232 * script/lua/lfunc.h: Likewise.
29233 * script/lua/lgc.c: Likewise.
29234 * script/lua/lgc.h: Likewise.
29235 * script/lua/linit.c: Likewise.
29236 * script/lua/liolib.c: Likewise.
29237 * script/lua/llex.c: Likewise.
29238 * script/lua/llex.h: Likewise.
29239 * script/lua/llimits.h: Likewise.
29240 * script/lua/lmathlib.c: Likewise.
29241 * script/lua/lmem.c: Likewise.
29242 * script/lua/lmem.h: Likewise.
29243 * script/lua/loadlib.c: Likewise.
29244 * script/lua/lobject.c: Likewise.
29245 * script/lua/lobject.h: Likewise.
29246 * script/lua/lopcodes.c: Likewise.
29247 * script/lua/lopcodes.h: Likewise.
29248 * script/lua/loslib.c: Likewise.
29249 * script/lua/lparser.c: Likewise.
29250 * script/lua/lparser.h: Likewise.
29251 * script/lua/lstate.c: Likewise.
29252 * script/lua/lstate.h: Likewise.
29253 * script/lua/lstring.c: Likewise.
29254 * script/lua/lstring.h: Likewise.
29255 * script/lua/lstrlib.c: Likewise.
29256 * script/lua/ltable.c: Likewise.
29257 * script/lua/ltable.h: Likewise.
29258 * script/lua/ltablib.c: Likewise.
29259 * script/lua/ltm.c: Likewise.
29260 * script/lua/ltm.h: Likewise.
29261 * script/lua/lua.h: Likewise.
29262 * script/lua/luaconf.h: Likewise.
29263 * script/lua/lualib.h: Likewise.
29264 * script/lua/lundump.c: Likewise.
29265 * script/lua/lundump.h: Likewise.
29266 * script/lua/lvm.c: Likewise.
29267 * script/lua/lvm.h: Likewise.
29268 * script/lua/lzio.c: Likewise.
29269 * script/lua/lzio.h: Likewise.
29270
5e898c9d 292712009-05-16 Bean <bean123ch@gmail.com>
29272
29273 * include/grub/kernel.h (grub_module_header_types): Add type
29274 OBJ_TYPE_CONFIG.
29275
29276 * kern/main.c (grub_load_config): New function.
29277 (grub_main): Call grub_load_config to read boot config.
29278
29279 * grub-mkimage (generate_image): New parameter config_path.
29280 (options): New option --config.
29281 (main): Parse --config option, and pass it to generate_image.
29282
cf353a47 292832009-05-14 Christian Franke <franke@computer.org>
29284
29285 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29286 This fixes build on Cygwin.
29287
3834887f 292882009-05-14 Pavel Roskin <proski@gnu.org>
29289
29290 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29291 jump. This saves two bytes, so the typical case of 2 swapped
29292 drives would fit 32 bytes.
29293
8090fc01 292942009-05-13 Pavel Roskin <proski@gnu.org>
29295
ac963883 29296 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29297 grub_uint32_t to avoid a warning.
29298
8090fc01 29299 * loader/i386/linux.c (allocate_pages): When assigning
29300 real_mode_mem, cast through grub_size_t to fix a warning. The
29301 code already makes sure that the value would fit a pointer.
29302 (grub_linux_setup_video): Cast render_target->data to
29303 grub_size_t to fix a warning.
29304
18f547ad 293052009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29306
29307 * commands/i386/pc/drivemap.c: New file - implement drivemap
29308 command.
29309 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29310 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29311
6f6a8b28 293122009-05-13 Pavel Roskin <proski@gnu.org>
29313
29314 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29315 embedding_area_exists.
29316
15fbf4c4 293172009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29318
29319 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29320 it easier to understand / work with.
59978c8a 29321 Improve warning messages for cases where there's no embedding area,
29322 or when it is too small (or core.img too large).
15fbf4c4 29323
238e871f 293242009-05-13 Pavel Roskin <proski@gnu.org>
29325
0ab3a9a4 29326 * loader/i386/pc/multiboot2.c: Add necessary includes for
29327 grub_multiboot2_real_boot().
29328
a2c8c5f8 29329 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29330 PX record is always little-endian. We only need the lower 2
29331 bytes of the mode.
29332
faec96af 29333 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29334 facilitate code reuse.
29335 (grub_cpio_mount): Use "struct head", not a char buffer. This
29336 fixes a warning reported by gcc 4.4.
29337
238e871f 29338 * kernel/disk.c (grub_disk_read): Use void pointer for the
29339 buffer.
29340 (grub_disk_write): Use const void pointer for the buffer.
29341 Adjust all callers. Remove unnecessary casts.
29342
901d2f0c 293432009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29344
29345 * util/i386/pc/grub-install.in: Update copyright year.
29346
18f547ad 293472009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29348
29349 gptsync
29350
29351 * commands/gptsync.c: new file
29352 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29353 (gptsync_mod_SOURCES): new variable
29354 (gptsync_mod_CFLAGS): likewise
29355 (gptsync_mod_LDFLAGS): likewise
18f547ad 29356 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29357 new definition
29358 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29359 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29360 * conf/i386-ieee1275.rmk: likewise
29361 * conf/i386-pc.rmk: likewise
29362 * conf/powerpc-ieee1275.rmk: likewise
29363
b4ba690a 293642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29365
29366 Fixed grub-emu
29367
29368 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29369 (grub_dl_ref): likewise
29370
317e1a44 293712009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29372
29373 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29374 split in two functions (one for msdos and one for gpt).
29375
041b8094 293762009-05-08 Pavel Roskin <proski@gnu.org>
29377
752473c2 29378 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29379 not modified.
29380
041b8094 29381 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29382 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29383 Initialize them with -1. Add sanity check for bad1. Eliminate
29384 nerr variable.
29385
172800ce 293862009-05-08 David S. Miller <davem@davemloft.net>
29387
29388 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29389
29aa5e81 293902009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29391
29392 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29393 existence.
29aa5e81 29394
96613b62 293952009-05-05 Felix Zielcke <fzielcke@z-51.de>
29396
29397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29398 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29399
eef73c8a 294002009-05-05 David S. Miller <davem@davemloft.net>
29401
29402 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29403
119494b5 294042009-05-05 Pavel Roskin <proski@gnu.org>
29405
29406 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29407 of grub_dl_ref() and grub_dl_unref().
29408 * commands/parttool.c: Remove preprocessor conditionals around
29409 grub_dl_ref() and grub_dl_unref().
29410 * fs/affs.c: Likewise.
29411 * fs/afs.c: Likewise.
29412 * fs/cpio.c: Likewise.
29413 * fs/ext2.c: Likewise.
29414 * fs/fat.c: Likewise.
29415 * fs/hfs.c: Likewise.
29416 * fs/hfsplus.c: Likewise.
29417 * fs/iso9660.c: Likewise.
29418 * fs/jfs.c: Likewise.
29419 * fs/minix.c: Likewise.
29420 * fs/ntfs.c: Likewise.
29421 * fs/reiserfs.c: Likewise.
29422 * fs/sfs.c: Likewise.
29423 * fs/udf.c: Likewise.
29424 * fs/ufs.c: Likewise.
29425 * fs/xfs.c: Likewise.
29426 * include/grub/dl.h: Likewise.
29427 * loader/xnu.c: Likewise.
29428
de5fd76e 294292009-05-04 Pavel Roskin <proski@gnu.org>
29430
29431 * commands/acpi.c: Remove unused variable my_mod.
29432 * partmap/amiga.c: Likewise.
29433 * partmap/apple.c: Likewise.
29434 * partmap/gpt.c: Likewise.
29435 * partmap/pc.c: Likewise.
29436 * partmap/sun.c: Likewise.
29437 * term/gfxterm.c: Likewise.
29438 * term/i386/pc/vesafb.c: Likewise.
29439 * term/i386/pc/vga.c: Likewise.
29440
983598ad 294412009-05-04 David S. Miller <davem@davemloft.net>
29442
29443 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29444 pointer args to grub_ieee1275_get_property().
29445
8aadec43 29446 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29447
9554b15e 29448 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29449 devices, and do not traverse down under controller nodes.
29450
67e23c90 29451 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29452 (grub_ofdisk_open): Use it to un-escape "," characters.
29453 * kern/disk.c (find_part_sep): New.
29454 (grub_disk_open): Use it to find the first non-escaped ','
29455 character in the disk name.
29456 * util/ieee1275/devicemap.c (escape_of_path): New.
29457 (grub_util_emit_devicemap_entry): Use it.
29458 * util/sparc64/ieee1275/grub-install.in: Update script to
29459 strip partition specifiers properly by not triggering on
29460 '\' escaped ',' characters.
29461
74bfdd2f 294622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29463
29464 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29465 to 0x300.
29466 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29467 resolutions.
29468 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29469 on documentation from Wikipedia).
29470
4241d2b1 294712009-05-04 Pavel Roskin <proski@gnu.org>
29472
29473 * disk/ata.c: Spelling fixes.
29474 * disk/raid.c: Likewise.
29475 * disk/usbms.c: Likewise.
29476 * disk/dmraid_nvidia.c: Likewise.
29477 * kern/ieee1275/openfw.c: Likewise.
29478 * kern/ieee1275/init.c: Likewise.
29479 * kern/ieee1275/cmain.c: Likewise.
29480 * boot/i386/pc/cdboot.S: Likewise.
29481 * video/readers/png.c: Likewise.
29482 * video/i386/pc/vbe.c: Likewise.
29483 * fs/udf.c: Likewise.
29484 * fs/hfs.c: Likewise.
29485 * fs/reiserfs.c: Likewise.
29486 * efiemu/runtime/efiemu.c: Likewise.
29487 * efiemu/main.c: Likewise.
29488 * efiemu/mm.c: Likewise.
29489 * include/grub/elf.h: Likewise.
29490 * include/grub/xnu.h: Likewise.
29491 * include/grub/usbdesc.h: Likewise.
29492 * include/grub/usb.h: Likewise.
29493 * include/grub/script_sh.h: Likewise.
29494 * include/grub/lib/LzmaEnc.h: Likewise.
29495 * include/grub/efiemu/efiemu.h: Likewise.
29496 * include/grub/command.h: Likewise.
29497 * normal/menu.c: Likewise.
29498 * normal/main.c: Likewise.
29499 * normal/datetime.c: Likewise.
29500 * bus/usb/uhci.c: Likewise.
29501 * mmap/i386/uppermem.c: Likewise.
29502 * mmap/mmap.c: Likewise.
29503 * commands/acpi.c: Likewise.
29504 * commands/test.c: Likewise.
29505 * partmap/apple.c: Likewise.
29506 * font/font.c: Likewise.
29507 * loader/sparc64/ieee1275/linux.c: Likewise.
29508 * loader/macho.c: Likewise.
29509 * loader/i386/bsd_trampoline.S: Likewise.
29510 * loader/i386/bsd.c: Likewise.
29511 * loader/xnu.c: Likewise.
29512 * term/i386/pc/vesafb.c: Likewise.
29513 * term/usb_keyboard.c: Likewise.
29514 * util/resolve.c: Likewise.
29515 * util/getroot.c: Likewise.
29516
0cfc0083 295172009-05-04 Felix Zielcke <fzielcke@z-51.de>
29518
29519 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29520
7c1d00cd 295212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29524 build error.
29525
b01f0548 295262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29529 parameter only available on BIOS.
29530
ecc3eb22 295312009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 Removed wrong semicolon in declaration
29534
29535 * grub/misc.h (grub_dprintf): remove semicolon
29536
112972a9 295372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29538
29539 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29540 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29541 is done by grub_cmd_linux() now).
29542 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29543 restore video to text mode.
29544 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29545 indicates lack of "vga=" parameter. "vga=0" is mapped to
29546 `GRUB_LINUX_VID_MODE_NORMAL'.
29547
afd5c115 295482009-05-04 Felix Zielcke <fzielcke@z-51.de>
29549
29550 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29551 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29552 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29553 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29554 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29555 `grub_script.tab.c'.
29556
29557 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29558 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29560 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29561 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29562
faa517ce 29563 * Makefile.in: Remove duplicated 2008 in Copyright line.
29564
ae0c0bdc 295652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29566
473d1e45 29567 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29568 unconditionally.
29569 * include/grub/util/misc.h (grub_util_warn): New declaration.
29570
29571 * util/i386/pc/grub-install.in: Understand --force and pass it down
29572 to grub-setup.
29573
29574 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29575 down to setup().
29576 (setup): Improve error messages and add warnings when requested to
29577 install in odd layouts. Refuse to install using blocklists unless
29578 --force was set.
29579
18f547ad 295802009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29581
29582 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29583
6d260daa 295842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29585
29586 Updated copyright year
29587
29588 * fs/hfsplus.c: updated copyright year
18f547ad 29589
69f853f8 295902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29591
29592 HFS+ UUID
29593
18f547ad 29594 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29595 in the space previously used by unused3
29596 (grub_hfsplus_uuid): new function
29597 (grub_hfsplus_fs): added uuid field
29598
4c402e73 295992009-05-03 Pavel Roskin <proski@gnu.org>
29600
29601 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29602 suppress warnings. It's no longer needed.
29603 * disk/host.c: Likewise.
29604 * disk/ata_pthru.c: Likewise.
29605 * disk/loopback.c: Likewise.
29606 * hook/datehook.c: Likewise.
29607 * parttool/pcpart.c: Likewise.
29608 * fs/i386/pc/pxe.c: Likewise.
29609 * fs/ntfscomp.c: Likewise.
29610 * efiemu/main.c: Likewise.
29611 * mmap/mmap.c: Likewise.
29612 * commands/crc.c: Likewise.
29613 * commands/hexdump.c: Likewise.
29614 * commands/hdparm.c: Likewise.
29615 * commands/acpi.c: Likewise.
29616 * commands/echo.c: Likewise.
29617 * commands/minicmd.c: Likewise.
29618 * commands/blocklist.c: Likewise.
29619 * commands/memrw.c: Likewise.
29620 * commands/loadenv.c: Likewise.
29621 * commands/usbtest.c: Likewise.
29622 * commands/lsmmap.c: Likewise.
29623 * commands/boot.c: Likewise.
29624 * commands/parttool.c: Likewise.
29625 * commands/configfile.c: Likewise.
29626 * commands/search.c: Likewise.
29627 * commands/ieee1275/suspend.c: Likewise.
29628 * commands/cat.c: Likewise.
29629 * commands/i386/pc/pxecmd.c: Likewise.
29630 * commands/i386/pc/play.c: Likewise.
29631 * commands/i386/pc/halt.c: Likewise.
29632 * commands/i386/pc/vbeinfo.c: Likewise.
29633 * commands/i386/pc/vbetest.c: Likewise.
29634 * commands/lspci.c: Likewise.
29635 * commands/date.c: Likewise.
29636 * commands/handler.c: Likewise.
29637 * commands/ls.c: Likewise.
29638 * commands/test.c: Likewise.
29639 * commands/cmp.c: Likewise.
29640 * commands/efi/loadbios.c: Likewise.
29641 * commands/efi/fixvideo.c: Likewise.
29642 * commands/halt.c: Likewise.
29643 * commands/help.c: Likewise.
29644 * commands/reboot.c: Likewise.
29645 * hello/hello.c: Likewise.
29646 * script/sh/main.c: Likewise.
29647 * loader/xnu.c: Likewise.
29648 * term/terminfo.c: Likewise.
29649 * term/i386/pc/serial.c: Likewise.
29650 * term/usb_keyboard.c: Likewise.
29651
515b5079 296522009-05-03 David S. Miller <davem@davemloft.net>
29653
29654 * normal/menu.c: Include grub/parser.h
29655
dfc31a22 296562009-05-03 Pavel Roskin <proski@gnu.org>
29657
2fee74f1 29658 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29659 not char*.
29660 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29661 Suggested by Javier Martín <lordhabbit@gmail.com>
29662
dfc31a22 29663 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29664 efiemu??.o doesn't exist.
29665 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29666 copying.
29667
18f547ad 296682009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29669
29670 FreeBSD 64-bit support
29671
18f547ad 29672 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29673 and loader/i386/bsd_trampoline.S
29674 (bsd_mod_ASFLAGS): new variable
29675 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29676 (FREEBSD_MODTYPE_KERNEL64): likewise
29677 (grub_bsd64_trampoline_start): likewise
29678 (grub_bsd64_trampoline_end): likewise
29679 (grub_bsd64_trampoline_selfjump): likewise
29680 (grub_bsd64_trampoline_gdt): likewise
29681 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29682 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29683 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29684 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29685 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29686 of "attrib" member
29687 * loader/i386/bsd_pagetable.c: new file
29688 * loader/i386/bsd_trampoline.S: likewise
29689 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29690 (ALIGN_VAR): likewise
29691 (entry_hi): new variable
29692 (kern_end_mdofs): likewise
29693 (is_64bit): likewise
29694 (grub_freebsd_add_meta): use ALIGN_VAR
29695 (grub_e820_mmap): new declaration
29696 (grub_freebsd_add_mmap): new function
29697 (grub_freebsd_add_meta_module): support 64 bit kernels
29698 (grub_freebsd_list_modules): use ALIGN_VAR
29699 (gdt_descriptor): new declaration
29700 (grub_freebsd_boot): support 64 bit kernels
29701 (grub_bsd_elf64_hook): new function
29702 (grub_bsd_load_elf): support elf64
29703
038c5720 297042009-05-03 Bean <bean123ch@gmail.com>
29705
29706 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29707 after we get the result of if statement.
29708
fc45fb58 297092009-05-03 Bean <bean123ch@gmail.com>
29710
29711 * Makefile.in (enable_efiemu): New variable.
29712
29713 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29714 set.
29715 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29716 path.
29717 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29718 path, add -mno-red-zone option.
29719 (efiemu64_s.o): Likewise.
29720 (efiemu64.o): Use macro $^ for source file.
29721
29722 * configure.ac (--enable-efiemu): New option.
29723
bbee0f2b 297242009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29725
29726 xnu support
29727
29728 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29729 (pkglib_MODULES): add xnu.mod
29730 (xnu_mod_SOURCES): new variable
29731 (xnu_mod_CFLAGS): likewise
29732 (xnu_mod_LDFLAGS): likewise
29733 (xnu_mod_ASFLAGS): likewise
29734 * conf/i386-pc.rmk: likewise
29735 * conf/x86_64-efi.rmk: likewise
7dd4a573 29736 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29737 new declaration
29738 * include/grub/i386/macho.h: new file
29739 * include/grub/i386/xnu.h: likewise
29740 * include/grub/macho.h: likewise
29741 * include/grub/machoload.h: likewise
29742 * include/grub/x86_64/macho.h: likewise
29743 * include/grub/x86_64/xnu.h: likewise
29744 * include/grub/xnu.h: likewise
29745 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29746 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29747 * loader/i386/efi/xnu.c: new file
29748 * loader/i386/pc/xnu.c: likewise
29749 * loader/i386/xnu.c: likewise
29750 * loader/i386/xnu_helper.S: likewise
29751 * loader/macho.c: likewise
29752 * loader/xnu.c: likewise
29753 * loader/xnu_resume.c: likewise
29754 * util/grub-dumpdevtree: likewise
29755 * include/grub/i386/pit.h: include grub/err.h
29756 (grub_pit_wait): export
29757 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29758
5caf964d 297592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29760
29761 Efiemu
7dd4a573 29762
5caf964d 29763 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29764 _linux_efi, linux_efi.
29765 new files in grub-emu
5caf964d 29766 new targets efiemu32.o and efiemu64.o
29767 * loader/linux_normal_efiemu.c: likewise
29768 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29769 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29770 files to copy
29771 * include/grub/autoefi.h: new file
7dd4a573 29772 * include/grub/i386/efiemu.h: likewise
5caf964d 29773 * include/grub/i386/pc/efiemu.h: likewise
29774 * include/grub/efi/api.h: add LL suffix when necessary
29775 new definitions relating to tables
29776 * include/grub/efiemu/efiemu.h: new file
29777 * include/grub/efiemu/runtime.h: likewise
29778 * efiemu/prepare.c: likewise
29779 * efiemu/loadcore_common.c: likewise
29780 * efiemu/loadcore64.c: likewise
29781 * efiemu/runtime/efiemu.sh: likewise
29782 * efiemu/runtime/efiemu.S: likewise
29783 * efiemu/runtime/efiemu.c: likewise
29784 * efiemu/runtime/config.h: likewise
29785 * efiemu/prepare32.c: likewise
29786 * efiemu/main.c: likewise
29787 * efiemu/modules/pnvram.c: likewise
29788 * efiemu/modules/i386: likewise
29789 * efiemu/modules/i386/pc: likewise
29790 * efiemu/modules/acpi.c: likewise
29791 * efiemu/i386/pc/cfgtables.c: likewise
29792 * efiemu/i386/loadcore64.c: likewise
29793 * efiemu/i386/loadcore32.c: likewise
29794 * efiemu/prepare64.c: likewise
29795 * efiemu/loadcore.c: likewise
29796 * efiemu/symbols.c: likewise
29797 * efiemu/mm.c: likewise
29798 * efiemu/loadcore32.c: likewise
7dd4a573 29799
298002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29801
29802 ACPI spoofing
29803
29804 * commands/acpi.c: new file
29805 * commands/i386/pc/acpi.c: likewise
29806 * commands/efi/acpi.c: likewise
29807 * include/grub/acpi.h: likewise
29808 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29809 (acpi_mod_SOURCES): new variable
29810 (acpi_mod_CFLAGS): likewise
29811 (acpi_mod_LDFLAGS): likewise
29812 * conf/i386-efi.rmk: likewise
29813 * conf/x86_64-efi.rmk: likewise
29814
7dd4a573 298152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29816
29817 Missing part from mmap patch
29818
29819 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29820 (grub_mmap_unregister)
29821 (grub_mmap_free_and_unregister): use grub_mmap_register
29822
7dd4a573 298232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29824
29825 Mmap services
29826
29827 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29828 * loader/i386/linux.c (find_mmap_size): likewise
29829 (allocate_pages): likewise
29830 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29831 (grub_fill_multiboot_mmap): likewise
29832 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29833 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29834 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29835 (OPENBSD_MMAP_RESERVED): likewise
29836 * include/grub/i386/pc/memory.h: include grub/memory.h
29837 (grub_lower_mem): removed
29838 (grub_upper_mem): likewise
29839 (GRUB_MACHINE_MEMORY_ACPI): new definition
29840 (GRUB_MACHINE_MEMORY_NVS): likewise
29841 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29842 (GRUB_MACHINE_MEMORY_HOLE): likewise
29843 (grub_machine_mmap_register): likewise
29844 (grub_machine_mmap_unregister): likewise
29845 (grub_machine_get_upper): likewise
29846 (grub_machine_get_lower): likewise
29847 (grub_machine_get_post64): likewise
29848 * include/grub/i386/efi/memory.h: new file
29849 * include/grub/x86_64/efi/memory.h: likewise
29850 * include/grub/efi/memory.h: likewise
29851 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29852 (mmap_mod_SOURCES): new variable
29853 (mmap_mod_LDFLAGS): likewise
29854 (mmap_mod_ASFLAGS): likewise
29855 * conf/i386-coreboot.rmk: likewise
29856 * conf/i386-ieee1275.rmk: likewise
29857 * conf/i386-efi.rmk: likewise
29858 * conf/x86_64-efi.rmk: likewise
29859 * include/grub/types.h (UINT_TO_PTR): new macro
29860 (PTR_TO_UINT32): likewise
29861 (PTR_TO_UINT64): likewise
29862 * include/grub/memory.h: new file
29863 * mmap/i386/pc/mmap.c: likewise
29864 * mmap/i386/pc/mmap_helper.S: likewise
29865 * mmap/i386/uppermem.c: likewise
29866 * mmap/mmap.c: likewise
29867 * mmap/efi/mmap.c: likewise
7dd4a573 29868 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29869 grub_upper_mem
29870 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29871 (grub_upper_mem): likewise
29872 (grub_machine_init): don't use grub_upper_mem,
29873 make grub_lower_mem local
29874 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29875 grub_mmap_iterate and grub_mmap_get_upper
29876 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29877
d558e6b5 298782009-05-02 Bean <bean123ch@gmail.com>
29879
29880 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29881 script/sh/parser.y.
29882 (pkglib_MODULES): Add normal.mod and sh.mod.
29883 (normal_SOURCES): New variable.
29884 (normal_mod_CFLAGS): Likewise.
29885 (normal_mod_LDFLAGS): Likewise.
29886 (sh_mod_SOURCES): Likewise.
29887 (sh_mod_CFLAGS): Likewise.
29888 (sh_mod_LDFLAGS): Likewise.
29889
29890 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29891 script/sh/lexer.c_DEPENDENCIES.
29892 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29893 kern/rescue_reader.c and kern/rescue_parser.c.
29894 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29895 (grub_emu_SOURCES): Change source files.
29896 (pkglib_MODULES): Remove normal.mod.
29897 (normal_SOURCES): Removed.
29898 (normal_mod_CFLAGS): Likewise.
29899 (normal_mod_LDFLAGS): Likewise.
29900 * conf/i386-coreboot.rmk: Likewise.
29901 * conf/i386-efi.rmk: Likewise.
29902 * conf/i386-ieee1276.rmk: Likewise.
29903 * conf/powerpc-ieee1275.rmk: Likewise.
29904 * conf/sparc64-ieee1275.rmk: Likewise.
29905 * conf/x86_64-efi.rmk: Likewise.
29906
29907 * include/grub/command.h (grub_command_execute): New inline function.
29908
29909 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29910
29911 * include/grub/normal.h: Remove <grub/setjmp.h>.
29912 (grub_fs_module_list): Moved to normal/autofs.c.
29913 (grub_exit_env): Removed.
29914 (grub_command_execute): Likewise.
29915 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29916 parameter script.
29917 (read_command_list): New function declaration.
29918 (read_fs_list): Likewise.
29919
29920 * include/parser.h: Include <grub/reader.h>.
29921 (grub_parser_split_cmdline): Change type of getline parameter.
29922 (grub_parser): New structure.
29923 (grub_parser_class): New variable.
29924 (grub_parser_execute): New function declaration.
29925 (grub_register_rescue_parser): Likewise.
29926 (grub_parser_register): New inline function.
29927 (grub_parser_unregister): Likewise.
29928 (grub_parser_get_current): Likewise.
29929 (grub_parser_set_current): Likewise.
29930
29931 * include/grub/reader.h: New file.
29932 * kern/reader.c: Likewise.
29933 * kern/rescue_parser.c: Likewise.
29934 * kern/rescue_reader.c: Likewise.
29935 * normal/autofs.c: Likewise.
29936 * normal/dyncmd.c: Likewise.
29937
29938 * include/grub/rescue.h: Removed.
29939 * normal/command.h: Likewise.
29940
29941 * include/grub/script.h: Moved to ...
29942 * include/grub/script_sh.h: ... Moved here.
29943 * normal/execute.c: Moved to ...
29944 * script/sh/execute.c: ... Moved here.
29945 * normal/function.c: Moved to ...
29946 * script/sh/function.c: ... Moved here.
29947 * normal/lexer.c: Moved to ...
29948 * script/sh/lexer.c: ... Moved here.
29949 * normal/parser.y: Moved to ...
29950 * script/sh/parser.y: ... Moved here.
29951 * normal/script.c: Moved to ...
29952 * script/sh/script.c: ... Moved here.
29953
29954 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29955 <grub/reader.h>.
29956 (grub_exit_env): Removed.
29957 (fs_module_list): Moved to normal/autofs.c.
29958 (grub_file_getline): Don't handle comment here.
29959 (free_menu): Skip removed field entry->commands.
29960 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29961 script parameter.
29962 (read_config_file): Removed nested parameter, change getline function.
29963 (grub_enter_normal_mode): Removed.
29964 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29965 (read_command_list): Likewise.
29966 (autoload_fs_module): Moved to normal/autofs.c.
29967 (read_fs_list): Likewise.
29968 (reader_nested): New variable.
29969 (grub_normal_execute): Run parser.sh to switch to sh parser.
29970 (grub_cmd_rescue): Removed.
29971 (cmd_normal): Removed.
29972 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29973 rescue command.
29974 (grub_cmdline_run): New function.
29975 (grub_normal_reader_init): Likewise.
29976 (grub_normal_read_line): Likewise.
29977 (grub_env_write_pager): Likewise.
29978 (cmdline): New variable.
29979 (grub_normal_reader): Likewise.
29980 (GRUB_MOD_INIT): Register normal reader and set as current, register
29981 pager hook, register normal command with grub_register_command_prio,
29982 so that it won't show up in command.lst.
29983 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29984 grub_fs_autoload_hook.
29985
29986 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29987 (grub_menu_execute_entry): Replace grub_script_execute with
29988 grub_parser_execute, change parameter to grub_command_execute.
29989
29990 * normal/menu_text.c: Remove <grub/script.h>.
29991
29992 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29993 and <grub/parser.h>.
29994 (run): Change editor_getline to use new parser interface. Change
29995 parameter to grub_command_execute.
29996
29997 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29998 <grub/reader.h> and <grub/parser.h>.
29999 (grub_load_normal_mode): Execute normal command.
30000 (grub_main): Call grub_register_core_commands,
30001 grub_register_rescue_parser and grub_register_rescue_reader, use
30002 grub_reader_loop to enter input loop.
30003
7dd4a573 30004 * kern/parser.c (grub_parser_split_cmdline): Change type of
30005 getline parameter.
d558e6b5 30006 (grub_parser_class): New variable.
30007 (grub_parser_execute): New function.
30008
30009 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30010 * loader/multiboot2.c: Likewise.
30011 * loader/sparc64/ieee1275/linux.c: Likewise.
30012
30013 * util/grub-emu.c (read_command_list): New dummy function.
30014
18db813d 300152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30016
30017 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30018 count to 16 for CCISS and IDA.
30019
6c67de15 300202009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 * normal/menu_text.c (grub_wait_after_message): Print a newline
30023 after waiting for user input.
30024
30025 * loader/i386/linux.c: Include `<grub/normal.h>'.
30026 (grub_cmd_linux): Improve the error message about `ask' mode, by
30027 waiting for user input so it's not missed (we can do this, since
30028 user requested interaction).
30029
d9dc87b0 300302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30031
30032 Added missing lst to grub-mkrescue
30033
30034 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30035 and ${input_dir}/parttool.lst
30036
ac8a2baa 300372009-04-30 David S. Miller <davem@davemloft.net>
30038
ad22a610 30039 * util/hostdisk.c (device_is_wholedisk): New function.
30040 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30041 zero only if device_is_wholedisk() returns true.
30042
6966215d 30043 * util/hostdisk.c (convert_system_partition_to_system_disk):
30044 Handle virtual disk devices named /dev/vdiskX as found on sparc
30045 and powerpc.
30046
ac8a2baa 30047 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30048 lettered partition specifier is found, convert to numbered.
30049
979b4fb4 300502009-04-29 David S. Miller <davem@davemloft.net>
30051
e2bf39b2 30052 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30053 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30054
3c64e104 30055 * normal/command.c: Add missing newline at end of file.
30056
979b4fb4 30057 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30058 warnings.
30059 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30060 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30061 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30062 ihandles have a 32-bit type but need to be stored in a "void *".
30063
136d9f82 300642009-04-28 Pavel Roskin <proski@gnu.org>
30065
9459c306 30066 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30067 not disk. Adjust all dependencies.
2e08a26a 30068 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30069 grub_disk_close().
30070
136d9f82 30071 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30072 parent's partition, don't copy it by reference, as it gets freed
30073 on close.
30074
7dd4a573 300752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30076
30077 Preboot hooks support
30078
30079 * commands/boot.c (struct grub_preboot_t): new declaration
30080 (preboots_head): new variable
30081 (preboots_tail): likewise
30082 (grub_loader_register_preboot_hook): new function
30083 (grub_loader_unregister_preboot_hook): likewise
30084 (grub_loader_set): launch preboot hooks
30085 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30086 (grub_loader_register_preboot_hook): new declaration
30087 (grub_loader_unregister_preboot_hook): likewise
30088
5af922b5 300892009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30090
30091 Warning fix
30092
7dd4a573 30093 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30094 calling grub_dprintf
30095
a5562c30 300962009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30097
30098 Bug and warning fixes
30099
7dd4a573 30100 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30101 declaration
30102 * commands/test.c (test_parse): fixed bug with file tests and corrected
30103 declaration of find_file
30104
4006f85c 301052009-04-26 Pavel Roskin <proski@gnu.org>
30106
30107 * Makefile.in: Don't install empty manual pages if help2man is
30108 missing. Use help2man option for output, not shell redirection.
30109
5c77c3de 301102009-04-26 David S. Miller <davem@davemloft.net>
30111
30112 * util/grub-mkdevicemap.c (make_device_map): Add missing
30113 NESTED_FUNC_ATTR to process_device().
30114
033b10a8 301152009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30116
30117 Test command
30118
30119 * commands/test.c: rewritten to use bash-like test
30120
e4343593 301212009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30122
30123 Parttool autoloading and improvements
30124
7dd4a573 30125 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30126 (parttool.lst): new target
30127 * genmk.rb: generate parttool-*
30128 (CLEANFILES): add #{parttool}
30129 (PARTTOOLFILES): new variable
30130 * genparttoollist.sh: new file
7dd4a573 30131 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30132 (grub_pcpart_type): likewise
30133 * commands/parttool.c (helpmsg): new variable
30134 (grub_cmd_parttool): output help if not enough arguments are supplied
30135 autoload modules
30136 (GRUB_MOD_INIT(parttool)): use helpmsg
30137
0d312500 301382009-04-24 David S. Miller <davem@davemloft.net>
30139
7dd4a573 30140 Avoiding opening same device multiple times in device iterator.
0d312500 30141
30142 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30143 and use it to build a list of partitions in iterate_disk() and
0d312500 30144 iterate_partition().
30145
ac20caff 30146 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30147 on disk->data.
30148
0dcf7495 30149 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30150 grub_devalias_iterate() result instead of unconditional 0.
30151 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30152 Also, capture hook return value, either directly or via
30153 grub_children_iterate(), and propagate to caller.
30154 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30155 grub_children_iterate): Return value is now 'int' instead of
30156 'grub_err_t'.
30157 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30158 like a proper iterator, stopping when hooks return non-zero.
30159 (grub_devalias_iterate): Likewise.
30160
c8c08833 301612009-04-23 David S. Miller <davem@davemloft.net>
30162
30163 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30164
f01005a8 301652009-04-22 David S. Miller <davem@davemloft.net>
30166
30167 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30168 is larger than address_cells, use that value for address_cells too.
30169
4e8269da 30170 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30171 IEEE1275_MAX_PATH_LEN): Define.
30172 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30173 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30174 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30175 'devtype'. Explicitly NULL terminate devalias expansion.
30176
a1447506 30177 * util/sparc64/ieee1275/misc.c: New file.
30178 * util/sparc64/ieee1275/grub-setup.c: New file.
30179 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30180 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30181 * util/sparc64/ieee1275/grub-install.in: New file.
30182 * util/ieee1275/ofpath.c: New file.
30183 * util/ieee1275/devicemap.c: New file.
30184 * util/devicemap.c: New file.
30185 * util/deviceiter.c: New file.
30186 * kern/sparc64/ieee1275/init.c: New file.
30187 * include/grub/util/ofpath.h: New file.
30188 * include/grub/util/deviceiter.h: New file.
30189 * util/grub-mkdevicemap.c: Include deviceiter.h.
30190 Implement using grub_util_emit_devicemap_entry and
30191 grub_util_iterate_devices.
30192 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30193 util/devicemap.c into grub-mkdevicemap
30194 * conf/i386-efi.rmk: Likewise.
30195 * conf/i386-ieee1275.rmk: Likewise.
30196 * conf/i386-pc.rmk: Likewise.
30197 * conf/powerpc-ieee1275.rmk: Likewise.
30198 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30199 images and installation utilities. Build kernel as image
30200 instead of as elf binary. Use common rules as much as possible.
30201
7dd4a573 302022009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30203
30204 Correct GPT definition
30205
7dd4a573 30206 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30207 of "attrib" member
30208
c6c5219f 302092009-04-19 Felix Zielcke <fzielcke@z-51.de>
30210
30211 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30212
0552ff9f 302132009-04-19 David S. Miller <davem@davemloft.net>
30214
30215 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30216 (grub_rescue_cmd_linux): Rename to...
30217 (grub_cmd_linux): and fix prototype.
30218 (grub_rescue_cmd_initrd): Rename to...
30219 (grub_cmd_initrd): and fix prototype.
30220 (cmd_linux, cmd_initrd): New.
30221 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30222 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30223
d1a282fc 302242009-04-17 Pavel Roskin <proski@gnu.org>
30225
07c5039f 30226 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30227 format.
30228 (grub_ohci_transfer): Likewise.
30229
b012002d 30230 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30231
1bc09c35 30232 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30233 return without a value. Fix inconsistent indentation.
30234
e0ff9126 30235 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30236 match struct grub_fs.
30237
d1a282fc 30238 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30239 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30240 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30241 * commands/lspci.c (grub_lspci_iter): Likewise.
30242
a96df3f2 302432009-04-16 Bean <bean123ch@gmail.com>
30244
30245 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30246 value.
30247
41bb0fe9 302482009-04-15 Pavel Roskin <proski@gnu.org>
30249
30250 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30251 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30252 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30253 definitions.
30254
596c6970 302552009-04-15 Felix Zielcke <fzielcke@z-51.de>
30256
30257 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30258 that no multiple data or metadata areas are supported and `Unknown
596c6970 30259 metadata header'.
30260
7dd4a573 302612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30262
30263 Move loader out of the kernel
30264
30265 * kern/loader.c: moved to ...
30266 * commands/boot.c: ... moved here
30267 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30268 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30269 * include/grub/kernel.h (grub_machine_fini): export
30270 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30271 (grub_loader_set): likewise
30272 (grub_loader_unset): likewise
30273 (grub_loader_boot): likewise
30274 * conf/common.rmk: new module boot.mod
30275 (pkglib_MODULES): add boot.mod
30276 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30277 (grub_emu_SOURCES): likewise
30278 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30279 (grub_emu_SOURCES): likewise
30280 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30281 (grub_emu_SOURCES): likewise
30282 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30283 (grub_emu_SOURCES): likewise
30284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30285 (grub_emu_SOURCES): likewise
7dd4a573 30286 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30287 (grub_emu_SOURCES): likewise
0d5d5653 30288 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30289 (grub_emu_SOURCES): likewise
0d5d5653 30290
7dd4a573 302912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30292
30293 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30294
5999d619 30295 * kern/misc.c (grub_itoa): Removed function
30296 (grub_ltoa): likewise
30297 (grub_vsprintf): use grub_lltoa
30298
7dd4a573 302992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30300
30301 Restore grub-emu
30302
30303 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30304 * conf/i386-coreboot.rmk: likewise
30305 * conf/i386-ieee1275.rmk: likewise
30306 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30307
20318222 303082009-04-15 Felix Zielcke <fzielcke@z-51.de>
30309
30310 * INSTALL: Add that `./autogen.sh' needs to be run before
30311 `./configure.'.
30312
d05f0df3 303132009-04-14 Bean <bean123ch@gmail.com>
30314
30315 * Makefile.in (pkglib_DATA): Add handler.lst.
30316 (handler.lst): New rule.
30317
30318 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30319 * conf/i386-coreboot.rmk: Likewise.
30320 * conf/i386-ieee1275.rmk: Likewise.
30321 * conf/i386-efi.rmk: Likewise.
30322 * conf/x86_64-efi.rmk: Likewise.
30323 * conf/powerpc-ieee1275.rmk: Likewise.
30324 * conf/sparc64-ieee1275.rmk: Likewise.
30325
30326 * genhandlerlist.sh: New file.
30327
30328 * genmk.rb: Add rules to generate handler.lst.
30329
30330 * include/grub/normal.h (grub_file_getline): New function definition.
30331 (read_handler_list): Likewise.
30332 (free_handler_list): Likewise.
30333
30334 * include/grub/term.h (grub_term_register_input): Add name parameter
30335 for auto generation of handler.lst.
30336 (grub_term_register_output): Likewise.
30337
30338 * normal/handler.c: New file.
30339
30340 * normal/main.c (get_line): Renamed to grub_file_getline.
30341 (read_config_file): Use the newly renamed grub_file_getline.
30342 (read_command_list): Likewise.
30343 (read_fs_list): Likewise.
30344 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30345 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30346
30347 * term/efi/console.c (grub_console_init): Add name parameter for auto
30348 generation of handler.lst.
30349 * term/gfxterm.c: Likewise.
30350 * term/i386/pc/at_keyboard.c: Likewise.
30351 * term/i386/pc/console.c: Likewise.
30352 * term/i386/pc/serial.c: Likewise.
30353 * term/i386/pc/vesafb.c: Likewise.
30354 * term/i386/pc/vga.c: Likewise.
30355 * term/i386/pc/vga_text.c: Likewise.
30356 * term/ieee1275/ofconsole.c: Likewise.
30357 * term/usb_keyboard.c: Likewise.
30358
33c846be 303592009-04-14 Bean <bean123ch@gmail.com>
30360
30361 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30362 properly with null character.
30363
4484e01e 303642009-04-14 Felix Zielcke <fzielcke@z-51.de>
30365
30366 * configure: Remove.
30367 * config.h.in: Likewise.
f93d668e 30368 * stamp-h.in: Likewise.
4484e01e 30369 * DISTLIST: Likewise.
30370 * conf/common.mk: Likewise.
30371 * conf/i386-coreboot.mk: Likewise.
30372 * conf/i386-efi.mk: Likewise.
30373 * conf/i386-ieee1275.mk: Likewise.
30374 * conf/i386.mk: Likewise.
30375 * conf/i386-pc.mk: Likewise.
30376 * conf/powerpc-ieee1275.mk: Likewise.
30377 * conf/sparc64-ieee1275.mk: Likewise.
30378 * conf/x86_64-efi.mk: Likewise.
30379
30380 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30381 develop on GRUB.
30382
7dd4a573 303832009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30384 David S. Miller <davem@davemloft.net>
30385
30386 * util/hostdisk.c (make_device_name): Fix buffer length
30387 calculations.
30388
e25b5a8c 303892009-04-14 Felix Zielcke <fzielcke@z-51.de>
30390
30391 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30392 <sys/param.h> and <sys/sysctl.h>.
30393 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30394 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30395 opening the device and reset them afterwards.
30396
1f1f580c 303972009-04-13 Pavel Roskin <proski@gnu.org>
30398
30399 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30400 Reported by John Stanley <jpsinthemix@verizon.net>
30401
7ebc2d6b 304022009-04-13 Robert Millan <rmh@aybabtu.com>
30403
30404 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30405 that name for menuentries when appropriate.
7ebc2d6b 30406
d8ba3667 304072009-04-13 Felix Zielcke <fzielcke@z-51.de>
30408
30409 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30410
cba416eb 304112009-04-13 Robert Millan <rmh@aybabtu.com>
30412
30413 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30414 to Linux, simply abort telling the user it's no longer supported.
30415
a547a745 304162009-04-13 Felix Zielcke <fzielcke@z-51.de>
30417
30418 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30419 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30420 `freebsd_loadenv' only when devices.hints exist.
30421
232a769c 304222009-04-13 Pavel Roskin <proski@gnu.org>
30423
30424 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30425
c3012039 304262009-04-13 Felix Zielcke <fzielcke@z-51.de>
30427
30428 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30429 partition number.
30430 (grub_drive): Likewise.
30431
234022fe 304322009-04-13 David S. Miller <davem@davemloft.net>
30433
30434 * kern/sparc64/ieee1275/ieee1275.c: New file.
30435 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30436 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30437 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30438 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30439 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30440 grub_ieee1275_alloc_physmem): Declare new exported functions.
30441
d8e1836c 30442 * include/grub/sparc64/ieee1275/loader.h: New file.
30443 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30444 * include/grub/sparc64/kernel.h: Likewise.
30445 * loader/sparc64/ieee1275/linux.c: Likewise.
30446
96bd81ec 30447 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30448 (grub_fstest_SOURCES): Likewise.
30449
6a4737e5 30450 * util/hostdisk.c (make_device_name): Do not make any assumptions
30451 about the length of drive names.
30452
1d7a72fd 30453 * kern/dl.c (grub_dl_load_file): Close file immediately when
30454 we are done using it.
30455
56bc2471 304562009-04-12 David S. Miller <davem@davemloft.net>
30457
30458 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30459 values. Noticed by Pavel Roskin.
30460
df38d0bb 30461 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30462 target compiler.
7dd4a573 30463
e382e93a 30464 * genmk.rb: Add more flexible image type specification, also
30465 pass --strip-unneeded to objcopy.
30466 * conf/i386-pc.rmk: Use *_FORMAT.
30467 * conf/i386-pc.mk: Rebuilt.
30468
f5dbbca9 30469 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30470 (OFDISK_HASH_SZ): Define.
30471 (ofdisk_hash): New hash table.
30472 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30473 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30474 instead of device phandle which is not unique.
30475
91c88b12 30476 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30477 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30478 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30479 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30480 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30481 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30482 GRUB_KERNEL_MACHINE_DATA_END): Define.
30483 (grub_kernel_image_size, grub_total_module_size): Declare.
30484
5b5d4aa5 304852009-04-12 Pavel Roskin <proski@gnu.org>
30486
7dd4a573 30487 * configure.ac: Change the logic when we check for target tools.
30488 Do it when the target is specified and it's different from the
30489 specified value of the host.
5b5d4aa5 30490
c91e1793 304912009-04-11 Felix Zielcke <fzielcke@z-51.de>
30492
30493 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30494 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30495 GNU/kFreeBSD. Check if a device is a character device. Use
30496 DIOCGMEDIASIZE to get the size.
30497 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30498 support for GNU/kFreeBSD.
30499 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30500 is a character device instead of a block device. Add support for
30501 FreeBSD device names.
30502
30503 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30504 is a character device instead of a block device.
30505
30506 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30507 is a character device instead of a block device.
30508
b1ac8644 305092009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30510
30511 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30512 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30513 FreeBSD. Check if a device is a character device. Use
30514 DIOCGMEDIASIZE to get the size.
30515 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30516 support for FreeBSD.
30517 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30518 is a character device instead of a block device. Add support for
30519 FreeBSD device names.
30520
30521 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30522 a character device instead of a block device.
30523 (grub_util_check_char_device): New function.
30524
30525 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30526 a character device instead of a block device.
30527
30528 * include/grub/util/getroot.h (grub_util_check_char_device): New
30529 prototype.
30530
a3f7515a 305312009-04-11 David S. Miller <davem@davemloft.net>
30532
30533 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30534 static libgcc.
30535 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30536 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30537 function, if present.
30538 (__bswapdi2): Likewise.
30539
0d44993d 30540 * include/grub/sparc64/ieee1275/boot.h: New file.
30541 * boot/sparc64/ieee1275/boot.S: Likewise.
30542 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30543
ed3d2bc2 30544 * kern/misc.c (grub_ltoa): New function.
30545 (grub_vsprintf): Use it to format 'long' integers.
30546
d3bfb59c 305472009-04-10 David S. Miller <davem@davemloft.net>
30548
30549 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30550 slots are of type grub_ieee1275_cell_t.
30551 (grub_nand_read): Likewise.
30552 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30553 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30554 macros are used to compare values in arg/ret block of the call.
30555 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30556 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30557 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30558 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30559 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30560 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30561 grub_ieee1275_close, grub_ieee1275_set_property,
30562 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30563 grub_ieee1275_cell_t.
30564 * kern/ieee1275/openfw.c (grub_map): Likewise.
30565 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30566 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30567
450e2238 30568 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30569 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30570 (grub_devalias_iterate): Likewise.
30571
7dd4a573 305722009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30573
30574 UFS improvements
30575
30576 * fs/ufs.c (INODE_NBLOCKS): new definition
30577 (struct grub_ufs_dirent): added fields for non-BSD dirents
30578 (grub_ufs_get_file_block): fixed double indirect handling
30579 (grub_ufs_lookup_symlink): use more robust way to determine whether
30580 symlink is inline
30581 (grub_ufs_find_file): support for non-BSD dirents
30582 (grub_ufs_dir): support for non-BSD dirents
30583
e7e6862a 305842009-04-10 Bean <bean123ch@gnail.com>
30585
30586 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30587 attribute, otherwise the size would be wrong for i386 platform.
30588
30589 * include/grub/pci.h (grub_pci_read_word): New inline function.
30590 (grub_pci_read_byte): Likewise.
30591 (grub_pci_write): Likewise.
30592 (grub_pci_write_word): Likewise.
30593 (grub_pci_write_byte): Likewise.
30594
30595 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30596
30597 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30598 (find_framebuf): Scan pci to locate the frame buffer address.
30599
30600 * commands/efi/fixvideo.c: New file.
30601
30602 * commands/efi/loadbios.c: Likewise.
30603
30604 * commands/memrw.c: Likewise.
30605
30606 * util/grub-dumpbios.in: Likewise.
30607
30608 * conf/common.rmk (grub-dumpbios): New utility.
30609 (pkglib_MODULES): New module memrw.mod.
30610 (memrw_mod_SOURCE): New macro.
30611 (memrw_mod_CFLAGS): Likewise.
30612 (memrw_mod_LDFLAGS): Likewise.
30613
7dd4a573 30614 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30615 fixvideo.mod.
30616 (loadbios_mod_SOURCE): New macro.
30617 (loadbios_mod_CFLAGS): Likewise.
30618 (loadbios_mod_LDFLAGS): Likewise.
30619 (fixvideo_mod_SOURCE): Likewise.
30620 (fixvideo_mod_CFLAGS): Likewise.
30621 (fixvideo_mod_LDFLAGS): Likewise.
30622
7dd4a573 30623 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30624 fixvideo.mod.
30625 (loadbios_mod_SOURCE): New macro.
30626 (loadbios_mod_CFLAGS): Likewise.
30627 (loadbios_mod_LDFLAGS): Likewise.
30628 (fixvideo_mod_SOURCE): Likewise.
30629 (fixvideo_mod_CFLAGS): Likewise.
30630 (fixvideo_mod_LDFLAGS): Likewise.
30631
af63ada2 306322009-04-08 Felix Zielcke <fzielcke@z-51.de>
30633
30634 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30635
c2cdde70 306362009-04-07 David S. Miller <davem@davemloft.net>
30637
30638 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30639 support for R_SPARC_OLO10 relocations. Fix compile warning for
30640 R_SPARC_WDISP30 case.
ea3f72cf 30641 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30642
761319cf 306432009-04-06 Pavel Roskin <proski@gnu.org>
30644
1007d1f5 30645 * include/grub/misc.h (ARRAY_SIZE): New macro.
30646 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30647 New macro.
30648 * loader/i386/linux.c (allocate_pages): Use free_pages().
30649 (grub_linux_unload): Don't use free_pages().
30650 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30651 wrong index. Treat all other modes as text modes.
30652 (grub_cmd_linux): Initialize vid_mode unconditionally to
30653 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30654
761319cf 30655 * commands/help.c (print_command_help): Use cmd->prio, not
30656 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30657
ea761d40 306582009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30659
ea761d40 30660 Parttool
30661
30662 * parttool/pcpart.c: new file
30663 * commands/parttool.c: likewise
30664 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30665 (parttool_mod_SOURCES): new variable
30666 (parttool_mod_CFLAGS): likewise
30667 (parttool_mod_LDFLAGS): likewise
30668 (pcpart_mod_SOURCES): likewise
30669 (pcpart_mod_CFLAGS): likewise
30670 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30671 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30672 and parttool/pcpart.c
30673 * conf/i386-efi.rmk: likewise
30674 * conf/i386-ieee1275.rmk: likewise
30675 * conf/i386-pc.rmk: likewise
30676 * conf/powerpc-ieee1275.rmk: likewise
30677 * conf/sparc64-ieee1275.rmk: likewise
30678 * conf/x86_64-ieee1275.rmk: likewise
30679
05aaebfb 306802009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30681
30682 Support for mtime and further expandability of dir command
30683
30684 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30685 * include/grub/datetime.h: ... moved here and added
05aaebfb 30686 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30687 * include/grub/fs.h: new syntax for dir and mtime functions in
30688 struct grub_fs
05aaebfb 30689 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30690 and GRUB_FSHELP_FLAGS_MASK
30691 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30692 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30693 (grub_ext2_mtime): new function
30694 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30695 (grub_hfsplus_mtime): new function
30696 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30697 (GRUB_UFS_ATTR_FILE): likewise
30698 (GRUB_UFS_ATTR_LNK): likewise
30699 (struct grub_ufs_sblock): new fields mtime
30700 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30701 all users updated
30702 (grub_ufs_dir): mtime support
30703 (grub_ufs_mtime): new function
30704 * fs/affs.c (grub_affs_dir): use new dir syntax
30705 * fs/afs.c (grub_afs_dir): likewise
30706 * fs/cpio.c (grub_cpio_dir): likewise
30707 * fs/fat.c (grub_fat_find_dir): likewise
30708 * fs/hfs.c (grub_hfs_dir): likewise
30709 * fs/iso9660.c (grub_iso9660_dir): likewise
30710 * fs/jfs.c (grub_jfs_dir): likewise
30711 * fs/minix.c (grub_minix_dir): likewise
30712 * fs/ntfs.c (grub_ntfs_dir): likewise
30713 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30714 * fs/sfs.c (grub_sfs_dir): likewise
30715 * fs/xfs.c (grub_xfs_dir): likewise
30716 * util/hostfs.c (grub_hostfs_dir): likewise
30717 * lib/datetime.c: moved to ...
30718 * normal/datetime.c: ... moved here
30719 (grub_unixtime2datetime): new function
30720 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30721 * normal/completion.c (iterate_dir): use new dir syntax
30722 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30723 last modification time of a volume
7dd4a573 30724 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30725 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30727 (normal_mod_SOURCES): likewise
30728 (datetime_mod_SOURCES): Removed lib/datetime.c
30729 * conf/i386-efi.rmk: likewise
7dd4a573 30730 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30731 * conf/i386-pc.rmk: likewise
30732 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30733 * conf/sparc64-ieee1275.rmk: likewise
30734 * conf/x86_64-efi.rmk: likewise
05aaebfb 30735
8a7e1a14 307362009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30737
30738 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30739
30740 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30741 on grub_fat_find_dir
30742 (grub_fat_find_dir): use grub_fat_iterate_dir
30743 (grub_fat_label): likewise
30744
04186a9c 307452009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30746
7dd4a573 30747 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30748 and command.h
30749 remove extraneous kernel_elf_HEADERS
30750
da4c0bb6 307512009-04-04 Bean <bean123ch@gnail.com>
30752
30753 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30754
30755 * util/misc.c: Likewise.
30756
54ad9555 307572009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30758
30759 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30760 instead of grub_printf.
30761
7a6bf9f2 307622009-04-03 Robert Millan <rmh@aybabtu.com>
30763
30764 * loader/i386/linux.c (grub_linux_setup_video): Fill
30765 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30766 values from `mode info' structure instead of hardcoded
30767 values.
30768
3fcc2083 307692009-04-01 Pavel Roskin <proski@gnu.org>
30770
30771 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30772 unused now.
30773 * genmk.rb: Likewise.
30774 * configure.ac: Likewise.
30775
5ec9740b 307762009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30777
30778 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30779 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30780
5270cec8 307812009-04-01 David S. Miller <davem@davemloft.net>
30782
30783 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30784 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30785 (grub_setjmp): Mark with 'returns_twice' attribute.
30786 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30787 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30788 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30789
9c3dd854 307902009-04-01 Robert Millan <rmh@aybabtu.com>
30791
30792 Reapply fix from 2008-07-28 which was accidentally reverted; also
30793 perform the same fix to a similar check in same function.
30794
30795 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30796 with the same number are found, just use issue a warning with
30797 grub_dprintf(), as this error has been reported to be non-fatal.
30798
0d818b7e 307992009-03-31 Pavel Roskin <proski@gnu.org>
30800
30801 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30802 for cross-compilation.
30803
95646d92 308042009-03-30 Robert Millan <rmh@aybabtu.com>
30805
30806 Fix i386-ieee1275 build.
30807
30808 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30809 Remove declaration.
30810
6a003ed1 308112009-03-30 Pavel Roskin <proski@gnu.org>
30812
30813 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30814 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30815 zero-terminated, rely only on the strlen value. Fix comparison
30816 of strings differing in length.
30817
92f33540 308182009-03-30 Robert Millan <rmh@aybabtu.com>
30819
30820 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30821 checking for abi version. Improve error messages on BIOS to notify
30822 user about `linux16' command.
30823
a8c48fd5 308242009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30825
f968172e 30826 Leak fixes
a8c48fd5 30827
f968172e 30828 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30829 in case of collision
30830 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30831
9c323f09 308322009-03-29 Robert Millan <rmh@aybabtu.com>
30833
30834 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30835 set `vid_mode' accordingly.
30836 (grub_linux_boot): Process `vid_mode' and set video mode.
30837
ae68f423 308382009-03-29 Robert Millan <rmh@aybabtu.com>
30839
30840 * util/grub.d/10_linux.in (linux_entry): New function.
30841 Factorize generation of Linux boot entries.
30842
5709cfc4 308432009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30844
30845 Make the format of Environment Block plain text. The boot loader
30846 part is not tested well yet.
7dd4a573 30847
5709cfc4 30848 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30849 (buffer): Removed.
30850 (envblk): Likewise.
30851 (usage): Remove "info" and "clear". Add "unset". Update the
30852 description of "set", as this does not delete variables any
30853 longer.
30854 (create_envblk_file): Complete rewrite.
30855 (open_envblk_file): Likewise.
30856 (cmd_info): Removed.
30857 (cmd_list): Likewise.
30858 (cmd_set): Likewise.
30859 (cmd_clear): Likewise.
30860 (list_variables): New function.
30861 (write_envblk): Likewise.
30862 (set_variables): Likewise.
30863 (unset_variables): Likewise.
30864 (main): Complete rewrite.
30865
30866 * commands/loadenv.c (buffer): Removed.
30867 (envblk): Likewise.
30868 (open_envblk_file): New function.
30869 (read_envblk_file): Complete rewrite.
30870 (grub_cmd_load_env): Likewise.
30871 (grub_cmd_list_env): Likewise.
30872 (struct blocklist): New struct.
30873 (free_blocklists): New function.
30874 (check_blocklists): Likewise.
30875 (write_blocklists): Likewise.
30876 (grub_cmd_save_env): Complete rewrite.
30877
30878 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30879 a plain text signature.
30880 (GRUB_ENVBLK_MAXLEN): Removed.
30881 (struct grub_envblk): Complete rewrite.
30882 (grub_envblk_find): Removed.
30883 (grub_envblk_insert): Likewise.
30884 (grub_envblk_open): New prototype.
30885 (grub_envblk_set): Likewise.
30886 (grub_envblk_delete): Put const to VALUE.
30887 (grub_envblk_iterate): Put const to NAME and VALUE.
30888 (grub_envblk_close): New prototype.
30889 (grub_envblk_buffer): New inline function.
30890 (grub_envblk_size): Likewise.
30891
30892 * lib/envblk.c: Include grub/mm.h.
30893 (grub_env_find): Removed.
30894 (grub_envblk_open): New function.
30895 (grub_envblk_close): Likewise.
30896 (escaped_value_len): Likewise.
30897 (find_next_line): Likewise.
30898 (grub_envblk_insert): Removed.
30899 (grub_envblk_set): New function.
30900 (grub_envblk_delete): Complete rewrite.
30901 (grub_envblk_iterate): Likewise.
30902
a9368fd3 309032009-03-28 Robert Millan <rmh@aybabtu.com>
30904
30905 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30906 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30907 variables. Use 16-bit loader.
30908 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30909 loader.
30910 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30911 (grub_linux16_boot): ... this. Update all users.
30912 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30913 (grub_linux_boot): ... this. Update all users.
30914
30915 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30916 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30917 commands to `linux16' and `initrd16'.
30918 (GRUB_MOD_FINI(linux)): Rename to ...
30919 (GRUB_MOD_FINI(linux16)): ... this.
30920
e4dd5a7e 309212009-03-24 Pavel Roskin <proski@gnu.org>
30922
30923 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30924 not just for compilation.
30925
c04d6e05 309262009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30927
30928 Move multiboot helper out of kernel
30929
30930 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30931 `loader/i386/multiboot_helper.S'.
30932 * conf/i386-coreboot.rmk: Likewise
30933 * conf/i386-ieee1275.rmk: Likewise
30934
30935 * kern/i386/loader.S: Move multiboot helpers from here...
30936 * loader/i386/multiboot_helper.S: ...moved here
30937 * include/grub/i386/loader.h: Move declarations of multiboot
30938 helpers from here...
30939 * include/grub/i386/multiboot.h: ...moved here
30940 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30941
42a5b3fc 309422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30943
30944 * kern/env.c (grub_env_context_open): Added an argument to specify
30945 whether a new context inherits exported variables from current
30946 one. This is useful when making a sandbox to interpret a config
30947 file.
30948 All callers updated.
30949
30950 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30951
b28bbc4e 309522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30953
30954 * kern/env.c (grub_env_context_close): Fix memory leaks.
30955
f04f02e4 309562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30957
30958 * normal/main.c (grub_normal_execute): Added an argument
30959 BATCH to specify if an interactive interface should be provided
30960 after reading a config file.
30961 All callers updated.
30962 (read_command_list): Prevent being executed twice.
30963 (read_fs_list): Likewise.
30964
42a5b3fc 30965 * include/grub/normal.h (grub_normal_execute): Updated the
30966 prototype.
f04f02e4 30967
41473ac2 309682009-03-22 Pavel Roskin <proski@gno.org>
30969
fbc00b0c 30970 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30971 _start.
30972 * kern/i386/pc/startup.S: Likewise.
30973 * kern/i386/efi/startup.S: Likewise.
30974 * kern/i386/ieee1275/startup.S: Likewise.
30975 * kern/i386/coreboot/startup.S: Likewise.
30976 * kern/x86_64/efi/startup.S: Likewise.
30977
41473ac2 30978 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30979 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30980 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30981
2274cc8f 309822009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30983
30984 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30985
30986 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30987 limit detection.
30988 Use vaddr of correct segment for entry_point.
30989
b1b797cb 309902009-03-21 Bean <bean123ch@gmail.com>
30991
30992 * commands/blocklist.c: Add include file <grub/command.h>, remove
30993 <grub/normal.h> and <grub/arg.h>.
30994 (grub_cmd_blocklist): Use the new command interface.
30995 (GRUB_MOD_INIT): Likewise.
30996 (GRUB_MOD_FINI): Likewise.
30997 * commands/boot.c: Likewise.
30998 * commands/cat.c: Likewise.
30999 * commands/cmp.c: Likewise.
31000 * commands/configfile.c: Likewise.
31001 * commands/crc.c: Likewise.
31002 * commands/echo.c: Likewise.
31003 * commands/halt.c: Likewise.
31004 * commands/handler.c: Likewise.
31005 * commands/hdparm.c: Likewise.
31006 * commands/help.c: Likewise.
31007 * commands/hexdump.c: Likewise.
31008 * commands/loadenv.c: Likewise.
31009 * commands/ls.c: Likewise.
31010 * commands/lsmmap.c: Likewise.
31011 * commands/lspci.c: Likewise.
31012 * commands/loadenv.c: Likewise.
31013 * commands/read.c: Likewise.
31014 * commands/reboot.c: Likewise.
31015 * commands/search.c: Likewise.
31016 * commands/sleep.c: Likewise.
31017 * commands/test.c: Likewise.
31018 * commands/usbtest.c: Likewise.
31019 * commands/videotest.c: Likewise.
31020 * commands/i386/cpuid.c: Likewise.
31021 * commands/i386/pc/halt.c: Likewise.
31022 * commands/i386/pc/play.c: Likewise.
31023 * commands/i386/pc/pxecmd.c: Likewise.
31024 * commands/i386/pc/vbeinfo.c: Likewise.
31025 * commands/i386/pc/vbetest.c: Likewise.
31026 * commands/ieee1275/suspend.c: Likewise.
31027 * disk/loopback.c: Likewise.
31028 * font/font_cmd.c: Likewise.
31029 * hello/hello.c: Likewise.
31030 * loader/efi/appleloader.c: Likewise.
31031 * loader/efi/chainloader.c: Likewise.
31032 * loader/i386/bsd.c: Likewise.
31033 * loader/i386/efi/linux.c: Likewise.
31034 * loader/i386/ieee1275/linux.c: Likewise.
31035 * loader/i386/linux.c: Likewise.
31036 * loader/i386/pc/chainloader.c: Likewise.
31037 * loader/i386/pc/linux.c: Likewise.
31038 * loader/powerpc/ieee1275/linux.c: Likewise.
31039 * loader/multiboot_loader.c: Likewise.
31040 * term/gfxterm.c: Likewise.
31041 * term/i386/pc/serial.c: Likewise.
31042 * term/terminfo.c: Likewise.
31043
31044 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31045 * term/i386/pc/vga.c: Likewise.
31046 * video/readers/jpeg.c: Likewise.
31047 * video/readers/png.c: Likewise.
31048 * video/readers/tga.c: Likewise.
31049
31050 * util/grub-fstest (cmd_loopback): Removed.
31051 (cmd_blocklist): Likewise.
31052 (cmd_ls): Likewise.
31053 (grub_register_command): Likewise.
31054 (grub_unregister_command): Likewise.
31055 (execute_command): Use grub_command_find to locate command and execute
31056 it.
31057
31058 * include/grub/efi/chainloader.h: Removed.
31059 * loader/efi/chainloader_normal.c: Likewise.
31060 * loader/i386/bsd_normal.c: Likewise.
31061 * loader/i386/pc/chainloader_normal.c: Likewise.
31062 * loader/i386/pc/multiboot_normal.c: Likewise.
31063 * loader/linux_normal.c: Likewise.
31064 * loader/multiboot_loader_normal.c: Likewise.
31065 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31066
31067 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31068 and grub_register_command_p1.
31069
31070 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31071 kern/command.c, lib/arg.c and commands/extcmd.c.
31072 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31073 (minicmd_mod_SOURCES): New variable.
31074 (minicmd_mod_CFLAGS): Likewise.
31075 (minicmd_mod_LDFLAGS): Likewise.
31076 (extcmd_mod_SOURCES): Likewise.
31077 (extcmd_mod_CFLAGS): Likewise.
31078 (extcmd_mod_LDFLAGS): Likewise.
31079 (boot_mod_SOURCES): Removed.
31080 (boot_mod_CFLAGS): Likewise.
31081 (boot_mod_LDFLAGS): Likewise.
31082
31083 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31084 kern/corecmd.c.
31085 (kernel_img_HEADERS): Add command.h.
31086 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31087 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31088 and lib/arg.c.
31089 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31090 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31091 remove the corresponding normal mode command.
31092 (normal_mod_SOURCES): Remove normal/arg.c.
31093 * conf/i386-coreboot.rmk: Likewise.
31094 * conf/i386-efi.rmk: Likewise.
31095 * conf/i386-ieee1275.rmk: Likewise.
31096 * conf/powerpc-ieee1275.rmk: Likewise.
31097 * conf/x86_64-efi.rmk: Likewise.
31098
31099 * include/grub/arg.h: Move from here ...
31100 * include/grub/lib/arg.h: ... to here.
31101
31102 * normal/arg.c: Move from here ...
31103 * lib/arg.c: ... to here.
31104
31105 * commands/extcmd.c: New file.
31106 * commands/minicmd.c: Likewise.
31107 * include/grub/command.h: Likewise.
31108 * include/grub/extcmd.h: Likewise.
31109 * kern/command.c: Likewise.
31110 * kern/corecmd.c: Likewise.
31111
31112 * kern/list.c (grub_list_iterate): Return int instead of void.
31113 (grub_list_insert): New function.
31114 (grub_prio_list_insert): Likewise.
31115
31116 * kern/rescue.c (grub_rescue_command): Removed.
31117 (grub_rescue_command_list): Likewise.
31118 (grub_rescue_register_command): Likewise.
31119 (grub_rescue_unregister_command): Likewise.
31120 (grub_rescue_cmd_boot): Move to minicmd.c
31121 (grub_rescue_cmd_help): Likewise.
31122 (grub_rescue_cmd_info): Likewise.
31123 (grub_rescue_cmd_boot): Likewise.
31124 (grub_rescue_cmd_testload): Likewise.
31125 (grub_rescue_cmd_dump): Likewise.
31126 (grub_rescue_cmd_rmmod): Likewise.
31127 (grub_rescue_cmd_lsmod): Likewise.
31128 (grub_rescue_cmd_exit): Likewise.
31129 (grub_rescue_print_devices): Moved to corecmd.c.
31130 (grub_rescue_print_files): Likewise.
31131 (grub_rescue_cmd_ls): Likewise.
31132 (grub_rescue_cmd_insmod): Likewise.
31133 (grub_rescue_cmd_set): Likewise.
31134 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31135 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31136 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31137 commands, remove grub_rescue_register_command calls.
b1b797cb 31138
7d074e3c 31139 * normal/command.c (grub_register_command): Removed.
b1b797cb 31140 (grub_unregister_command): Likewise.
31141 (grub_command_find): Likewise.
31142 (grub_iterate_commands): Likewise.
31143 (rescue_command): Likewise.
31144 (export_command): Moved to corecmd.c.
31145 (set_command): Removed.
31146 (unset_command): Likewise.
31147 (insmod_command): Likewise.
31148 (rmmod_command): Likewise.
31149 (lsmod_command): Likewise.
31150 (grub_command_init): Likewise.
31151
31152 * normal/completion.c (iterate_command): Use cmd->prio to check for
31153 active command.
31154 (complete_arguments): Use grub_extcmd_t structure to find options.
31155 (grub_normal_do_completion): Change function grub_iterate_commands to
31156 grub_command_iterate.
31157
31158 * normal/execute.c (grub_script_execute_cmd): No need to parse
31159 argument here.
31160
31161 * normal/main.c (grub_dyncmd_dispatcher): New function.
31162 (read_command_list): Register unload commands as dyncmd.
31163 (grub_cmd_normal): Use new command interface, register rescue,
31164 unregister normal at entry, register normal, unregister rescue at exit.
31165
31166 * include/grub/list.h (grub_list_test_t): New type.
31167 (grub_list_iterate): Return int instead of void.
31168 (grub_list_insert): New function.
31169 (GRUB_AS_NAMED_LIST_P): New macro.
31170 (GRUB_AS_PRIO_LIST): Likewise.
31171 (GRUB_AS_PRIO_LIST_P): Likewise.
31172 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31173 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31174 (grub_prio_list): New structure.
31175 (grub_prio_list_insert): New function.
31176 (grub_prio_list_remove): New inline function.
31177
31178 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31179 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31180 (GRUB_COMMAND_FLAG_MENU): Likewise.
31181 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31182 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31183 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31184 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31185 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31186 (grub_command): Likewise.
31187 (grub_register_command): Likewise.
31188 (grub_command_find): Likewise.
31189 (grub_iterate_commands): Likewise.
31190 (grub_command_init): Likewise.
31191 (grub_arg_parse): Likewise.
31192 (grub_arg_show_help): Likewise.
31193
31194 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31195 (grub_rescue_unregister_command): Likewise.
31196
31197 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31198 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31199 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31200
31201 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31202 grub_rescue_cmd_initrd.
31203 * include/grub/i386/loader.h: Likewise.
31204 * include/grub/x86_64/loader.h: Likewise.
31205
31206 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31207
1f4147aa 312082009-03-21 Bean <bean123ch@gmail.com>
31209
31210 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31211 instead of stat in mingw environment.
31212
31213 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31214
31215 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31216
31217 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31218 AC_CONFIG_LINKS.
31219
2156d5ba 312202009-03-21 Bean <bean123ch@gmail.com>
31221
31222 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31223 out of range error.
31224
177b82ca 312252009-03-18 Michel Dänzer <michel@daenzer.net>
31226
31227 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31228 checking inode flags for EXT4_EXTENTS_FLAG.
31229
14aad807 312302009-03-18 Robert Millan <rmh@aybabtu.com>
31231
31232 * loader/i386/linux.c: Include `<grub/video.h>' and
31233 `<grub/i386/pc/vbe.h>'..
31234 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31235 (grub_linux32_boot): Attempt to configure video settings with
31236 grub_linux_setup_video().
31237 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31238 to avoid grub_console_fini() which would step out of graphical mode
31239 unconditionally.
31240
8cf83a27 312412009-03-14 Robert Millan <rmh@aybabtu.com>
31242
31243 Fix build on powerpc.
31244 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31245
40164e75 312462009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31247
31248 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31249 background image command.
31250
c58bc32a 312512009-03-12 Colin D Bennett <colin@gibibit.com>
31252
31253 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31254 (grub_gfxterm_putchar): Extract pairs of identical calls to
31255 draw_cursor out of conditional blocks.
31256
5415144a 312572009-03-11 Pavel Roskin <proski@gnu.org>
31258
31259 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31260 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31261
6394042e 312622009-03-11 Robert Millan <rmh@aybabtu.com>
31263
31264 * loader/i386/multiboot_elfxx.c
31265 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31266
b7b50e5f 312672009-03-11 Felix Zielcke <fzielcke@z-51.de>
31268
31269 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31270 `kern/handler.c'.
31271
1ca7fc96 312722009-03-11 Robert Millan <rmh@aybabtu.com>
31273
31274 * loader/i386/multiboot.c (code_size): New variable.
31275 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31276 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31277 4-byte alignment to MBI and others by increasing
7d074e3c 31278 `boot_loader_name_length' appropriately.
1ca7fc96 31279
31280 * loader/i386/multiboot_elfxx.c
31281 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31282
a83ea1d2 312832009-03-09 Felix Zielcke <fzielcke@z-51.de>
31284
31285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31286 `fs/ext2.c'.
31287
aa9f3bff 312882009-03-08 Robert Millan <rmh@aybabtu.com>
31289
31290 Make loader/i386/linux.c usable on i386-pc again.
31291
31292 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31293 memory to heap.
31294 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31295 `#error' stanza.
31296
d8b3b60e 312972009-03-07 Bean <bean123ch@gmail.com>
31298
31299 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31300 allocation.
31301
b362c9e9 313022009-03-06 Robert Millan <rmh@aybabtu.com>
31303
31304 Fix display issue on terminals with screen size other than 80x25
31305 (e.g. gfxterm with resolution higher than 640x480).
31306
31307 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31308 position relative to the center of the terminal instead of relying
b362c9e9 31309 on a hardcoded offset.
31310
9304eef1 313112009-03-04 Robert Millan <rmh@aybabtu.com>
31312
31313 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31314 installed.
31315
31316 * Makefile.in (host_kernel): New variable.
31317 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31318 scripts instead of just the windows one.
31319 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31320
eabc95fb 313212009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31322
31323 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31324 `kern/handler.c'.
31325 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31326 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31327 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31329 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31331
ceb1223c 313322009-03-04 Felix Zielcke <fzielcke@z-51.de>
31333
31334 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31335 or if there's no space for the disk label and print the partition number on a
31336 invalid magic.
31337
4910684a 313382009-03-04 Felix Zielcke <fzielcke@z-51.de>
31339
31340 * util/misc.c: Include <time.h>.
31341 (grub_millisleep): New function.
31342
7e9ca17a 313432009-03-04 Bean <bean123ch@gmail.com>
31344
31345 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31346 another option -mno-red-zone.
31347
31348 * commands/handler.c: Change module description.
31349
31350 * kern/handler.c: Add missing space at the end of description line.
31351
31352 * kern/list.c: Likewise.
31353
f501677c 313542009-03-03 Robert Millan <rmh@aybabtu.com>
31355
31356 Move more components to the relocation area, and fix mbi pointer
31357 handling to use the destination rather than the origin (thanks to
31358 Vladimir Serbinenko for spotting).
31359
31360 * loader/i386/multiboot.c (mbi_dest): New variable.
31361 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31362 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31363 relocation area.
31364
9902d047 313652009-03-01 Bean <bean123ch@gmail.com>
31366
50fb7002 31367 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31368 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31369 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31370 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31371
31372 * loader/i386/efi/linux.c (acpi_guid): New variable.
31373 (acpi_guid): Likewise.
31374 (EBDA_SEG_ADDR): New constant.
31375 (LOW_MEM_ADDR): Likewise.
31376 (FAKE_EBDA_SEG): Likewise.
31377 (fake_bios_data): New function.
31378 (grub_linux_boot): Call fake_bios_data.
31379
71b9f361 313802009-03-01 Bean <bean123ch@gmail.com>
31381
31382 * commands/terminal.c: Removed.
31383
31384 * commands/handler.c: New file.
31385
31386 * include/grub/list.h: Likewise.
31387
31388 * include/grub/handler.h: Likewise.
31389
31390 * kern/list.c: Likewise.
31391
31392 * kern/handler.c: Likewise.
31393
31394 * kern/term.h: Include header file <grub/handler.h>.
31395 (grub_term_input): Move next field to the beginning.
31396 (grub_term_output): Likewise.
31397 (grub_term_input_class): New variable.
31398 (grub_term_output_class): Likewise.
31399 (grub_term_register_input): Changed to inline function.
31400 (grub_term_register_output): Likewise.
31401 (grub_term_unregister_input): Likewise.
31402 (grub_term_unregister_output): Likewise.
31403 (grub_term_set_current_input): Likewise.
31404 (grub_term_set_current_output): Likewise.
31405 (grub_term_get_current_input): Likewise.
31406 (grub_term_get_current_output): Likewise.
31407 (grub_term_iterate_input): Removed.
31408 (grub_term_iterate_output): Likewise.
31409
31410 * kern/term.c (grub_term_list_input): Removed.
31411 (grub_term_list_output): Likewise.
31412 (grub_term_input_class): New variable.
31413 (grub_term_output_class): Likewise.
50fb7002 31414 (grub_cur_term_input): Change variable as macro.
71b9f361 31415 (grub_cur_term_output): Likewise.
31416 (grub_term_register_input): Removed.
31417 (grub_term_register_output): Likewise.
31418 (grub_term_unregister_input): Likewise.
31419 (grub_term_unregister_output): Likewise.
31420 (grub_term_set_current_input): Likewise.
31421 (grub_term_set_current_output): Likewise.
31422 (grub_term_iterate_input): Likewise.
31423 (grub_term_iterate_output): Likewise.
31424 (grub_term_get_current_input): Likewise.
31425 (grub_term_get_current_output): Likewise.
31426
31427 * util/grub-editenv.c: Include header file <grub/handler.h>.
31428 (grub_term_get_current_input): Removed.
31429 (grub_term_get_current_output): Likewise.
31430 (grub_term_input_class): New variable.
50fb7002 31431 (grub_term_output_class): Likewise.
71b9f361 31432
31433 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31434 (grub_term_get_current_output): Likewise.
31435 (grub_term_input_class): New variable.
50fb7002 31436 (grub_term_output_class): Likewise.
71b9f361 31437
31438 * util/grub-probe.c (grub_term_get_current_input): Removed.
31439 (grub_term_get_current_output): Likewise.
31440 (grub_term_input_class): New variable.
50fb7002 31441 (grub_term_output_class): Likewise.
71b9f361 31442
31443 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31444 (grub_term_get_current_output): Likewise.
31445 (grub_term_input_class): New variable.
50fb7002 31446 (grub_term_output_class): Likewise.
71b9f361 31447
31448 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31449 (terminal_mod_SOURCES): Likewise.
31450 (terminal_mod_CFLAGS): Likewise.
31451 (terminal_mod_LDFLAGS): Likewise.
31452
31453 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31454 handler.c.
31455 (kernel_img_SOURCES): Add list.c and handler.c.
31456 (kernel_img_HEADERS): Add list.h and handler.h.
31457
31458 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31459 handler.c.
31460 (kernel_mod_SOURCES): Add list.c and handler.c.
31461 (kernel_mod_HEADERS): Add list.h and handler.h.
31462
31463 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31464 handler.c.
31465 (kernel_elf_SOURCES): Add list.c and handler.c.
31466 (kernel_elf_HEADERS): Add list.h and handler.h.
31467
31468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31469 handler.c.
31470 (kernel_elf_SOURCES): Add list.c and handler.c.
31471 (kernel_elf_HEADERS): Add list.h and handler.h.
31472
31473 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31474 handler.c.
31475 (kernel_mod_SOURCES): Add list.c and handler.c.
31476 (kernel_mod_HEADERS): Add list.h and handler.h.
31477
31478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31479 handler.c.
31480 (kernel_elf_SOURCES): Add list.c and handler.c.
31481 (kernel_elf_HEADERS): Add list.h and handler.h.
31482
8a31787f 314832009-02-27 Robert Millan <rmh@aybabtu.com>
31484
31485 Factorize elf32 / elf64 code in Multiboot loader. This will
31486 prevent it from getting out of sync again.
31487
31488 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31489 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31490 grub_multiboot_load_elf64): Move from here ...
31491 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31492 grub_multiboot_load_elf): ... to here (new file).
31493
51cd3dfc 314942009-02-27 Robert Millan <rmh@aybabtu.com>
31495
31496 * util/grub.d/10_linux.in: Rename "single-user mode" to
31497 "recovery mode".
31498
6e8c9c3a 314992009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31500
31501 Don't leak in SCSI code.
31502 * disk/scsi.c (grub_scsi_close): free `scsi'.
31503
4b6bf4f9 315042009-02-27 Robert Millan <rmh@aybabtu.com>
31505
31506 * loader/i386/pc/multiboot.c: Move from here ...
31507 * loader/i386/multiboot.c: ... to here. Update all users.
31508
b9413424 315092009-02-27 Robert Millan <rmh@aybabtu.com>
31510
31511 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31512 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31513
50fb7002 315142009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31515
31516 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31517 b-tree.
31518
8cc50345 315192009-02-27 Robert Millan <rmh@aybabtu.com>
31520
31521 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31522 `0x' qualifier as 0 when base is specified as parameter).
31523
6e09b8b7 315242009-02-24 Bean <bean123ch@gmail.com>
31525
31526 * configure.ac: Check for -mcmodel=large in x86_64 target.
31527
31528 * include/grub/efi/api.h (efi_call_10): New macro.
31529 (efi_wrap_10): New function.
31530
31531 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31532 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31533 (GRUB_PE32_REL_BASED_LOW): Likewise.
31534 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31535 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31536 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31537 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31538 (GRUB_PE32_REL_BASED_REL): Likewise.
31539 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31540 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31541 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31542
31543 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31544 issue.
31545
31546 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31547 (efi_wrap_10): New function.
31548
31549 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31550
31551 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31552 MB/MBP model (NV chipset).
31553 (devdata_devs): Add devpath_5 to the list.
31554
31555 * load/i386/efi/linux.c (video_base): Remove variable.
31556 (RGB_MASK): New macro.
31557 (RGB_MAGIC): Likewise.
31558 (LINE_MIN): Likewise.
31559 (LINE_MAX): Likewise.
31560 (FBTEST_STEP): Likewise.
31561 (FBTEST_COUNT): Likewise.
31562 (fb_list): New variable.
31563 (grub_find_video_card): Remove function.
31564 (find_framebuf): New function.
31565 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31566 line length.
31567
31568 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31569 problem for x86_64.
31570
74b21bee 315712009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31572
31573 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31574
31575 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31576 coding tool name.
31577
a455f472 315782009-02-22 Robert Millan <rmh@aybabtu.com>
31579
31580 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31581 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31582 in our relocation, instead of using it directly from heap. Also
31583 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31584
6374daf3 315852009-02-21 Robert Millan <rmh@aybabtu.com>
31586
31587 Implement USB keyboard support (based on patch by Marco Gerards)
31588
31589 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31590 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31591 (usb_keyboard_mod_LDFLAGS): New variables.
31592
31593 * term/usb_keyboard.c: New file.
31594
8fa4ea70 315952009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31596
31597 Corrected wrong declaration
31598
31599 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31600
353976ac 316012009-02-14 Christian Franke <franke@computer.org>
31602
31603 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31604 (grub_lspci_iter): Print class code and programming interface byte.
31605
6aa1169b 316062009-02-14 Christian Franke <franke@computer.org>
31607
31608 * gendistlist.sh: Ignore `.svn' directories.
31609
265372ca 316102009-02-14 Felix Zielcke <fzielcke@z-51.de>
31611
31612 * fs/fat.c: Add 2009 to Copyright line.
31613
9ff516f3 316142009-02-14 Christian Franke <franke@computer.org>
31615
31616 * commands/hdparm.c: New file. Provides `hdparm' command
31617 which sends ATA commands via grub_disk_ata_pass_through ().
31618
31619 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31620
31621 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31622 and <grub/cpu/io.h> to include/grub/ata.h.
31623 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31624 (GRUB_CDROM_SECTOR_SIZE): Remove.
31625 (GRUB_ATA_*): Move to include/grub/ata.h.
31626 (GRUB_ATAPI_*): Likewise.
31627 (enum grub_ata_commands): Likewise.
31628 (enum grub_ata_timeout_milliseconds): Likewise.
31629 (struct grub_ata_device): Likewise.
31630 (grub_ata_regset): Likewise.
31631 (grub_ata_regget): Likewise.
31632 (grub_ata_regset2): Likewise.
31633 (grub_ata_regget2): Likewise.
31634 (grub_ata_check_ready): Likewise.
31635 (grub_ata_wait_not_busy): Remove static, exported in
31636 include/grub/ata.h.
31637 (grub_ata_wait_drq): Likewise.
31638 (grub_ata_pio_read): Likewise.
31639
31640 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31641 function for hdparm.mod.
31642
31643 * include/grub/ata.h: New file, contains declarations from
31644 disk/ata.c.
31645 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31646
31647 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31648 (grub_disk_ata_pass_through): New exported variable.
31649
31650 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31651
772e23da 316522009-02-13 Colin D Bennett <colin@gibibit.com>
31653
31654 Support multiple fallback entries, and provide an API to support
31655 executing default+fallback menu entries. Renamed the `terminal' menu
31656 viewer to `text'.
31657
31658 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31659 variable declaration.
31660 (grub_menu_execute_callback): New structure declaration.
31661 (grub_menu_execute_callback_t): New typedef.
31662 (grub_menu_execute_with_fallback): New function declaration.
31663 (grub_menu_get_entry): Likewise.
31664 (grub_menu_get_timeout): Likewise.
31665 (grub_menu_set_timeout): Likewise.
31666
31667 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31668
31669 * normal/menu.c (grub_wait_after_message): Moved to
31670 `normal/menu_text.c'.
31671 (draw_border): Likewise.
31672 (print_message): Likewise.
31673 (print_entry): Likewise.
31674 (print_entries): Likewise.
31675 (grub_menu_init_page): Likewise.
31676 (get_entry_number): Likewise.
31677 (print_timeout): Likewise.
31678 (run_menu): Likewise.
31679 (grub_menu_execute_entry): Likewise.
31680 (show_text_menu): Likewise.
31681 (get_and_remove_first_entry_number): New function.
31682 (grub_menu_execute_with_fallback): Likewise.
31683 (get_entry): Renamed to ...
31684 (grub_menu_get_entry): .. this and made it global.
31685 (get_timeout): Renamed to ...
31686 (grub_menu_get_timeout): ... this and made it global.
31687 (set_timeout): Renamed to ...
31688 (grub_menu_set_timeout): ... this and made it global.
31689 (grub_normal_terminal_menu_viewer): Renamed to ...
31690 (grub_normal_text_menu_viewer): ... this.
31691
31692 * normal/menu_text.c: New file. Extracted text-menu-specific code
31693 from normal/menu.c.
31694
31695 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31696 (normal_mod_SOURCES): Likewise.
31697
31698 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31699 (normal_mod_SOURCES): Likewise.
31700
31701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31702 (normal_mod_SOURCES): Likewise.
31703
31704 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31705 (normal_mod_SOURCES): Likewise.
31706
31707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31708 (normal_mod_SOURCES): Likewise.
31709
31710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31711 (normal_mod_SOURCES): Likewise.
31712
31713 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31714 (normal_mod_SOURCES): Likewise.
31715
16ac430e 317162009-02-11 Robert Millan <rmh@aybabtu.com>
31717
31718 * util/grub.d/00_header.in: Update old reference to `font' command.
31719
06ff20fc 317202009-02-10 Felix Zielcke <fzielcke@z-51.de>
31721
31722 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31723
31724 Based on patch from Javier Martín.
31725
96da9407 317262009-02-09 Felix Zielcke <fzielcke@z-51.de>
31727
31728 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31729 to avoid false positives with FAT.
96da9407 31730 (grub_fstest_SOURCES): Likewise.
31731 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31732 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31735 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31737
6dca6fe4 317382009-02-09 Felix Zielcke <fzielcke@z-51.de>
31739
06ff20fc 31740 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31741 bpb.version_specific.fat12_or_fat16.fstype and
31742 bpb.version_specific.fat32.fstype.
31743
2550c62f 317442009-02-08 Robert Millan <rmh@aybabtu.com>
31745
be110b30 31746 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31747
56978920 317482009-02-08 Robert Millan <rmh@aybabtu.com>
31749
31750 * Makefile.in (host_os, host_cpu): New variables.
31751 (target_os): Remove. Update all users.
31752
d64399b5 317532009-02-08 Marco Gerards <marco@gnu.org>
31754
31755 * Makefile.in (enable_grub_emu_usb): New variable.
31756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31757 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31758 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31759 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31760 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31761 `usbtest.mod' and `usbms.mod'.
31762 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31763 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31764 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31765 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31766 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31767 variables.
31768
31769 * disk/usbms.c: New file.
31770
31771 * include/grub/usb.h: Likewise.
31772
31773 * include/grub/usbtrans.h: Likewise.
31774
31775 * include/grub/usbdesc.h: Likewise.
31776
31777 * bus/usb/usbtrans.c: Likewise.
31778
31779 * bus/usb/ohci.c: Likewise.
31780
31781 * bus/usb/uhci.c: Likewise.
31782
31783 * bus/usb/usbhub.c: Likewise.
31784
31785 * bus/usb/usb.c: Likewise.
31786
31787 * commands/usbtest.c: Likewise.
31788
31789 * util/usb.c: Likewise.
50fb7002 31790
d64399b5 31791 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31792
31793 * configure.ac: Test for libusb presence.
50fb7002 31794
d64399b5 31795 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31796
2b40d6bb 317972009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31798
31799 * kern/mm.c: Add more comments.
31800
73a4ce81 318012009-02-08 Robert Millan <rmh@aybabtu.com>
31802
31803 Patch from Javier Martín.
31804 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31805 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31806
f821ce59 318072009-02-08 Robert Millan <rmh@aybabtu.com>
31808
31809 * fs/cpio.c: Split tar functionality to ...
31810 * fs/tar.c: ... here (new file). Update all users.
31811
aebfc4b0 318122009-02-07 Robert Millan <rmh@aybabtu.com>
31813
31814 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31815 backward-incompatible features.
31816
31817 Based on patch from Javier Martín, with some adjustments.
31818
50fb7002 318192009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31820
31821 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31822
0bb5115e 318232009-02-07 Robert Millan <rmh@aybabtu.com>
31824
31825 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31826 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31827 after the RAID stuff.
31828
38a0f8e7 318292009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31830
50fb7002 31831 Fixes problem when running vbetest command as reported by
38a0f8e7 31832 Vladimir Serbinenko <phcoder@gmail.com>.
31833
31834 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31835
3143cc1c 318362009-02-04 Felix Zielcke <fzielcke@z-51.de>
31837
31838 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31839 /dev/md/NpN style mdraid devices.
31840
9cba6fce 318412009-02-03 Felix Zielcke <fzielcke@z-51.de>
31842
31843 * util/unifont2pff.rb: Remove.
31844
e507a2c1 318452009-02-03 Felix Zielcke <fzielcke@z-51.de>
31846
31847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31848 `#'.
31849
d2c2b4cd 318502009-02-03 Felix Zielcke <fzielcke@z-51.de>
31851
31852 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31853 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31854 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31855 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31858 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31859
b4315fb0 318602009-02-02 Christian Franke <franke@computer.org>
31861
31862 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31863
de3aa260 318642009-02-01 Felix Zielcke <fzielcke@z-51.de>
31865
7c3ff286 31866 * INSTALL: Note that we now require at least autoconf 2.59 and
31867 that LZO is optional.
de3aa260 31868
825a182b 318692009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31870
31871 Base on patch on bug #24154 created by Tomas Tintera
31872 <trosos@seznam.cz>.
31873
31874 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31875
a69ef770 318762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31877
7c3ff286 31878 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31879 <bero@arklinux.org>.
31880
31881 * normal/parser.y (script_init): Add missing semicolon.
31882
6fa42fa6 318832009-01-31 Colin D Bennett <colin@gibibit.com>
31884
7c3ff286 31885 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31886 (free_menu_entry_classes): Added.
31887 (grub_normal_menu_addentry): Added class property handling.
31888 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31889 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31890
31891 * normal/menu_viewer.c: New file.
31892
31893 * normal/menu.c (run_menu_entry): Renamed to ...
31894 (grub_menu_execute_entry): ... this and made it as global.
31895 (grub_menu_run): Renamed to ...
31896 (show_text_menu): ... this and made it local.
31897 (show_text_menu): Adapt to new function names.
31898 (grub_normal_terminal_menu_viewer): New global variable.
31899
31900 * include/grub/menu.h: New file.
31901
31902 * include/grub/menu_viewer.h: New file.
31903
31904 * include/grub/normal.h: Added include to grub/menu.h.
31905 (grub_menu_entry): Moved to include/grub/menu.h.
31906 (grub_menu_entry_t): Likewise.
31907 (grub_menu): Likewise.
31908 (grub_menu_t): Likewise.
31909 (grub_normal_terminal_menu_viewer): Added.
31910 (grub_menu_execute_entry): Likewise.
31911 (grub_menu_run): Removed.
31912
31913 * DISTLIST: Added include/grub/menu.h.
31914 Added include/grub/menu_viewer.h.
31915 Added normal/menu_viewer.c.
31916
319172009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31918
31919 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31920 arglist for menutitle arguments.
31921
31922 * normal/main.c (grub_normal_menu_addentry): Likewise.
31923
31924 * normal/parser.y (menuentry): Likewise.
31925
31926 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31927
31928 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31929 (grub_script_create_cmdmenu): Likewise.
31930
31931 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31932
31933 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31934 changes.
31935
31936 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31937
31938 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31939
31940 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31941
31942 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31943
31944 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31945
31946 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31947
56192c23 319482009-01-30 Christian Franke <franke@computer.org>
31949
31950 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31951 in option help text.
31952
d72521b3 319532009-01-27 Pavel Roskin <proski@gnu.org>
31954
31955 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31956
994b5e84 319572009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31958
31959 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31960
31961 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31962
31963 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31964 unregister function.
31965
6a7eab2c 319662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31967
31968 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31969
31970 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31971
31972 * util/grub-mkfont.c (usage): Fix typo.
31973
31974 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31975
1806b56e 319762009-01-26 Daniel Mierswa <impulze@impulze.org>
31977
3fb18f09 31978 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31979
336e1fb9 31980 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31981
1806b56e 31982 * kern/misc.c (grub_strcasecmp): New function.
31983 (grub_strcasecmp): Use grub_size_t instead of int for length.
31984 Fix return value.
31985 * include/grub/misc.h: Update function prototypes.
31986
580b2a0f 319872009-01-26 Robert Millan <rmh@aybabtu.com>
31988
31989 * configure.ac: Fix cross-compilation check.
ef257b36 31990
d31c24f1 319912009-01-22 Christian Franke <franke@computer.org>
31992
31993 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31994 (precision) digit string. Allow `.format2' without `format1' (width).
31995 Limit input chars for `%s' output to `format2' if specified. This is
31996 compatible with standard printf ().
31997
3138b44c 319982009-01-22 Christian Franke <franke@computer.org>
31999
32000 * disk/ata.c (grub_ata_wait_status): Replace by ...
32001 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32002 other status bits may be invalid while BSY is asserted.
32003 (grub_ata_check_ready): New function.
32004 (grub_ata_cmd): Removed.
32005 (grub_ata_wait_drq): New function.
32006 (grub_ata_strncpy): Remove inline.
32007 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32008 and error check now done by grub_ata_wait_drq ().
32009 (grub_ata_pio_write): Likewise.
32010 (grub_atapi_identify): Set DEV before check for !BSY. Use
32011 grub_ata_wait_drq () to wait for data.
32012 (grub_ata_device_initialize): Add status register check to
32013 detect missing SATA slave devices. Add debug messages.
32014 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32015 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32016 transfer loop by grub_ata_pio_write ().
32017 (grub_ata_identify): Set DEV before check for !BSY. Use
32018 grub_ata_wait_drq () to wait for data.
ef257b36 32019 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32020 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32021 read/write in one loop. Fix invalid command on write. Fix incomplete
32022 command on (size % batch) == 0. Add missing error check after write of
32023 last block. Add debug messages.
32024 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32025
59a64ef6 320262009-01-19 Christian Franke <franke@computer.org>
32027
32028 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32029 (GRUB_ATAPI_IREASON_*): Likewise.
32030 (grub_ata_pio_write): Fix timeout error return.
32031 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32032 (grub_atapi_wait_drq): New function.
32033 (grub_atapi_packet): New parameter `size'.
32034 Use grub_atapi_wait_drq () and direct write instead of
32035 grub_ata_pio_write ().
32036 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32037 reads the number of bytes requested by the device for each DRQ
32038 assertion.
32039 (grub_atapi_write): Remove old implementation, return not
32040 implemented instead.
32041
1cfe20b3 320422009-01-19 Christian Franke <franke@computer.org>
32043
32044 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32045 of 512 to calculate data size.
32046 (grub_scsi_read12): Likewise.
32047 (grub_scsi_write10): Likewise.
32048 (grub_scsi_write12): Likewise.
32049 (grub_scsi_read): Adjust size according to blocksize.
32050 Add checks for invalid blocksize and unaligned transfer.
32051
bee5fe5d 320522009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32053
32054 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32055
ef257b36 32056 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32057 width glyphs.
32058
3e643f8c 320592009-01-19 Robert Millan <rmh@aybabtu.com>
32060
32061 * config.guess: Update to latest version from config git.
32062 * config.sub: Likewise.
32063
4fa80998 320642009-01-17 Felix Zielcke <fzielcke@z-51.de>
32065
32066 * Makefile.in: Change font compilation to use new grub-mkfont instead
32067 of java version.
32068
32069 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32070 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32071 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32072 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32073 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32074 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32075 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32076 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32077 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32078
7086085b 320792009-01-16 Christian Franke <franke@computer.org>
32080
32081 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32082 (enum grub_ata_timeout_milliseconds): New enum.
32083 (grub_ata_wait_status): Add parameter milliseconds.
32084 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32085 recovery from timed-out commands.
32086 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32087 return grub_errno instead of REG_ERROR.
32088 (grub_ata_pio_write): Add parameter milliseconds.
32089 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32090 Pass milliseconds to grub_ata_wait_status () and
32091 grub_ata_pio_read ().
32092 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32093 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32094 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32095 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32096 It is not suitable for device detection, because DEV bit is ignored,
32097 the command may run too long, and not all devices set the signature
32098 properly.
32099 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32100 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32101 Fix device selection, DEV bit must be set first to address the registers
32102 of the correct device.
32103 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32104 grub_ata_pio_read/write ().
32105 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32106 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32107
4a412913 321082009-01-13 Carles Pina i Estany <carles@pina.cat>
32109
32110 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32111
7795c55e 321122009-01-13 Bean <bean123ch@gmail.com>
d913988c 32113
32114 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32115
7795c55e 321162009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32117
32118 * Makefile.in: (enable_grub_mkfont): New variable.
32119 (freetype_cflags): Likewise.
32120 (freetype_libs): Likewise.
32121
32122 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32123 (grub_mkfont_SOURCES): New variable.
32124 (grub_mkfont_CFLAGS): Likewise.
32125 (grub_mkfont_LDFLAGS): Likewise.
32126
32127 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32128 library if `--enable-grub-mkfont' is requested.
32129 (enable_grub_mkfont): New variable.
32130 (freetype_cflags): Likewise.
32131 (freetype_libs): Likewise.
32132
32133 * util/grub-mkfont.c: New file.
32134
093af1fe 321352009-01-12 Christian Franke <franke@computer.org>
32136
32137 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32138 mode check. Fix setting of compat_use[].
32139
f36cc108 321402009-01-10 Robert Millan <rmh@aybabtu.com>
32141
32142 Update a few copyright years which we forgot to do in 2008 (only for
32143 files whose changes made in 2008 were copyright-significant)
32144
32145 * Makefile.in: Add 2008 to Copyright line.
32146 * disk/ieee1275/ofdisk.c: Likewise.
32147 * disk/efi/efidisk.c: Likewise.
32148 * kern/dl.c: Likewise.
32149 * kern/sparc64/ieee1275/init.c: Likewise.
32150 * kern/mm.c: Likewise.
32151 * kern/efi/mm.c: Likewise.
32152 * boot/i386/pc/boot.S: Likewise.
32153 * genfslist.sh: Likewise.
32154 * fs/iso9660.c: Likewise.
32155 * fs/hfs.c: Likewise.
32156 * fs/jfs.c: Likewise.
32157 * fs/minix.c: Likewise.
32158 * fs/ufs.c: Likewise.
32159 * gensymlist.sh.in: Likewise.
32160 * genkernsyms.sh.in: Likewise.
32161 * include/grub/misc.h: Likewise.
32162 * include/grub/types.h: Likewise.
32163 * include/grub/symbol.h: Likewise.
32164 * include/grub/elf.h: Likewise.
32165 * include/grub/kernel.h: Likewise.
32166 * include/grub/disk.h: Likewise.
32167 * include/grub/dl.h: Likewise.
32168 * include/grub/i386/linux.h: Likewise.
32169 * include/grub/i386/pc/biosdisk.h: Likewise.
32170 * include/grub/efi/api.h: Likewise.
32171 * include/grub/efi/pe32.h: Likewise.
32172 * include/grub/util/misc.h: Likewise.
32173 * normal/execute.c: Likewise.
32174 * normal/arg.c: Likewise.
32175 * normal/completion.c: Likewise.
32176 * normal/lexer.c: Likewise.
32177 * normal/parser.y: Likewise.
32178 * normal/misc.c: Likewise.
32179 * commands/i386/pc/vbeinfo.c: Likewise.
32180 * commands/hexdump.c: Likewise.
32181 * commands/terminal.c: Likewise.
32182 * commands/ls.c: Likewise.
32183 * commands/help.c: Likewise.
32184 * partmap/pc.c: Likewise.
32185 * loader/efi/chainloader.c: Likewise.
32186 * loader/multiboot_loader.c: Likewise.
32187 * loader/i386/pc/multiboot2.c: Likewise.
32188 * term/efi/console.c: Likewise.
32189 * term/i386/pc/serial.c: Likewise.
32190 * util/lvm.c: Likewise.
32191 * util/console.c: Likewise.
32192 * util/i386/efi/grub-mkimage.c: Likewise.
32193 * util/raid.c: Likewise.
32194
7f02114b 321952009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32196
32197 * commands/videotest.c: Removed include to grub/machine/memory.h.
32198
32199 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32200 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32201 (video_mod_SOURCES): Removed.
32202 (video_mod_CFLAGS): Likewise.
32203 (video_mod_LDFLAGS): Likewise.
32204 (gfxterm_mod_SOURCES): Likewise.
32205 (gfxterm_mod_CFLAGS): Likewise.
32206 (gfxterm_mod_LDFLAGS): Likewise.
32207 (videotest_mod_SOURCES): Likewise.
32208 (videotest_mod_CFLAGS): Likewise.
32209 (videotest_mod_LDFLAGS): Likewise.
32210 (bitmap_mod_SOURCES): Likewise.
32211 (bitmap_mod_CFLAGS): Likewise.
32212 (bitmap_mod_LDFLAGS): Likewise.
32213 (tga_mod_SOURCES): Likewise.
32214 (tga_mod_CFLAGS): Likewise.
32215 (tga_mod_LDFLAGS): Likewise.
32216 (jpeg_mod_SOURCES): Likewise.
32217 (jpeg_mod_CFLAGS): Likewise.
32218 (jpeg_mod_LDFLAGS): Likewise.
32219 (png_mod_SOURCES): Likewise.
32220 (png_mod_CFLAGS): Likewise.
32221 (png_mod_LDFLAGS): Likewise.
32222
32223 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32224 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32225 (video_mod_SOURCES): Added.
32226 (video_mod_CFLAGS): Likewise.
32227 (video_mod_LDFLAGS): Likewise.
32228 (videotest_mod_SOURCES): Likewise.
32229 (videotest_mod_CFLAGS): Likewise.
32230 (videotest_mod_LDFLAGS): Likewise.
32231 (bitmap_mod_SOURCES): Likewise.
32232 (bitmap_mod_CFLAGS): Likewise.
32233 (bitmap_mod_LDFLAGS): Likewise.
32234 (tga_mod_SOURCES): Likewise.
32235 (tga_mod_CFLAGS): Likewise.
32236 (tga_mod_LDFLAGS): Likewise.
32237 (jpeg_mod_SOURCES): Likewise.
32238 (jpeg_mod_CFLAGS): Likewise.
32239 (jpeg_mod_LDFLAGS): Likewise.
32240 (png_mod_SOURCES): Likewise.
32241 (png_mod_CFLAGS): Likewise.
32242 (png_mod_LDFLAGS): Likewise.
32243 (gfxterm_mod_SOURCES): Likewise.
32244 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32245 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32246
32247 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32248 grub/machine/console.h.
32249
644fff97 322502009-01-04 Jerone Young <jerone@gmail.com>
32251
32252 Make on screen instructions clearer
32253
32254 Based on patch created by Jidanni <jidanni@jidanni.org>
32255
32256 * normal/menu.c: print clearer instructions on the screen
32257
1e901a75 322582009-01-02 Colin D Bennett <colin@gibibit.com>
32259
32260 New font engine.
34c44600 32261
1e901a75 32262 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32263 build system and fixed gfxterm.c to work with different sized fonts.
32264
32265 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32266
1e901a75 32267 * configure: Re-generated.
34c44600 32268
1e901a75 32269 * DISTLIST: Removed font/manager.c.
32270 Added font/font.c.
32271 Added font/font_cmd.c.
34c44600 32272
1e901a75 32273 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32274 compilation.
34c44600 32275
1e901a75 32276 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32277
32278 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32279
32280 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32281
1e901a75 32282 * normal/menu.c: Likewise.
34c44600 32283
1e901a75 32284 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32285 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32286
1e901a75 32287 * include/grub/font.h: Replaced with new file.
34c44600 32288
1e901a75 32289 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32290 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32291 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32292 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32293 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32294 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32295 fg_red, fg_green, fg_blue, fg_alpha.
32296 (grub_video_adapter): Removed blit_glyph.
34c44600 32297 (grub_video_blit_glyph): Removed.
32298
1e901a75 32299 * font/manager.c: Removed file.
34c44600 32300
32301 * font/font.c: New file.
32302
1e901a75 32303 * font/font_cmd.c: Likewise.
34c44600 32304
1e901a75 32305 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32306
1e901a75 32307 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32308 (grub_video_vbe_map_rgba): Likewise.
32309 (grub_video_vbe_unmap_color_int): Likewise.
32310 (grub_video_vbe_blit_glyph): Removed.
32311 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32312
1e901a75 32313 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32314 (get_pixel): Likewise.
34c44600 32315 (set_pixel): Likewise.
32316
1e901a75 32317 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32318
1e901a75 32319 * term/gfxterm.c: Adapted to new font engine.
34c44600 32320
1e901a75 32321 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32322
1e901a75 32323 * term/i386/pc/vga.c: Likewise.
34c44600 32324
1e901a75 32325 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32326
1e901a75 32327 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32328
1e901a75 32329 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32330
1e901a75 32331 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32332
1e901a75 32333 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32334
1e901a75 32335 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32336
1e901a75 32337 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32338
1e901a75 32339 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32340
1e901a75 32341 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32342
32343 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32344
1e901a75 32345 * util/grub-mkconfig_lib.in: Changed font extension.
32346
278922e8 323472008-12-28 Felix Zielcke <fzielcke@z-51.de>
32348
32349 * util/getroot.c (grub_util_get_grub_dev): Add support for
32350 /dev/md/dNNpNN style partitionable mdraid devices.
32351
3ced05cf 323522008-12-12 Alex Smith <alex@alex-smith.me.uk>
32353
32354 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32355 at a time limit of the PXE TFTP API correctly.
32356 (grub_pxefs_close): Likewise.
32357
7fd0ee30 323582008-11-29 Robert Millan <rmh@aybabtu.com>
32359
34c44600 32360 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32361 grub_ata_device_initialize() calls.
32362
34c44600 323632008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32364
32365 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32366 iteration failed.
32367 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32368
89313780 323692008-11-28 Robert Millan <rmh@aybabtu.com>
32370
32371 Fix build on powerpc-ieee1275. Based on patch created by
32372 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32373 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32374 `kern/ieee1275/mmap.c'.
32375 * include/grub/powerpc/ieee1275/memory.h: New file.
32376
15257703 32377 Provide grub-install on coreboot.
32378 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32379 (grub_install_SOURCES): New variable.
32380 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32381 usable on coreboot.
32382
9fc5388a 323832008-11-25 Felix Zielcke <fzielcke@z-51.de>
32384
32385 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32386 to `grub_term_input_t'.
32387 (grub_term_get_current_output): Change return type to
32388 `grub_term_output_t'.
32389
bc3a2f31 323902008-11-22 Robert Millan <rmh@aybabtu.com>
32391
34c44600 32392 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32393 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32394 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32395 grub_vga_text_cls().
32396
80fc88f2 32397 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32398 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32399
cbf36fd3 32400 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32401 to 0x200000 (avoids trouble with some OFW implementations, and matches
32402 with the one in Yaboot).
32403 Reported by Manoel Abranches
32404
73e8e268 324052008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32406
32407 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32408 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32409
73e8e268 32410 * util/grub-mkconfig_lib.in (grub_warn): New function.
32411 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32412 warnings, to obtain consistent formatting.
32413 * util/grub.d/00_header.in: Likewise.
32414 * util/update-grub_lib.in: Likewise.
32415
e94045a1 32416 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32417 Move comment text to `#error' stanza.
e94045a1 32418
79d29fd7 32419 Harmonize ieee1275's grub_available_iterate() with the generic
32420 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32421 build problem on i386-ieee1275):
32422 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32423 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32424 parameter `type'. Update all users of this function.
32425 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32426 `kern/ieee1275/mmap.c'.
32427 * kern/ieee1275/init.c
32428 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32429 with ...
32430 (grub_machine_mmap_iterate): ... this.
32431 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32432 return type to `grub_err_t'. Update all implementations of this
32433 function prototype.
32434 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32435 Likewise.
32436
60d6b16e 32437 Add `lsmmap' command (lists firmware-provided memory map):
32438 * commands/lsmmap.c: New file.
32439 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32440 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32441 variables.
32442 * conf/powerpc-ieee1275.rmk: Likewise.
32443 * conf/i386-coreboot.rmk: Likewise.
32444 * conf/i386-ieee1275.rmk: Likewise.
32445
ebaaf49b 324462008-11-19 Robert Millan <rmh@aybabtu.com>
32447
32448 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32449 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32450 constraints to initrd allocation (based on code from
32451 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32452 for Linux to find it.
ebaaf49b 32453
dfab719f 324542008-11-14 Robert Millan <rmh@aybabtu.com>
32455
32456 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32457 order to cope with duplicate slashes.
32458
10fc3eb9 324592008-11-14 Robert Millan <rmh@aybabtu.com>
32460
32461 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32462 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32463 don't want to mess with lower memory, because it is used in the Linux
32464 loader.
32465
32466 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32467 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32468 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32469 is in our heap (probably as a result of it being corrupted during
2f2a3442 32470 decompression). Add #error instance with comment to explain why this
32471 loader isn't currently usable on PC/BIOS.
10fc3eb9 32472
e2e07847 324732008-11-14 Robert Millan <rmh@aybabtu.com>
32474
32475 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32476 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32477
fe8e8d69 324782008-11-12 Robert Millan <rmh@aybabtu.com>
32479
32480 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32481
32482 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32483 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32484 from here ...
32485 * include/grub/i386/pc/memory.h: ... to here.
32486
976b07d0 324872008-11-12 Robert Millan <rmh@aybabtu.com>
32488
32489 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32490 split).
32491
32492 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32493 (grub_console_cur_color, grub_console_real_putchar)
32494 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32495 (grub_console_setcolorstate, grub_console_setcolor)
32496 (grub_console_getcolor): Move from here ...
32497 * include/grub/i386/vga_common.h: ... to here (new file).
32498
32499 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32500 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32501 `<grub/i386/io.h>'.
32502 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32503 `<grub/i386/vga_common.h>'.
32504
76679cd3 325052008-11-12 Robert Millan <rmh@aybabtu.com>
32506
32507 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32508 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32509 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32510 variables.
32511 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32512 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32513
32514 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32515 grub_console_init() with call to grub_vga_text_init().
32516 (grub_machine_fini): Replace call to
32517 grub_console_fini() with call to grub_vga_text_fini() and
32518 grub_at_keyboard_fini().
32519
32520 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32521 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32522 (grub_console_setcolorstate, grub_console_setcolor)
32523 (grub_console_getcolor): New function prototypes.
32524
32525 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32526 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32527 (grub_vga_text_setcursor): Static-ize.
32528 (grub_vga_text_term): New structure.
32529 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32530
32531 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32532 (grub_console_cur_color, grub_console_standard_color)
32533 (grub_console_normal_color, grub_console_highlight_color)
32534 (map_char, grub_console_putchar, grub_console_getcharwidth)
32535 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32536 (grub_console_getcolor): Move from here ...
32537 * term/i386/vga_common.c: ... to here (same function names).
32538
95b841d3 325392008-11-12 Robert Millan <rmh@aybabtu.com>
32540
32541 Use newly-added Multiboot support in coreboot.
32542
32543 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32544 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32545
32546 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32547 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32548 (codestart): Store the MBI in `startup_multiboot_info' when we're
32549 being loaded using Multiboot.
32550
32551 * kern/i386/coreboot/init.c (grub_machine_init): Move
32552 grub_at_keyboard_init() call to beginning of function (useful for
32553 debugging). Call grub_machine_mmap_init() before attempting to use
32554 grub_machine_mmap_iterate().
32555 (grub_lower_mem, grub_upper_mem): Move from here ...
32556 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32557 here (new file).
32558
32559 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32560 function prototype.
32561
761ca975 325622008-11-12 Robert Millan <rmh@aybabtu.com>
32563
32564 Fix a regression introduced by the at_keyboard.mod split. Because
32565 some terminals are default on some platforms and non-default on
32566 others, the first terminal being registered determines which is
32567 going to be default.
32568
32569 * kern/term.c (grub_term_register_input): If this is the first
32570 terminal being registered, set it as the current one.
32571 (grub_term_register_output): Likewise.
32572
32573 * term/efi/console.c (grub_console_init): Do not call
32574 grub_term_set_current_output() or grub_term_set_current_input().
32575 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32576 * term/i386/pc/console.c (grub_console_init): Likewise.
32577 (grub_console_fini): Do not call grub_term_set_current_input()
32578 (but leave grub_term_set_current_output() to restore text mode).
32579
6c529df7 325802008-11-10 Robert Millan <rmh@aybabtu.com>
32581
32582 * util/grub.d/00_header.in: Add backward compatibility check for
32583 versions of terminal.mod that don't understand `terminal_input' or
32584 `terminal_output'.
32585
132e4113 325862008-11-09 Robert Millan <rmh@aybabtu.com>
32587
32588 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32589 `terminal_input' / `terminal_output', not `terminal'.
32590
ac293d50 325912008-11-08 Robert Millan <rmh@aybabtu.com>
32592
32593 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32594 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32595
0025933a 325962008-11-08 Robert Millan <rmh@aybabtu.com>
32597
32598 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32599 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32600 members. Update all users.
32601 * util/console.c (grub_ncurses_term): Split in ...
32602 (grub_ncurses_term_input): ... this, and ...
32603 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32604 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32605
37c86336 326062008-11-08 Robert Millan <rmh@aybabtu.com>
32607
32608 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32609 (PKGDATA): Add $(pkgdata_SRCDIR).
32610 (pkglib_BUILDDIR): New variable.
32611 (pkgdata_SRCDIR): New variable.
32612 (build_env.mk): New target.
32613 (include_DATA): New variable.
32614 (install-local): Install $(include_DATA) files in $(includedir).
32615
b6c15a2d 326162008-11-07 Pavel Roskin <proski@gnu.org>
32617
d99d46f1 32618 * gendistlist.sh: Use C locale for sorting to ensure consistent
32619 output on all systems.
32620
b6c15a2d 32621 * util/grub.d/00_header.in: Remove incorrect space before
32622 "serial".
32623
c32ee8c9 326242008-11-07 Robert Millan <rmh@aybabtu.com>
32625
32626 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32627 per specification.
32628 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32629 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32630 (based on find_multi_boot1_header).
32631 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32632 using find_multi_boot2_header(), and abort if neither Multiboot or
32633 Multiboot headers were found.
32634
651c29b7 326352008-11-07 Robert Millan <rmh@aybabtu.com>
32636
32637 Modularize at_keyboard.mod:
32638
32639 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32640 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32641 (at_keyboard_mod_LDFLAGS): New variables.
32642
32643 Actual terminal split:
32644
32645 * include/grub/term.h (struct grub_term): Split in ...
32646 (struct grub_term_input): ... this, and ...
32647 (struct grub_term_output): ... this. Update all users.
32648 (grub_term_set_current): Split in ...
32649 (grub_term_set_current_input): ... this, and ...
32650 (grub_term_set_current_output): ... this.
32651 (grub_term_get_current): Split in ...
32652 (grub_term_get_current_input): ... this, and ...
32653 (grub_term_get_current_output): ... this.
32654 (grub_term_register): Split in ...
32655 (grub_term_register_input): ... this, and ...
32656 (grub_term_register_output): ... this.
32657 (grub_term_unregister): Split in ...
32658 (grub_term_unregister_input): ... this, and ...
32659 (grub_term_unregister_output): ... this.
32660 (grub_term_iterate): Split in ...
32661 (grub_term_iterate_input): ... this, and ...
32662 (grub_term_iterate_output): ... this.
32663
32664 * kern/term.c (grub_term_list): Split in ...
32665 (grub_term_list_input): ... this, and ...
32666 (grub_term_list_output): ... this. Update all users.
32667 (grub_cur_term): Split in ...
32668 (grub_cur_term_input): ... this, and ...
32669 (grub_cur_term_output): ... this. Update all users.
32670 (grub_term_set_current): Split in ...
32671 (grub_term_set_current_input): ... this, and ...
32672 (grub_term_set_current_output): ... this.
32673 (grub_term_get_current): Split in ...
32674 (grub_term_get_current_input): ... this, and ...
32675 (grub_term_get_current_output): ... this.
32676 (grub_term_register): Split in ...
32677 (grub_term_register_input): ... this, and ...
32678 (grub_term_register_output): ... this.
32679 (grub_term_unregister): Split in ...
32680 (grub_term_unregister_input): ... this, and ...
32681 (grub_term_unregister_output): ... this.
32682 (grub_term_iterate): Split in ...
32683 (grub_term_iterate_input): ... this, and ...
32684 (grub_term_iterate_output): ... this.
32685
32686 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32687 a check for input and one for output (and only attempt to get keys
32688 from user when input works).
32689
32690 * util/grub-probe.c (grub_term_get_current): Split in ...
32691 (grub_term_get_current_input): ... this, and ...
32692 (grub_term_get_current_output): ... this.
32693 * util/grub-fstest.c: Likewise.
32694 * util/i386/pc/grub-setup.c: Likewise.
32695 * util/grub-editenv.c: Likewise.
32696
32697 Portability adjustments:
32698
32699 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32700 `term/i386/pc/at_keyboard.c'.
32701 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32702 grub_keyboard_controller_init() (now handled by terminal .init).
32703 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32704 grub_at_keyboard_init().
32705 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32706 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32707 at_keyboard.mod via input terminal interface).
32708 * include/grub/i386/coreboot/console.h: Convert into a stub for
32709 `<grub/i386/pc/console.h>'.
32710
32711 Migrate full terminals to new API:
32712
32713 * term/efi/console.c (grub_console_term): Split into ...
32714 (grub_console_term_input): ... this, and ...
32715 (grub_console_term_output): ... this. Update all users.
32716 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32717 (grub_ofconsole_init): Split into ...
32718 (grub_ofconsole_init_input): ... this, and ...
32719 (grub_ofconsole_init_output): ... this.
32720 (grub_ofconsole_term): Split into ...
32721 (grub_ofconsole_term_input): ... this, and ...
32722 (grub_ofconsole_term_output): ... this. Update all users.
32723 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32724 (grub_serial_term_input): ... this, and ...
32725 (grub_serial_term_output): ... this. Update all users.
32726 * term/i386/pc/console.c (grub_console_term): Split into ...
32727 (grub_console_term_input): ... this, and ...
32728 (grub_console_term_output): ... this. Update all users.
32729 (grub_console_term_input): Only enable it on PC/BIOS platform.
32730 (grub_console_init): Remove grub_keyboard_controller_init() call.
32731
32732 Migrate input terminals to new API:
32733
32734 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32735 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32736 i386-specific anyway).
32737 (grub_console_checkkey): Rename to ...
32738 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32739 users.
32740 (grub_keyboard_controller_orig): New variable.
32741 (grub_console_getkey): Rename to ...
32742 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32743 users.
32744 (grub_keyboard_controller_init): Static-ize. Save original
32745 controller value so that it can be restored ...
32746 (grub_keyboard_controller_fini): ... here (new function).
32747 (grub_at_keyboard_term): New structure.
32748 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32749 functions.
32750
32751 Migrate output terminals to new API:
32752
32753 * term/i386/pc/vga.c (grub_vga_term): Change type to
32754 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32755 members. Update all users.
32756 * term/gfxterm.c (grub_video_term): Change type to
32757 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32758 members. Update all users.
32759 * include/grub/i386/pc/console.h (grub_console_checkkey)
32760 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32761 etc).
32762
32763 Migrate `terminal' command and userland tools to new API:
32764
32765 * commands/terminal.c (grub_cmd_terminal): Split into ...
32766 (grub_cmd_terminal_input): ... this, and ...
32767 (grub_cmd_terminal_output): ... this.
32768 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32769 `terminal_input' and `terminal_output'.
32770 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32771 `terminal_input' / `terminal_output' API.
32772 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32773 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32774 provided ${GRUB_TERMINAL}, convert it).
32775
96e5d876 327762008-11-04 Robert Millan <rmh@aybabtu.com>
32777
32778 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32779 for FreeBSD.
32780 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32781
556f3775 327822008-11-03 Bean <bean123ch@gmail.com>
32783
32784 * kern/elf.c (grub_elf32_load): Revert to previous code.
32785 (grub_elf64_load): Likewise.
32786
32787 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32788
926b9823 327892008-11-01 Robert Millan <rmh@aybabtu.com>
32790
32791 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32792 (TARGET_CPPFLAGS): Likewise.
32793 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32794
1432e958 327952008-11-01 Carles Pina i Estany <carles@pina.cat>
32796
32797 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32798
dba3f844 327992008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32800
32801 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32802 addition of objects until the code is not going to be able to fail.
32803
dba3f844 328042008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32805
32806 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32807 (add a missing NULL check, and correct them by moving the pointer
32808 operations after the actual check).
32809
7ab28c21 328102008-10-29 Robert Millan <rmh@aybabtu.com>
32811
32812 * util/i386/pc/grub-install.in: Handle empty string as output from
32813 make_system_path_relative_to_its_root().
32814
1b7748eb 328152008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32816
32817 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32818 circular metadata worst case scenario. If the metadata is circular
32819 then copy the wrap in place.
32820 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32821 project lib/format_text/layout.h
32822 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32823
c9618ab2 328242008-10-03 Felix Zielcke <fzielcke@z-51.de>
32825
7a36edca 32826 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32827
bf981c62 328282008-10-03 Felix Zielcke <fzielcke@z-51.de>
32829
32830 * util/update-grub_lib.in: Mention filename in warning message.
32831
6d994591 328322008-09-29 Felix Zielcke <fzielcke@z-51.de>
32833
32834 * NEWS: Update for rename of update-grub to grub-mkconfig.
32835
18ade780 328362008-09-29 Felix Zielcke <fzielcke@z-51.de>
32837
32838 * util/update-grub_lib.in: Copy to ...
32839 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32840 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32841 * util/update-grub.in: Rename to ...
32842 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32843 option. Add `--output' option to allow users to specify the generated
32844 configuration file. Default to stdout.
32845 (update_grub_dir): Rename to ...
32846 (grub_mkconfig_dir): ... this.
32847 (grub_cfg): Default to an empty string.
32848 * conf/common.rmk (update-grub): Rename to ...
32849 (grub-mkconfig): ... this.
32850 (update-grub_lib): Copy to ...
32851 (grub-mkconfig_lib): ... this.
32852 (update-grub_SCRIPTS): Copy to ...
32853 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32854 (update-grub_DATA): Rename to ...
32855 (grub-mkconfig_DATA): ... this.
32856
556ce6ac 328572008-09-28 Robert Millan <rmh@aybabtu.com>
32858
32859 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32860 to `modified'. Add the real `created' field.
32861 (grub_iso9660_uuid): Use `modified' rather than `created' for
32862 constructing the UUID.
32863
328642008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32865
32866 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32867 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32868
92274e85 328692008-09-28 Bean <bean123ch@gmail.com>
32870
32871 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32872 Thanks to Christian Franke for finding this bug.
32873
add6f17a 328742008-09-25 Robert Millan <rmh@aybabtu.com>
32875
32876 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32877 instances of grub_util_get_disk_name() (see previous commit).
32878
d2a367b8 328792008-09-25 Robert Millan <rmh@aybabtu.com>
32880
32881 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32882 `util/i386/get_disk_name.c'.
32883 * conf/i386-efi.rmk: Likewise.
32884 * conf/x86_64-efi.rmk: Likewise.
32885 * conf/i386-coreboot.rmk: Likewise.
32886 * conf/i386-ieee1275.rmk: Likewise.
32887 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32888 `util/ieee1275/get_disk_name.c'.
32889 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32890 * util/ieee1275/get_disk_name.c: Remove file.
32891 * util/i386/get_disk_name.c: Remove file.
32892 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32893 "hd%d" for device.map entries, rather than using
32894 grub_util_get_disk_name().
32895
81a06771 328962008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32897
32898 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32899 warning.
32900 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32901
5a004279 329022008-09-24 Carles Pina i Estany <carles@pina.cat>
32903
32904 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32905 Changed to 0x5100.
32906 (GRUB_TERM_PPAGE): Changed to 0x4900.
32907
397093d3 329082008-09-24 Robert Millan <rmh@aybabtu.com>
32909
32910 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32911 macros (they were i386-pc specific).
32912 * include/grub/sparc64/ieee1275/console.h: Likewise.
32913 * include/grub/efi/console.h: Likewise.
32914
a91b6c7c 329152008-09-22 Bean <bean123ch@gmail.com>
32916
32917 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32918 resident and in attribute list.
32919
32920 * include/grub/ntfs.h (BMP_LEN): Removed.
32921
c40fd116 329222008-09-22 Bean <bean123ch@gmail.com>
32923
81a06771 32924 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32925 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32926
32927 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32928 error occurs, as grub_disk_open will call grub_disk_close, which will
32929 call p->close (scsi).
32930
81a06771 329312008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32932
32933 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32934 (AC_PREREQ): Bumped to 2.59.
32935 (AC_TRY_COMPILE): Replace obsolete macro with ...
32936 (AC_COMPILE_IFELSE): ... this.
32937 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32938 (AC_LINK_IFELSE): ... this.
32939
5dc43410 329402008-09-21 Felix Zielcke <fzielcke@z-51.de>
32941
32942 * autogen.sh: Add a call to `gendistlist.sh'.
32943
9035dce4 329442008-09-19 Christian Franke <franke@computer.org>
32945
32946 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32947 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32948 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32949 Export __enable_execute_stack() to modules.
32950 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32951 New function.
32952
7fd75377 329532008-09-09 Felix Zielcke <fzielcke@z-51.de>
32954
040030b3 32955 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32956 Sort the list.
32957
329582008-09-09 Felix Zielcke <fzielcke@z-51.de>
32959
32960 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32961 #include <grub/util/hostdisk.h>.
32962
89d5ffcf 329632008-09-08 Robert Millan <rmh@aybabtu.com>
32964
32965 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32966 segments when their filesz is zero (grub_file_read() interprets
81a06771 32967 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32968 Use `lowest_segment' rather than 0 for calculating the current
32969 segment load address.
32970
40da438f 329712008-09-08 Robert Millan <rmh@aybabtu.com>
32972
32973 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32974 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32975 clobbered useful information.
32976
ddbf5556 329772008-09-08 Robert Millan <rmh@aybabtu.com>
32978
32979 * include/grub/util/biosdisk.h: Move to ...
32980 * include/grub/util/hostdisk.h: ... here. Update all users.
32981 * util/biosdisk.c: Move to ...
32982 * util/hostdisk.c: ... here. Update all users.
32983
783d0f48 329842008-09-07 Robert Millan <rmh@aybabtu.com>
32985
32986 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32987 variables.
32988 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32989 and length can be stored directly in the `mbi->mmap_addr' and
32990 `mbi->mmap_length' struct fields.
32991
548e2ea5 329922008-09-07 Robert Millan <rmh@aybabtu.com>
32993
32994 * conf/i386.rmk: New file. Provides declaration for building
32995 `cpuid.mod'.
32996 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32997 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32998 variables.
32999 Include `conf/i386.mk'.
33000 * conf/i386-efi.rmk: Likewise.
33001 * conf/x86_64-efi.rmk: Likewise.
33002 * conf/i386-coreboot.rmk: Likewise.
33003 * conf/i386-ieee1275.rmk: Likewise.
33004
0ea85a37 330052008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33006
33007 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33008 Adds optimization support for BGR based modes.
33009
33010 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33011 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33012 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33013 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33014 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33015 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33016 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33017 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33018 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33019 (grub_video_i386_vbeblit_index_index): Likewise.
33020 (grub_video_i386_vbeblit_replace_directN): Added.
33021 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33022 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33023 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33024 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33025 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33026 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33027 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33028 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33029 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33030 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33031 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33032 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33033 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33034
33035 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33036 (grub_video_i386_vbefill_R8G8B8): Likewise.
33037 (grub_video_i386_vbefill_index): Likewise.
33038 (grub_video_i386_vbefill_direct32): Added.
33039 (grub_video_i386_vbefill_direct24): Likewise.
33040 (grub_video_i386_vbefill_direct16): Likewise.
33041 (grub_video_i386_vbefill_direct8): Likewise.
33042
81a06771 33043 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33044 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33045 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33046 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33047 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33048 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33049
0ea85a37 33050 * video/video.c (grub_video_get_blit_format): Updated to use new
33051 blit formats. Added handling for 16 bit color modes.
81a06771 33052
33053 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33054 fillers.
33055 (common_blitter): Updated to use new blitters.
33056
33057 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33058 Removed.
33059 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33060 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33061 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33062 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33063 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33064 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33065 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33066 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33067 (grub_video_i386_vbeblit_index_index): Likewise.
33068 (grub_video_i386_vbeblit_replace_directN): Added.
33069 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33070 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33071 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33072 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33073 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33074 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33075 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33076 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33077 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33078 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33079 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33080 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33081 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33082
0ea85a37 33083 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33084 (grub_video_i386_vbefill_R8G8B8): Likewise.
33085 (grub_video_i386_vbefill_index): Likewise.
33086 (grub_video_i386_vbefill_direct32): Added.
33087 (grub_video_i386_vbefill_direct24): Likewise.
33088 (grub_video_i386_vbefill_direct16): Likewise.
33089 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33090
0ea85a37 33091 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33092 types.
81a06771 33093
0ea85a37 33094 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33095 types.
81a06771 33096
0ea85a37 33097 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33098 blitter types.
81a06771 33099
0ea85a37 33100 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33101 types.
33102
e8a83df6 331032008-09-06 Felix Zielcke <fzielcke@z-51.de>
33104
33105 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33106 RAID level 1.
33107
6bcd8ee5 331082008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33109
6bcd8ee5 33110 * fs/iso9660.c (grub_iso9660_date): New structure.
33111 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33112 (grub_iso9660_uuid): New function.
c375ae58 33113
59261157 331142008-09-05 Bean <bean123ch@gmail.com>
33115
33116 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33117
33118 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33119 insensitive bit for names in Win32 and Win32 & DOS namespace.
33120
33121 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33122
33123 * include/grub/types.h (LONG_MAX): Likewise.
33124
58b6645a 331252008-09-04 Felix Zielcke <fzielcke@z-51.de>
33126
4ee55921 33127 * util/getroot.c: Include <config.h>.
33128 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33129 add support for /dev/md/N devices and handle LVM double dash escaping.
33130
331312008-09-04 Felix Zielcke <fzielcke@z-51.de>
33132
33133 * config.guess: Update to latest version from config git.
33134 * config.sub: Likewise.
58b6645a 33135
9124f65d 331362008-09-03 Robert Millan <rmh@aybabtu.com>
33137
33138 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33139 `disk->total_sectors'.
33140
81a06771 331412008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33142
33143 * include/grub/normal.h: Fixed incorrect comment for
33144 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33145
81a06771 331462008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33147
33148 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33149 values with defines.
33150
33151 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33152 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33153 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33154 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33155 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33156 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33157 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33158 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33159 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33160 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33161 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33162 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33163 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33164 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33165 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33166 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33167 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33168 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33169 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33170
93d5cbf8 331712008-08-31 Robert Millan <rmh@aybabtu.com>
33172
33173 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33174 declaration.
33175 (grub_multiboot): Fix a few warnings.
33176
21751d50 331772008-08-31 Robert Millan <rmh@aybabtu.com>
33178
33179 * loader/i386/pc/multiboot.c: Update comment not to say that
33180 boot_device support is unimplemented.
33181
e27a75c5 331822008-08-31 Robert Millan <rmh@aybabtu.com>
33183
33184 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33185 or memory map support are unimplemented.
33186
81a06771 331872008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33188
33189 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33190
81a06771 331912008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33192
33193 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33194 total video memory in 'vbeinfo' output; show color format details for
33195 each video mode.
33196
7c5d8d95 331972008-08-30 Pavel Roskin <proski@gnu.org>
33198
33199 * util/genmoddep.c: Remove for real this time.
33200 * DISTLIST: Remove util/genmoddep.c.
33201
4cebd25a 332022008-08-30 Robert Millan <rmh@aybabtu.com>
33203
33204 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33205 as required by Multiboot spec (it was already 4-byte aligned, but
33206 only by chance).
33207
b497a269 332082008-08-29 Pavel Roskin <proski@gnu.org>
33209
e3925185 33210 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33211 * kern/powerpc/ieee1275/startup.S: ... this.
33212 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33213 * DISTLIST: Likewise.
33214
b497a269 33215 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33216 grub/cpu/kernel.h. Add start label for consistency with other
33217 platforms. Add grub_prefix immediately after start. Add jump
33218 to the code after grub_prefix.
33219 * include/grub/powerpc/kernel.h: Provide valid values for
33220 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33221
6e5a42fe 332222008-08-29 Bean <bean123ch@gmail.com>
33223
33224 * configure.ac: Change host_os to cygwin for mingw.
33225 (asprintf): New check for function.
33226
33227 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33228 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33229
33230 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33231 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33232 sync, sleep and grub_util_get_disk_size for mingw.
33233
33234 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33235 to get size in mingw.
33236 (open_device): Use flag O_BINARY if it's defined.
33237 (find_root_device): Add dummy code for mingw.
33238
33239 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33240 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33241 (get_scsi_disk_name): Return 0 for mingw.
33242
33243 * util/hostfs.c: #include <grub/util/misc.h>.
33244 (grub_hostfs_open): Use "rb" flag to open file, use
33245 grub_util_get_disk_size to get disk size for mingw.
33246
33247 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33248 (asprintf): New function if HAVE_ASPRINTF is not set.
33249 (sync): New function for mingw.
33250 (sleep): Likewise.
33251 (grub_util_get_disk_size): Likewise.
33252
ab3f2673 332532008-08-28 Pavel Roskin <proski@gnu.org>
33254
33255 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33256 kern/time.c.
33257
1c282483 332582008-08-28 Robert Millan <rmh@aybabtu.com>
33259
33260 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33261
678e849c 332622008-08-28 Robert Millan <rmh@aybabtu.com>
33263
33264 Change find_grub_drive() syntax so it doesn't prevent it from
33265 detecting NULL names as errors.
33266
33267 * util/biosdisk.c (find_grub_drive): Move free slot search code
33268 from here ...
33269 (find_free_slot): ... to here.
33270 (read_device_map): Use find_free_slot() to search for free slots.
33271
965c75ca 332722008-08-27 Marco Gerards <marco@gnu.org>
33273
33274 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33275 (scsi_mod_SOURCES): New variable.
33276 (scsi_mod_CFLAGS): Likewise
33277 (scsi_mod_LDFLAGS): Likewise.
33278
33279 * disk/scsi.c: New file.
33280
33281 * include/grub/scsi.h: Likewise.
33282
33283 * include/grub/scsicmd.h: Likewise.
33284
33285 * disk/ata.c: Include <grub/scsi.h>.
33286 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33287 instead.
33288 (grub_ata_iterate): Skip ATAPI devices.
33289 (grub_ata_open): Only handle ATAPI devices.
33290 (struct grub_atapi_read): Removed.
33291 (grub_atapi_readsector): Likewise.
33292 (grub_ata_read): No longer handle ATAPI devices.
33293 (grub_ata_write): Likewise.
33294 (grub_atapi_iterate): New function.
33295 (grub_atapi_read): Likewise.
33296 (grub_atapi_write): Likewise.
33297 (grub_atapi_open): Likewise.
33298 (grub_atapi_close): Likewise.
33299 (grub_atapi_dev): New variable.
33300 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33301 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33302
33303 * include/grub/disk.h (enum grub_disk_dev_id): Add
33304 `GRUB_DISK_DEVICE_SCSI_ID'.
33305
c07ae501 333062008-08-26 Robert Millan <rmh@aybabtu.com>
33307
33308 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33309 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33310 descriptive.
33311
5ed20adc 333122008-08-23 Bean <bean123ch@gmail.com>
33313
33314 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33315 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33316 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33317 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33318 dm_nv.mod.
33319 (raid5rec_mod_SOURCES): New macro.
33320 (raid5rec_mod_CFLAGS): Likewise.
33321 (raid5rec_mod_LDFLAGS): Likewise.
33322 (raid6rec_mod_SOURCES): Likewise.
33323 (raid6rec_mod_CFLAGS): Likewise.
33324 (raid6rec_mod_LDFLAGS): Likewise.
33325 (mdraid_mod_SOURCES): Likewise.
33326 (mdraid_mod_CFLAGS): Likewise.
33327 (mdraid_mod_LDFLAGS): Likewise.
33328 (dm_nv_mod_SOURCES): Likewise.
33329 (dm_nv_mod_CFLAGS): Likewise.
33330 (dm_nv_mod_LDFLAGS): Likewise.
33331
33332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33333 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33334 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33335
33336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33337 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33338
33339 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33340
33341 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33342
33343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33344
33345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33346
33347 * disk/raid5_recover.c: New file.
33348
33349 * disk/raid6_recover.c: Likewise.
33350
33351 * disk/mdraid_linux.c: Likewise.
33352
33353 * disk/dmraid_nvidia.c: Likewise.
33354
33355 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33356 ULONG_MAX.
33357
33358 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33359 calculate the size of raid device.
33360 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33361 different layout of raid5.
33362 (grub_raid_scan_device): Remove code specific to mdraid.
33363 (grub_raid_list): New variable.
33364 (free_array): New function.
33365 (grub_raid_register): Likewise.
33366 (grub_raid_unregister): Likewise.
33367 (grub_raid_rescan): Likewise.
33368 (GRUB_MOD_INIT): Don't iterate device here.
33369 (GRUB_MOD_FINI): Use free_array to release resource.
33370
33371 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33372 (grub_raid5_recover_func_t): New function variable type.
33373 (grub_raid6_recover_func_t): Likewise.
33374 (grub_raid5_recover_func): New variable.
33375 (grub_raid6_recover_func): Likewise.
33376 (grub_raid_register): New function.
33377 (grub_raid_unregister): Likewise.
33378 (grub_raid_rescan): Likewise.
33379 (grub_raid_block_xor): Likewise.
33380
33381 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33382 (CMD_CRC): New macro.
33383 (part): Removed.
33384 (read_file): Handle device as well as file.
33385 (cmd_crc): New function.
33386 (fstest): Handle multiple disks.
33387 (options): Remove part, raw and long, add root and diskcount.
33388 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33389 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33390 add handling for the new options, support multiple disks.
33391
33392 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33393
29c18915 333942008-08-23 Bean <bean123ch@gmail.com>
33395
33396 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33397
33398 * genfslist.sh: Ignore kernel.mod.
33399
33400 * genpartmaplist.sh: Likewise.
33401
8415f261 334022008-08-23 Robert Millan <rmh@aybabtu.com>
33403
33404 * util/getroot.c (find_root_device): Skip anything that starts with
33405 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33406
d5a7dc5b 334072008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33408
d5a7dc5b 33409 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33410 * util/grub.d/00_header.in: Allow the administrator to change default
33411 gfxmode via ${GRUB_GFXMODE}.
33412
380cfbb4 334132008-08-21 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33416
c9baafe7 334172008-08-21 Robert Millan <rmh@aybabtu.com>
33418
33419 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33420 loader.
33421 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33422 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33423
e290bef2 334242008-08-20 Carles Pina i Estany <carles@pina.cat>
33425
33426 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33427 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33428
f9dbfc96 334292008-08-19 Robert Millan <rmh@aybabtu.com>
33430
33431 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33432 (struct grub_virtual_screen): Remove `cursor_color'.
33433 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33434 initialization.
33435 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33436
dd6bd6ab 334372008-08-18 Robert Millan <rmh@aybabtu.com>
33438
33439 Unify (identical) linux_normal.c files.
33440 * loader/i386/efi/linux_normal.c: Move from here ...
33441 * loader/linux_normal.c: ... to here. Update all users.
33442 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33443 * loader/i386/ieee1275/linux_normal.c: Likewise.
33444
7f42f83e 334452008-08-18 Robert Millan <rmh@aybabtu.com>
33446
33447 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33448 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33449 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33450 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33451 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33452 New macros.
33453 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33454 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33455 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33456 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33457 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33458 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33459 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33460 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33461 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33462 portably using grub_getxy().
33463 Replace `-EFI' with `-bzImage' in boot message.
33464
38487ddb 334652008-08-17 Robert Millan <rmh@aybabtu.com>
33466
33467 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33468
deceb3ec 334692008-08-17 Robert Millan <rmh@aybabtu.com>
33470
33471 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33472
33473 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33474 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33475 (grub_machine_mmap_iterate): New function declaration.
33476 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33477 structure.
33478 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33479 macros.
33480
33481 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33482 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33483 Move e820 parsing from here ...
33484 * kern/i386/pc/mmap.c: New file.
33485 (grub_machine_mmap_iterate): ... to here.
33486
33487 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33488 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33489 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33490 (grub_available_iterate): Redeclare to return `void', and redeclare
33491 its hook to use grub_uint64_t as addr and size parameters, and rename
33492 to ...
33493 (grub_machine_mmap_iterate): ... this. Update all users.
33494
33495 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33496 to make it more readable. Rename to ...
33497 (grub_machine_mmap_iterate): ... this.
33498
33499 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33500 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33501 (grub_multiboot): Allocate an extra region after the payload, and fill
33502 it with a Multiboot memory map. Adjust a.out loader to calculate size
33503 with the extra space.
33504 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33505 with the extra space.
33506
f8aa0f43 335072008-08-17 Carles Pina i Estany <carles@pina.cat>
33508
9807deb9 33509 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33510
605f5bb6 335112008-08-17 Felix Zielcke <fzielcke@z-51.de>
33512
33513 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33514 mdate-sh to the list `find' searches for.
33515 * DISTLIST: Regenerated.
33516
210db6c6 335172008-08-16 Felix Zielcke <fzielcke@z-51.de>
33518
33519 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33520 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33521 genmoddep.awk, gensymlist.sh.in.
33522 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33523 * DISTLIST: Regenerated.
48cdbfd4 33524 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33525
1082b929 335262008-08-16 Robert Millan <rmh@aybabtu.com>
33527
33528 * disk/raid.c (grub_raid_init): Handle/report errors set by
33529 grub_device_iterate().
33530 * disk/lvm.c (grub_lvm_init): Likewise.
33531
42ce5170 335322008-08-15 Bean <bean123ch@gmail.com>
33533
33534 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33535 and datehook.mod.
33536 (datetime_mod_SOURCES): New macro.
33537 (datetime_mod_CFLAGS): Likewise.
33538 (datetime_mod_LDFLAGS): Likewise.
33539 (date_mod_SOURCES): Likewise.
33540 (date_mod_CFLAGS): Likewise.
33541 (date_mod_LDFLAGS): Likewise.
33542 (datehook_mod_SOURCES): Likewise.
33543 (datehook_mod_CFLAGS): Likewise.
33544 (datehook_mod_LDFLAGS): Likewise.
33545
33546 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33547 and datehook.mod.
33548 (datetime_mod_SOURCES): New macro.
33549 (datetime_mod_CFLAGS): Likewise.
33550 (datetime_mod_LDFLAGS): Likewise.
33551 (date_mod_SOURCES): Likewise.
33552 (date_mod_CFLAGS): Likewise.
33553 (date_mod_LDFLAGS): Likewise.
33554 (datehook_mod_SOURCES): Likewise.
33555 (datehook_mod_CFLAGS): Likewise.
33556 (datehook_mod_LDFLAGS): Likewise.
33557
33558 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33559 and datehook.mod.
33560 (datetime_mod_SOURCES): New macro.
33561 (datetime_mod_CFLAGS): Likewise.
33562 (datetime_mod_LDFLAGS): Likewise.
33563 (date_mod_SOURCES): Likewise.
33564 (date_mod_CFLAGS): Likewise.
33565 (date_mod_LDFLAGS): Likewise.
33566 (datehook_mod_SOURCES): Likewise.
33567 (datehook_mod_CFLAGS): Likewise.
33568 (datehook_mod_LDFLAGS): Likewise.
33569
33570 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33571 and datehook.mod.
33572 (datetime_mod_SOURCES): New macro.
33573 (datetime_mod_CFLAGS): Likewise.
33574 (datetime_mod_LDFLAGS): Likewise.
33575 (date_mod_SOURCES): Likewise.
33576 (date_mod_CFLAGS): Likewise.
33577 (date_mod_LDFLAGS): Likewise.
33578 (datehook_mod_SOURCES): Likewise.
33579 (datehook_mod_CFLAGS): Likewise.
33580 (datehook_mod_LDFLAGS): Likewise.
33581
33582 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33583 and datehook.mod.
33584 (datetime_mod_SOURCES): New macro.
33585 (datetime_mod_CFLAGS): Likewise.
33586 (datetime_mod_LDFLAGS): Likewise.
33587 (date_mod_SOURCES): Likewise.
33588 (date_mod_CFLAGS): Likewise.
33589 (date_mod_LDFLAGS): Likewise.
33590 (datehook_mod_SOURCES): Likewise.
33591 (datehook_mod_CFLAGS): Likewise.
33592 (datehook_mod_LDFLAGS): Likewise.
33593
33594 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33595
33596 * commands/date.c: New file.
33597
33598 * hook/datehook.c: Likewise.
33599
33600 * include/grub/lib/datetime.h: Likewise.
33601
33602 * include/grub/i386/cmos.h: Likewise.
33603
33604 * lib/datetime.c: Likewise.
33605
33606 * lib/i386/datetime.c: Likewise.
33607
33608 * lib/efi/datetime.c: Likewise.
33609
0e9242da 336102008-08-14 Robert Millan <rmh@aybabtu.com>
33611
33612 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33613 (grub_mkelfimage_SOURCES): New variable.
33614 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33615
33616 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33617 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33618 * conf/powerpc-ieee1275.rmk: Likewise.
33619 * conf/i386-ieee1275.rmk: Likewise.
33620
33621 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33622 * kern/i386/coreboot/init.c: Likewise.
33623
33624 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33625 with `<grub/cpu/kernel.h>'.
33626 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33627 to ...
33628 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33629 * kern/i386/coreboot/startup.S: Likewise.
33630
33631 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33632 (GRUB_MOD_GAP): Remove.
33633 * include/grub/powerpc/kernel.h: New file.
33634 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33635 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33636 * include/grub/i386/kernel.h: New file.
33637 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33638 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33639 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33640
33641 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33642 `grub-mkelfimage'.
33643 Use --directory when invoking grub_mkimage.
33644
33645 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33646 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33647 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33648 and GRUB_KERNEL_CPU_PREFIX.
33649
b86408f8 336502008-08-14 Felix Zielcke <fzielcke@z-51.de>
33651
d5e619ca 33652 * include/grub/err.h (grub_err_printf): New function prototype.
33653 * util/misc.c (grub_err_printf): New function.
33654 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33655 grub_printf.
33656 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33657
7161f0e0 336582008-08-13 Robert Millan <rmh@aybabtu.com>
33659
33660 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33661
a1967522 336622008-08-13 Robert Millan <rmh@aybabtu.com>
33663
33664 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33665 boot entry.
33666
371458b5 336672008-08-12 Robert Millan <rmh@aybabtu.com>
33668
33669 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33670 of the relocation code from here ...
33671 (grub_multiboot): ... to here.
33672 (forward_relocator, backward_relocator): Move from here ...
33673 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33674 (grub_multiboot_backward_relocator): ... to here.
33675 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33676 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33677 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33678 (grub_multiboot_forward_relocator_end)
33679 (grub_multiboot_backward_relocator)
33680 (grub_multiboot_backward_relocator_end): New variables.
33681
05f9452b 336822008-08-12 Bean <bean123ch@gmail.com>
33683
33684 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33685
20024ab0 336862008-08-11 Robert Millan <rmh@aybabtu.com>
33687
33688 * kern/i386/linuxbios/startup.S: Move from here ...
33689 * kern/i386/coreboot/startup.S: ... to here.
33690
33691 * kern/i386/linuxbios/init.c: Move from here ...
33692 * kern/i386/coreboot/init.c: ... to here.
33693
33694 * kern/i386/linuxbios/table.c: Move from here ...
33695 * kern/i386/coreboot/mmap.c: ... to here.
33696
33697 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33698
e352e9cd 336992008-08-11 Robert Millan <rmh@aybabtu.com>
33700
33701 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33702 errors. Leave it to the upper layer to handle them.
33703
2d05bc6a 337042008-08-09 Christian Franke <franke@computer.org>
33705
33706 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33707 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33708 Install `grub.d/10_windows' only on Cygwin.
33709 * configure.ac: Add subst of `target_os'.
33710 Check `target_os' also before setting TARGET_OBJ2ELF.
33711 Add `--enable-grub-pe2elf'.
33712
042bd419 337132008-08-08 Robert Millan <rmh@aybabtu.com>
33714
33715 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33716 (grub_last_time): Change type to grub_uint64_t.
33717 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33718 (grub_disk_close): Likewise.
33719
33720 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33721 (run_menu): Migrate code from to using grub_get_time_ms().
33722
33723 * util/misc.c (grub_get_time_ms): New function.
33724
7f280db5 337252008-08-08 Marco Gerards <marco@gnu.org>
33726
33727 * disk/ata.c (grub_ata_regget): Change return type to
33728 `grub_uint8_t'.
33729 (grub_ata_regget2): Likewise.
33730 (grub_ata_wait_status): New function.
33731 (grub_ata_wait_busy): Removed function, updated all users to use
33732 `grub_ata_wait_status'.
33733 (grub_ata_wait_drq): Likewise.
33734 (grub_ata_cmd): New function.
33735 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33736 error handling.
33737 (grub_ata_pio_write): Add error handling.
33738 (grub_atapi_identify): Likewise.
33739 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33740 handling.
33741 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33742 handling. Actually use the detected registers. Reorder the
33743 detection logic such that it is easier to read.
33744 (grub_ata_pciinit): Do not assign the same ID to each controller.
33745 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33746 handling.
33747 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33748
33749 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33750
1fbc5e66 337512008-08-08 Marco Gerards <marco@gnu.org>
33752
33753 * NEWS: Update.
33754
819ce6c0 337552008-08-07 Bean <bean123ch@gmail.com>
33756
33757 * include/grub/x86_64/pci.h: New file.
33758
5c41d44d 337592008-08-07 Christian Franke <franke@computer.org>
33760
33761 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33762 (TIMER2_GATE): Likewise.
33763 (grub_pit_wait): Add enable/disable of the timer2 gate
33764 bit of port 0x61. This fixes a possible infinite loop.
33765
5ebc275d 337662008-08-07 Bean <bean123ch@gmail.com>
33767
33768 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33769 kern/i386/tsc.c and kern/i386/pit.c.
33770
33771 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33772 x86_64 platform.
33773
33774 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33775 <grub/i386/tsc.h>.
33776
33777 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33778
e383b3d0 337792008-08-07 Bean <bean123ch@gmail.com>
33780
33781 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33782
33783 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33784
33785 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33786 multiple inclusion. Add #include <grub/types.h>.
33787
1cbb58ac 337882008-08-06 Christian Franke <franke@computer.org>
33789
33790 * conf/common.rmk: Build and install `10_windows'.
33791 * util/grub.d/10_windows.in: New script.
33792
337f5a1e 337932008-08-06 Pavel Roskin <proski@gnu.org>
33794
33795 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33796
057bc4ac 337972008-08-06 Robert Millan <rmh@aybabtu.com>
33798
33799 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33800 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33801
2b99f123 338022008-08-06 Bean <bean123ch@gmail.com>
33803
33804 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33805 (grub_pxefs_fs_int): Remove dummy definition.
33806 (grub_pxefs_open): Use data->block_size to store the current block
33807 size setting.
33808 (grub_pxefs_read): Use block size stored in data->block_size. As the
33809 value of grub_pxe_blksize can be changed after the file is opened.
33810
9f0234cb 338112008-08-06 Bean <bean123ch@gmail.com>
33812
33813 * fs/i386/pc/pxe.c (curr_file): new variable.
33814 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33815 require the dummy internal file system anymore.
33816 (grub_pxefs_read): Removed.
33817 (grub_pxefs_close): Likewise.
33818 (grub_pxefs_fs_int): Likewise.
33819 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33820 connection when we switch file.
33821 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33822
a55d42e0 338232008-08-06 Robert Millan <rmh@aybabtu.com>
33824
33825 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33826 `halt.mod'.
33827 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33828 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33829
33830 * kern/i386/halt.c: New file.
33831 * kern/i386/reboot.c: Likewise.
33832 * include/grub/i386/reboot.h: Likewise.
33833 * include/grub/i386/halt.h: Likewise.
33834
33835 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33836 Include `<grub/cpu/halt.h>'.
33837 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33838 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33839
33840 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33841 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33842 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33843 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33844 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33845 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33846 from here ...
33847 * include/grub/i386/at_keyboard.h: ... to here.
33848
24371d26 338492008-08-05 Robert Millan <rmh@aybabtu.com>
33850
33851 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33852 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33853 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33854 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33855 `kern/generic/millisleep.c'.
33856
33857 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33858 instead of grub_get_rtc().
33859 (grub_tsc_init): Initialize `tsc_boot_time'.
33860
33861 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33862 (grub_machine_init): Use grub_tsc_init() rather than
33863 installing an RTC-based handler via grub_install_get_time_ms().
33864
33865 * kern/i386/pit.c: New file.
33866 * include/grub/i386/pit.h: Likewise.
33867
9e7007b3 338682008-08-05 Bean <bean123ch@gmail.com>
33869
33870 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33871
33872 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33873 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33874 (pxe_mod_SOURCES): New macro.
33875 (pxe_mod_CFLAGS): Likewise.
33876 (pxe_mod_LDFLAGS): Likewise.
33877 (pxecmd_mod_SOURCES): Likewise.
33878 (pxecmd_mod_CFLAGS): Likewise.
33879 (pxecmd_mod_LDFLAGS): Likewise.
33880
33881 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33882 (grub_pxe_call): Likewise.
33883
33884 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33885
33886 * commands/i386/pc/pxecmd.c: New file.
33887
9f0234cb 33888 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33889
33890 * include/grub/i386/pc/pxe.h: Likewise.
33891
6977d49f 338922008-08-05 Bean <bean123ch@gmail.com>
33893
33894 * util/console.c (grub_console_cur_color): New variable.
33895 (grub_console_standard_color): Likewise.
33896 (grub_console_normal_color): Likewise.
33897 (grub_console_highlight_color): Likewise.
33898 (color_map): Likewise.
33899 (use_color): Likewise.
33900 (NUM_COLORS): New macro.
33901 (grub_ncurses_setcolorstate): Handle color properly.
33902 (grub_ncurses_setcolor): Don't change color here, just remember the
33903 settings, color will be set in grub_ncurses_setcolorstate.
33904 (grub_ncurses_getcolor): New function.
33905 (grub_ncurses_init): Initialize color pairs.
33906 (grub_ncurses_term): New member grub_ncurses_getcolor.
33907
9c2ff3ee 339082008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33909
9c2ff3ee 33910 High resolution timer support. Implemented for x86 CPUs using TSC.
33911 Extracted generic grub_millisleep() so it's linked in only as needed.
33912 This requires a Pentium compatible CPU; if the RDTSC instruction is
33913 not supported, then it falls back on the generic grub_get_time_ms()
33914 implementation that uses the machine's RTC.
33915
33916 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33917 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33918 `kern/generic/millisleep.c'.
33919
33920 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33921 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33922
33923 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33924 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33925
33926 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33927
33928 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33929 `kern/generic/millisleep.c'.
33930
33931 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33932
33933 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33934
33935 * kern/generic/rtc_get_time_ms.c: New file.
33936
33937 * kern/generic/millisleep.c: New file.
337f5a1e 33938
9c2ff3ee 33939 * kern/misc.c: Don't include
33940 <kern/time.h> anymore.
33941 (grub_millisleep_generic): Removed.
33942
33943 * commands/sleep.c (grub_interruptible_millisleep): Uses
33944 grub_get_time_ms() instead of grub_get_rtc().
33945
33946 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33947 function.
33948 (grub_cpu_is_cpuid_supported): New inline function.
33949 (grub_cpu_is_tsc_supported): New inline function.
33950 (grub_tsc_init): New function prototype.
33951 (grub_tsc_get_time_ms): New function prototype.
33952
33953 * kern/i386/tsc.c (grub_get_time_ms): New file.
33954
33955 * include/grub/time.h: Include <grub/types.h.
33956 (grub_millisleep_generic): Removed.
33957 (grub_get_time_ms): New prototype.
33958 (grub_install_get_time_ms): New prototype.
33959 (grub_rtc_get_time_ms): New prototype.
33960
33961 * kern/time.c (grub_get_time_ms): New function.
33962 (grub_install_get_time_ms): New function.
33963
33964 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33965 <grub/time.h> anymore.
33966 (grub_millisleep): Removed.
33967 (grub_machine_init): Call grub_tsc_init.
33968
33969 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33970 get_time_ms() implementation.
33971
33972 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33973 (ieee1275_get_time_ms): New function.
33974 (grub_machine_init): Install get_time_ms() implementation.
33975
33976 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33977 (grub_machine_init): Call grub_tsc_init().
33978 (grub_millisleep): Removed.
bf06a93f 33979
9c2ff3ee 33980 * kern/ieee1275/init.c (grub_millisleep): Removed.
33981 (grub_machine_init): Install ieee1275_get_time_ms()
33982 implementation.
33983 (ieee1275_get_time_ms): New function.
33984 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33985 real work.
33986
9ec92aaf 339872008-08-05 Marco Gerards <marco@gnu.org>
33988
33989 * disk/ata.c: Include <grub/pci.h>.
33990 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33991 (grub_ata_initialize): Rewritten.
33992 (grub_ata_device_initialize): New function.
33993
8d23f507 339942008-08-04 Pavel Roskin <proski@gnu.org>
33995
33996 * kern/main.c: Include grub/mm.h.
33997
5e15ee3d 339982008-08-04 Robert Millan <rmh@aybabtu.com>
33999
34000 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34001 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34002 corruption problem).
34003
a9053f8f 340042008-08-04 Robert Millan <rmh@aybabtu.com>
34005
34006 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34007 warnings introduced in my last commit.
34008
dd19c7d7 340092008-08-03 Robert Millan <rmh@aybabtu.com>
34010
34011 Make PCI available on all i386 architectures.
34012
34013 * include/grub/i386/pc/pci.h: Move from here ...
34014 * include/grub/i386/pci.h: ... to here.
34015
34016 * include/grub/i386/pc/pci.h: Remove.
34017 * include/grub/i386/efi/pci.h: Remove.
34018 * include/grub/x86_64/efi/pci.h: Remove.
34019
34020 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34021 `<grub/cpu/pci.h>'.
34022
34023 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34024 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34025 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34026
34027 * conf/i386-ieee1275.rmk: Likewise.
34028
e14a6184 340292008-08-03 Robert Millan <rmh@aybabtu.com>
34030
34031 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34032 (grub_console_setcursor): Make it possible to set cursor off.
34033
52768e37 340342008-08-03 Robert Millan <rmh@aybabtu.com>
34035
34036 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34037 of modules instead of assuming which platform provides what.
34038 * util/update-grub.in: Likewise.
34039
2d52f57f 340402008-08-03 Robert Millan <rmh@aybabtu.com>
34041
34042 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34043 instead of `grub_install_dos_part' to determine whether a drive needs
34044 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34045 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34046
2a5cd121 340472008-08-02 Robert Millan <rmh@aybabtu.com>
34048
34049 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34050
93808428 340512008-08-02 Robert Millan <rmh@aybabtu.com>
34052
34053 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34054 of informational grub_dprintf() calls.
34055
3bd0a12a 340562008-08-02 Robert Millan <rmh@aybabtu.com>
34057
34058 * disk/memdisk.c (memdisk_size): Don't initialize.
34059 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34060
34061 * include/grub/i386/pc/kernel.h
34062 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34063 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34064 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34065 (grub_arch_memdisk_size): Remove.
34066
34067 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34068 field (was only used to transfer a constant). Add `type' field to
34069 support multiple module types.
34070 (grub_module_iterate): New function.
34071
34072 * kern/device.c (grub_device_open): Do not hide error messages
34073 when grub_disk_open() fails. Use grub_print_error() instead.
34074
34075 * kern/i386/pc/init.c (grub_arch_modules_addr)
34076 (grub_arch_memdisk_size): Remove functions.
34077 (grub_arch_modules_addr): Return the module address in high memory
34078 (now that it isn't copied anymore).
34079
34080 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34081 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34082 decompression routine (grub_total_module_size already includes that
34083 now). Don't copy modules back to low memory.
34084
34085 * kern/main.c: Include `<grub/mm.h>'.
34086 (grub_load_modules): Split out (and use) ...
34087 (grub_module_iterate): ... this function, which iterates through
34088 module objects and runs a hook.
34089 Comment out grub_mm_init_region() call, as it would cause non-ELF
34090 modules to be overwritten.
34091
34092 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34093 the memdisk image in its own region, make it part of the module list.
34094 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34095 (main): Parse --memdisk|-m option, and pass user-provided path as
34096 parameter to generate_image().
34097 (add_segments): Pass `memdisk_path' down to load_modules().
34098 (load_modules): Embed memdisk image in module section when requested.
34099 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34100 `header.type' instead of `header.offset'.
34101
34102 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34103 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34104 (memdisk_mod_LDFLAGS): New variables.
34105 * conf/i386-coreboot.rmk: Likewise.
34106 * conf/i386-ieee1275.rmk: Likewise.
34107
a927cc73 341082008-08-02 Robert Millan <rmh@aybabtu.com>
34109
34110 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34111 (backward_relocator): New variables. Used to allocate and relocate
34112 the payload, respectively.
34113 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34114 address, install the appropriate relocator code in each bound of
a927cc73 34115 the payload, and set the entry point such that
34116 grub_multiboot_real_boot() will jump to one of them.
34117
34118 * kern/i386/loader.S (grub_multiboot_payload_size)
34119 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34120 (grub_multiboot_payload_entry_offset): New variables.
34121 (grub_multiboot_real_boot): Set cpu context to what the relocator
34122 expects, and jump to the relocator instead of the payload.
34123
34124 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34125 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34126 (grub_multiboot_payload_entry_offset): Export.
34127
b15d8a0c 341282008-08-01 Bean <bean123ch@gmail.com>
34129
34130 * normal/menu_entry.c (editor_getline): Don't return the original
34131 string as result, as it will be released by lexer once it has done
34132 using it.
34133
cdfb3d22 341342008-08-01 Robert Millan <rmh@aybabtu.com>
34135
34136 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34137 within menuentries, not before them.
34138 util/grub.d/10_hurd.in: Likewise.
34139
9175e93d 341402008-08-01 Bean <bean123ch@gmail.com>
34141
34142 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34143 (bufio_mod_SOURCES): New macro.
34144 (bufio_mod_CFLAGS): Likewise.
34145 (bufio_mod_LDFLAGS): Likewise.
34146
34147 * include/grub/bufio.h: New file.
34148
34149 * io/bufio.c: Likewise.
34150
34151 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34152 (grub_video_reader_png): Use grub_buffile_open to open file.
34153
34154 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34155 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34156
34157 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34158 (grub_video_reader_tga): Use grub_buffile_open to open file.
34159
34160 * font/manager.c: Include <grub/bufio.h>.
34161 (add_font): Use grub_buffile_open to open file.
34162
3d8383e7 341632008-07-31 Robert Millan <rmh@aybabtu.com>
34164
34165 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34166 ELF segments, use a macro for arbitrarily accessing any of them instead
34167 of preparing a pointer that allows access to one at a time.
34168 (grub_multiboot_load_elf64): Likewise.
34169
16e641b6 341702008-07-31 Bean <bean123ch@gmail.com>
34171
34172 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34173 GRUB_KERNEL_MACHINE_DATA_END.
34174
59198b72 341752008-07-30 Robert Millan <rmh@aybabtu.com>
34176
34177 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34178 Increase from 0x50 to 0x60.
34179 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34180 use UUIDs to identify the root drive for them. If that's not
34181 possible, abort.
34182 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34183 check, for cross-disk installs.
34184
ae88bca3 341852008-07-30 Robert Millan <rmh@aybabtu.com>
34186
34187 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34188 is non-empty, use it to set the `prefix' environment variable instead
34189 of the usual approach.
34190 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34191 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34192 environment variable instead of dummy make_install_device().
34193
34194 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34195 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34196 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34197
34198 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34199 New variable reference.
34200 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34201 New macro. Defines offset of `grub_prefix' within startup.S (relative
34202 to `start').
34203 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34204 section within startup.S (relative to `start').
34205 * include/grub/i386/coreboot/kernel.h: Likewise.
34206
34207 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34208 Overwrite grub_prefix with its contents, at the beginning of the
34209 first segment.
34210 (main): Understand -p|--prefix.
34211
14f41dd1 342122008-07-30 Robert Millan <rmh@aybabtu.com>
34213
34214 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34215
4ca049a3 342162008-07-30 Robert Millan <rmh@aybabtu.com>
34217
34218 * term/i386/pc/vga_text.c (grub_console_cls): Use
34219 grub_console_gotoxy() to go back to beginning of the screen.
34220 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34221
2921d337 342222008-07-29 Christian Franke <franke@computer.org>
34223
34224 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34225 Add conversion of emulated mount points on Cygwin.
34226
b609876d 342272008-07-29 Christian Franke <franke@computer.org>
34228
34229 * util/update-grub.in: Add a check for admin
34230 group on Cygwin.
34231 Remove old `grub.cfg.new' before creation.
34232 Add `-f' to `mv' to handle the different filesystem
34233 semantics of Windows.
34234
e93e4679 342352008-07-29 Bean <bean123ch@gmail.com>
34236
34237 * normal/main.c (get_line): Fix buffer overflow bug.
34238
41694fd0 342392008-07-28 Robert Millan <rmh@aybabtu.com>
34240
34241 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34242 (struct grub_apple_header): New struct. Describes the layout of
34243 the partmap header.
34244 (apple_partition_map_iterate): Check the header magic as well as the
34245 partition magic (which was already being checked).
34246
cfd0b4e6 342472008-07-28 Pavel Roskin <proski@gnu.org>
34248
34249 * genmk.rb: Add a warning to the beginning of the output that
34250 it's a generated file and should not be edited.
34251
93cce016 342522008-07-28 Robert Millan <rmh@aybabtu.com>
34253
34254 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34255 with the same number are found, just use issue a warning with
34256 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34257
cd1df915 342582008-07-27 Robert Millan <rmh@aybabtu.com>
34259
34260 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34261 information.
34262
b70a8427 342632008-07-27 Bean <bean123ch@gmail.com>
34264
34265 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34266 (grub_fat_find_dir): Ignore case when comparing filename.
34267
8f5e379f 342682008-07-27 Bean <bean123ch@gmail.com>
34269
34270 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34271 smallino, as it's more descriptive, and i8count can be confused with
34272 the other field count.
34273 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34274 inode type.
34275
a85cd5a0 342762008-07-27 Bean <bean123ch@gmail.com>
34277
34278 * commands/crc.c: New file.
34279
34280 * lib/crc.c: Likewise.
34281
34282 * include/grub/lib/crc.h: Likewise.
34283
34284 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34285
34286 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34287 (hexdump): Move this function to ...
34288
34289 * lib/hexdump.c: ... here.
34290
34291 * include/grub/hexdump.h: Renamed to ...
34292
34293 * include/grub/lib/hexdump.h: ... this.
34294
34295 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34296
34297 * util/grub-editenv.c: Likewise.
34298
34299 * include/envblk.h: Renamed to ...
34300
34301 * include/lib/envblk.h: ... this.
34302
34303 * util/envblk.c: Renamed to ...
34304
34305 * lib/envblk.c: ... this.
34306
34307 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34308 lib/hexdump.c.
34309 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34310 (pkglib_MODULES): Add crc.mod.
34311 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34312 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34313 (crc_mod_SOURCES): New macro.
34314 (crc_mod_CFLAGS): Likewise.
34315 (crc_mod_LDFLAGS): Likewise.
34316
34317 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34318
34319 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34320
34321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34322
34323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34324
34325 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34326
c298def0 343272008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34328
34329 * commands/help.c: Include <grub/term.h>.
34330 (TERM_WIDTH): Removed. Updated all users.
34331
cc349fb3 343322008-07-27 Pavel Roskin <proski@gnu.org>
34333
34334 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34335 spurious warnings about a comment within a comment.
34336
9051607e 343372008-07-25 Robert Millan <rmh@aybabtu.com>
34338
34339 * util/getroot.c (find_root_device): Skip devices that match
34340 /dev/dm-[0-9]. This lets the real device be found for any type of
34341 abstraction (LVM, EVMS, RAID..).
34342 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34343 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34344 device is found first, find_root_device() will now skip it.
34345
01453bfc 343462008-07-24 Pavel Roskin <proski@gnu.org>
34347
34348 * include/grub/types.h: Use __builtin_bswap32() and
34349 __builtin_bswap64() with gcc 4.3 and newer.
34350
6af9849f 343512008-07-24 Christian Franke <franke@computer.org>
34352
3a0fa256 34353 * util/i386/pc/grub-install.in: If `--debug' is specified,
34354 pass `--verbose' to grub-setup.
34355 Abort script if make_system_path_relative_to_its_root() fails.
34356
7810e747 343572008-07-24 Bean <bean123ch@gmail.com>
34358
34359 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34360 variable `target_platform' should be `platform'.
34361
42290e17 343622008-07-24 Bean <bean123ch@gmail.com>
34363
51cc5193 34364 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34365 (grub_png_init_fixed_block): New function.
34366 (grub_png_decode_image_data): Handle fixed huffman code compression.
34367
2a8a80e4 343682008-07-24 Bean <bean123ch@gmail.com>
34369
34370 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34371 (grub_pe2elf_SOURCES): New macro.
34372 (CLEANFILES): Add grub-pe2elf.
34373
34374 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34375 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34376 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34377 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34378 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34379 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34380 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34381 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34382 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34383 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34384 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34385 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34386 (GRUB_PE32_DT_FUNCTION): Likewise.
34387 (GRUB_PE32_REL_I386_DIR32): Likewise.
34388 (GRUB_PE32_REL_I386_REL32): Likewise.
34389 (grub_pe32_symbol): New structure.
34390 (grub_pe32_reloc): Likewise.
34391
34392 * util/grub-pe2elf.c: New file.
34393
34394 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34395 start symbol in non pc platform.
34396
34397 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34398
34399 The following patches are from Christian Franke.
34400
34401 * include/grub/dl.h: Remove .previous, gas supports this only
34402 for ELF format.
34403
34404 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34405 Remove .type, gas supports this only for ELF format.
34406
34407 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34408 nullbytes in symbol table. This fixes an infinite loop if table is
34409 zero filled.
34410
34411 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34412 TARGET_IMG_LDFLAGS and EXEEXT.
34413
34414 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34415 TARGET_IMG_LDFLAGS_AC.
34416 (grub_CHECK_STACK_ARG_PROBE): New function.
34417
34418 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34419
34420 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34421
34422 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34423 to set TARGET_IMG_LD* accordingly.
34424 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34425 Add call to grub_CHECK_STACK_ARG_PROBE.
34426 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34427
34428 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34429
34430 * genmk.rb: Add EXEEXT to CLEANFILES.
34431
12ccdb75 344322008-07-23 Robert Millan <rmh@aybabtu.com>
34433
34434 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34435 define the codes for arrows and lines used for the menu).
34436 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34437 as well.
34438
34439 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34440 fonts, because the latter are too slow.
34441
18eeaf04 344422008-07-21 Bean <bean123ch@gmail.com>
34443
34444 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34445 a20. Run keyboard test last, as it will cause macbook to halt.
34446
b095e2ad 344472008-07-18 Pavel Roskin <proski@gnu.org>
34448
34449 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34450 load foreign architecture modules correctly anyway. Keep
34451 support for loading host architecture modules, whether we
34452 compile them or not.
34453
737feb35 344542008-07-17 Pavel Roskin <proski@gnu.org>
34455
3f4ce737 34456 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34457 change target_cpu. The compiler default can mismatch target_cpu
34458 in any case.
34459
4ad2d049 34460 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34461 * kern/efi/efi.c: Likewise.
34462
f6130a12 34463 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34464 target compiler is functional.
34465 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34466 are set up.
34467
58393a2d 34468 * configure.ac: Default to efi platform for x86_64-apple. Allow
34469 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34470 adjustments from the rest, only do them if target is not
34471 explicitly given. Merge other adjustments with the final sanity
34472 check. Remove an extraneous check for supported CPU. Be
34473 specific which CPU and which platform is not supported.
34474
737feb35 34475 * configure.ac: Default to pc platform for x86_64.
34476
546f966a 344772008-07-17 Robert Millan <rmh@aybabtu.com>
34478
34479 Partial LinuxBIOS -> Coreboot rename.
34480
34481 * conf/i386-linuxbios.rmk: Renamed to ...
34482 * conf/i386-coreboot.rmk: ... this.
34483 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34484 * configure.ac: Accept "coreboot" as input platform (but maintain
34485 compatibility with "linuxbios").
34486 * include/grub/i386/linuxbios: Renamed to ...
34487 * include/grub/i386/coreboot: ... this.
34488
20011694 344892008-07-17 Bean <bean123ch@gmail.com>
34490
34491 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34492 (appleldr_mod_SOURCE): New variable.
20011694 34493 (appleldr_mod_CFLAGS): Likewise.
34494 (appleldr_mod_LDFLAGS): Likewise.
34495 (pci_mod_SOURCES): Likewise.
34496 (pci_mod_CFLAGS): Likewise.
34497 (pci_mod_LDFLAGS): Likewise.
34498 (lspci_mod_SOURCES): Likewise.
34499 (lspci_mod_CFLAGS): Likewise.
34500 (lspci_mod_LDFLAGS): Likewise.
34501
34502 * conf/x86_64-efi.rmk: New file.
34503
34504 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34505 macro.
34506 (grub_efidisk_write): Likewise.
34507
34508 * include/efi/api.h (efi_call_0): New macro.
34509 (efi_call_1): Likewise.
34510 (efi_call_2): Likewise.
34511 (efi_call_3): Likewise.
34512 (efi_call_4): Likewise.
34513 (efi_call_5): Likewise.
34514 (efi_call_6): Likewise.
34515
34516 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34517 grub_rescue_cmd_chainloader.
34518
34519 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34520 (grub_pe32_optional_header): Change some fields based on i386 or
34521 x86_64 platform.
34522 (GRUB_PE32_PE32_MAGIC): Likewise.
34523
34524 * include/grub/efi/uga_draw.h: New file.
34525
34526 * include/grub/elf.h (STN_ABS): New constant.
34527 (R_X86_64_NONE): Relocation constant for x86_64.
34528 (R_X86_64_64): Likewise.
34529 (R_X86_64_PC32): Likewise.
34530 (R_X86_64_GOT32): Likewise.
34531 (R_X86_64_PLT32): Likewise.
34532 (R_X86_64_COPY): Likewise.
34533 (R_X86_64_GLOB_DAT): Likewise.
34534 (R_X86_64_JUMP_SLOT): Likewise.
34535 (R_X86_64_RELATIVE): Likewise.
34536 (R_X86_64_GOTPCREL): Likewise.
34537 (R_X86_64_32): Likewise.
34538 (R_X86_64_32S): Likewise.
34539 (R_X86_64_16): Likewise.
34540 (R_X86_64_PC16): Likewise.
34541 (R_X86_64_8): Likewise.
34542 (R_X86_64_PC8): Likewise.
34543
34544 * include/grub/i386/efi/pci.h: New file.
34545
34546 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34547 Change it value based on platform.
34548 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34549 (GRUB_E820_RAM): Likewise.
34550 (GRUB_E820_RESERVED): Likewise.
34551 (GRUB_E820_ACPI): Likewise.
34552 (GRUB_E820_NVS): Likewise.
34553 (GRUB_E820_EXEC_CODE): Likewise.
34554 (GRUB_E820_MAX_ENTRY): Likewise.
34555 (grub_e820_mmap): New structure.
34556 (linux_kernel_header): Change the efi field according to different
34557 kernel version, also field from linux_kernel_header.
34558
34559 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34560
34561 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34562 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34563 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34564 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34565 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34566 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34567 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34568 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34569 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34570 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34571
34572 * include/grub/x86_64/efi/kernel.h: New file.
34573
34574 * include/grub/x86_64/efi/loader.h: Likewise.
34575
34576 * include/grub/x86_64/efi/machine.h: Likewise.
34577
34578 * include/grub/x86_64/efi/pci.h: Likewise.
34579
34580 * include/grub/x86_64/efi/time.h: Likewise.
34581
34582 * include/grub/x86_64/linux.h: Likewise.
34583
34584 * include/grub/x86_64/setjmp.h: Likewise.
34585
34586 * include/grub/x86_64/time.h: Likewise.
34587
34588 * include/grub/x86_64/types.h: Likewise.
34589
34590 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34591 GRUB_TARGET_SIZEOF_VOID_P.
34592
34593 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34594 (grub_efi_locate_handle): Likewise.
34595 (grub_efi_open_protocol): Likewise.
34596 (grub_efi_set_text_mode): Likewise.
34597 (grub_efi_stall): Likewise.
34598 (grub_exit): Likewise.
34599 (grub_reboot): Likewise.
34600 (grub_halt): Likewise.
34601 (grub_efi_exit_boot_services): Likewise.
34602 (grub_get_rtc): Likewise.
34603
34604 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34605 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34606 (grub_efi_allocate_pages): Wrap efi calls.
34607 (grub_efi_free_pages): Wrap efi calls.
34608 (grub_efi_get_memory_map): Wrap efi calls.
34609
34610 * kern/x86_64/dl.c: New file.
34611
34612 * kern/x86_64/efi/callwrap.S: Likewise.
34613
34614 * kern/x86_64/efi/startup.S: Likewise.
34615
34616 * loader/efi/appleloader.c: Likewise.
34617
34618 * loader/efi/chainloader.c (cmdline): New variable.
34619 (grub_chainloader_unload): Wrap efi calls.
34620 (grub_chainloader_boot): Likewise.
34621 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34622 command line.
34623
34624 * loader/efi/chainloader_normal.c (chainloader_command):
34625 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34626 command line.
34627
34628 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34629 method.
34630 (grub_e820_add_region): New function.
34631 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34632 booting.
34633 (grub_find_video_card): New function.
34634 (grub_linux_setup_video): New function.
34635 (grub_rescue_cmd_linux): Probe for video information.
34636
34637 * normal/x86_64/setjmp.S: New file.
34638
34639 * term/efi/console.c (map_char): New function.
34640 (grub_console_putchar): Map unicode char.
34641 (grub_console_checkkey): Wrap efi calls.
34642 (grub_console_getkey): Likewise.
34643 (grub_console_getwh): Likewise.
34644 (grub_console_gotoxy): Likewise.
34645 (grub_console_cls): Likewise.
34646 (grub_console_setcolorstate): Likewise.
34647 (grub_console_setcursor): Likewise.
34648
34649 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34650
59652a20 346512008-07-16 Pavel Roskin <proski@gnu.org>
34652
ef294055 34653 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34654 format strings.
34655
59652a20 34656 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34657 pointer, not an integer. This fixes a warning and prevents
34658 precision loss on 64-bit systems.
34659 (relocate_addresses): Remove unneeded cast.
34660
afc3b5d7 346612008-07-15 Pavel Roskin <proski@gnu.org>
34662
506b2b3e 34663 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34664
62ead89c 34665 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34666
c4cd51d7 34667 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34668 Fix comparison between signed and unsigned.
34669
0d3d8f28 34670 * include/grub/i386/ieee1275/console.h: Declare
34671 grub_console_init() and grub_console_fini().
34672
8804b286 34673 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34674 It's empty and unused.
34675
ee01cf35 34676 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34677 beginning to avoid warnings with some compilers.
34678
afc3b5d7 34679 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34680 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34681
e4e8eaa5 346822008-07-14 Pavel Roskin <proski@gnu.org>
34683
407aceb4 34684 * kern/env.c (grub_register_variable_hook): Don't copy empty
34685 string, it leaks memory. Pass "" to grub_env_set(), it should
34686 handle constant strings.
34687
e4e8eaa5 34688 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34689 * commands/cmp.c (grub_cmd_cmp): Likewise.
34690 * kern/dl.c (grub_dl_flush_cache): Likewise.
34691 (grub_dl_load_core): Likewise.
34692 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34693 (grub_elf64_load_phdrs): Likewise.
34694
d4e2dad3 346952008-07-13 Pavel Roskin <proski@gnu.org>
34696
34697 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34698 between signed and unsigned.
34699 (LzmaEnc_Finish): Fix warning about an unused parameter.
34700
aa24b516 347012008-07-13 Bean <bean123ch@gmail.com>
34702
34703 * Makefile.in (enable_lzo): New rule.
34704
34705 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34706
34707 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34708
34709 * boot/i386/pc/lnxboot.S: #include <config.h>.
34710
34711 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34712 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34713
34714 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34715 compression algorithm according to configure macro.
34716
34717 * kern/i386/pc/startup.S (codestart): Likewise.
34718
34719 * kern/i386/pc/lzma_decode.S: New file.
34720
34721 * include/grub/lib/LzFind.h: Likewise.
34722
34723 * include/grub/lib/LzHash.h: Likewise.
34724
34725 * include/grub/lib/LzmaDec.h: Likewise.
34726
34727 * include/grub/lib/LzmaEnc.h: Likewise.
34728
34729 * include/grub/lib/LzmaTypes.h: Likewise.
34730
34731 * lib/LzFind.c: Likewise.
34732
34733 * lib/LzmaDec.c: Likewise.
34734
34735 * lib/LzmaEnc.c: Likewise.
34736
4ae821ac 347372008-07-13 Bean <bean123ch@gmail.com>
34738
34739 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34740 (grub_ext4_extent_header): New structure.
34741 (grub_ext4_extent): Likewise.
34742 (grub_ext4_extent_idx): Likewise.
34743 (grub_ext4_find_leaf): New function.
34744 (grub_ext2_read_block): Handle extents.
34745
9a745147 347462008-07-12 Robert Millan <rmh@aybabtu.com>
34747
34748 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34749
d49a4cf6 347502008-07-11 Robert Millan <rmh@aybabtu.com>
34751
34752 * util/grub.d/40_custom.in: New file. Example on how to add custom
34753 entries to /etc/grub.d.
34754 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34755 40_custom (implicitly, by merging all the grub.d rules).
34756
947414b4 347572008-07-11 Pavel Roskin <proski@gnu.org>
34758
0059cf6f 34759 * commands/read.c (grub_getline): Fix invalid memory access.
34760 Don't add newline to the variable value.
34761
947414b4 34762 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34763 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34764 (serial_hw_get_port): Check validity of the port number.
34765 (grub_cmd_serial): Check return value of serial_hw_get_port().
34766
62a02d00 347672008-07-07 Pavel Roskin <proski@gnu.org>
34768
34769 * boot/i386/pc/diskboot.S (notification_string): Replace
34770 "Loading kernel" with just "loading". This is shorter, less
34771 confusing and saves a few bytes for possible future changes.
34772
3e5581b0 347732008-07-05 Pavel Roskin <proski@gnu.org>
34774
ea387a48 34775 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34776 size for ATAPI devices, they are undefined. Output sector
34777 number in decimal form.
34778
3e5581b0 34779 * disk/ata.c: Use named constants for status bits.
34780
fdecb8fd 347812008-07-04 Pavel Roskin <proski@gnu.org>
34782
bcd35b90 34783 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34784 grub_addr_t before casting it to the void pointer to fix a
34785 warning. Non-addressable regions are discarded earlier.
34786 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34787 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34788 (check_signature): Don't shadow table_header.
34789 (grub_linuxbios_table_iterate): Cast numeric constants to
34790 grub_linuxbios_table_header_t.
34791 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34792 grub_stop().
34793
af58ab3d 34794 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34795 prevent warnings.
34796
1759aa57 34797 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34798 pointer, which can cause warnings. Support 64-bit addresses.
34799
fdecb8fd 34800 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34801 of sizeof(long). This fixes PowerPC image generation on x86_64.
34802
8516d2a8 348032008-07-04 Robert Millan <rmh@aybabtu.com>
34804
34805 This fixes a performance issue when pc & gpt partmap iterators
34806 didn't abort iteration even after our hook found what it was
fe987087 34807 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34808
34809 Some callers relied on previous buggy behaviour, since they would
34c44600 34810 raise an error when their own hooks caused early abortion of its
8516d2a8 34811 iteration.
34812
34813 * kern/device.c (grub_device_open): Improve error message.
34814 * disk/lvm.c (grub_lvm_open): Likewise.
34815 * disk/raid.c (grub_raid_open): Likewise.
34816
34817 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34818 when hook requests it, independently of grub_errno.
34819 (pc_partition_map_probe): Do not fail when find_func() caused
34820 early abortion of pc_partition_map_iterate().
34821
34822 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34823 when hook requests it, independently of grub_errno.
34824 (gpt_partition_map_probe): Do not fail when find_func() caused
34825 early abortion of gpt_partition_map_iterate().
34826
34827 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34828 when hook requests it, independently of grub_errno. Do not fail when
34829 part_map_iterate_hook() caused early abortion of p->iterate().
34830
34831 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34832 when grub_partition_iterate() returned with non-zero.
34833
277d0de9 348342008-07-03 Pavel Roskin <proski@gnu.org>
34835
34836 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34837 like we do in grub_ata_pio_read().
34838 (grub_ata_readwrite): Always write individual sectors. Fix the
34839 sector count for the remainder.
34840 (grub_ata_write): Enable writing to ATA devices. Correctly
34841 report error for ATAPI devices.
34842
d4c9b428 348432008-07-02 Pavel Roskin <proski@gnu.org>
34844
e43fc690 34845 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34846 warning.
34847
f707af42 34848 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34849 for every read sector, we already increment it for the whole
34850 batch. This fixes reading more than 256 sectors at once.
34851
11e16b15 34852 * util/grub-editenv.c (cmd_info): Cast argument to long
34853 explicitly. ptrdiff_t reduces to int on i386.
34854
cbabfdd4 34855 * util/grub-editenv.c (main): Be specific which parameter is
34856 missing.
34857
b8fbce0a 34858 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34859 (memdisk): Make memdisk_orig_addr a pointer.
34860
c9c8e606 34861 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34862 for file offsets, use grub_off_t instead. Fix printf format
34863 warnings.
34864
ca62e598 34865 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34866 there. Real unexpected warnings should not drown in the noise
34867 about known problems.
34868
ce8d1766 34869 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34870 grub_disk_addr_t for memory addresses.
34871
00c7a56a 34872 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34873 explicitly to fix a warning.
34874
08d3ef09 34875 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34876
cb71ba20 34877 * Makefile.in (MODULE_LDFLAGS): New variable.
34878 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34879 the linker accepts --build-id=none.
34880 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34881 MODULE_LDFLAGS.
34882 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34883
d4c9b428 34884 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34885 those in Linux XFS code. Provide a way to access 64-bit parent
34886 inode.
34887 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34888 the end of struct grub_xfs_dir_header.
34889
d4156eee 348902008-07-02 Bean <bean123ch@gmail.com>
34891
34892 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34893 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34894 and GRUB_IEEE1275_FLAG_NO_ANSI.
34895
34896 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34897 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34898 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34899
34900 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34901 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34902
34903 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34904 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34905
34906 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34907 esc sequence on non ANSI terminal.
34908 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34909
34910 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34911 beginning of file.
34912
2270f77b 349132008-07-02 Bean <bean123ch@gmail.com>
34914
34915 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34916 (grub_editenv_SOURCES): New variable.
34917 (pkglib_MODULES): Add loadenv.mod.
34918 (loadenv_mod_SOURCES): New variable.
34919 (loadenv_mod_CFLAGS): Likewise.
34920 (loadenv_mod_LDFLAGS): Likewise.
34921
34922 * include/grub/envblk.h: New file.
34923
34924 * util/envblk.c: New file.
34925
34926 * util/grub-editenv.c: New file.
34927
34928 * commands/loadenv.c: New file.
34929
0e9e51ec 349302008-07-01 Pavel Roskin <proski@gnu.org>
34931
d89b7634 34932 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34933 not unsigned char. This fixes warnings and is consistent with
34934 other tags.
34935
bf1835b1 34936 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34937
8222a04b 34938 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34939
6a42d99d 34940 * term/tparm.c (analyze): Always set *popcount.
34941
10b159d1 34942 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34943 cast to fix a warning.
34944
b8789f6c 34945 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34946 cast to suppress a warning.
34947
29d7e38a 34948 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34949 grub_fshelp_read_file() expects.
34950
f341f669 34951 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34952 write uuid as a 32-bit value in CPU byte order, so declare and
34953 use it as such.
34954
0e9e51ec 34955 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34956 long if the format specifier expects it.
34957 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34958 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34959 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34960 long to fix a warning.
34961 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34962 grub_dprintf() arguments to fix warnings.
34963
3aefa857 349642008-06-30 Pavel Roskin <proski@gnu.org>
34965
56c7668b 34966 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34967 install_bsd_part immediately before core.img is embedded or
34968 modified on disk. This fixes core.img verification if core.img
34969 cannot be embedded.
34970
3aefa857 34971 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34972 core_path to calculate the blocklist.
34973 Patch from Javier Martín <lordhabbit@gmail.com>
34974
5444088d 349752008-06-29 Robert Millan <rmh@aybabtu.com>
34976
34977 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34978 block to disk block.
34979 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34980 Patch from Niels Böhm <bitbucket@arcor.de>
34981
674835c8 349822008-06-29 Robert Millan <rmh@aybabtu.com>
34983
34984 * util/update-grub_lib.in (font_path): Search for fonts in
34985 /boot/grub first, which is more likely to be readable (we aren't
34986 deciding where fonts live, just looking for them).
34987
f527dbc8 349882008-06-26 Pavel Roskin <proski@gnu.org>
34989
6c2d8df6 34990 * util/biosdisk.c (read_device_map): Don't leave dead map
34991 entries for devices failing stat() check.
34992
f527dbc8 34993 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34994 core_path_dev for the core.img path on the target device.
34995
aebe3d13 349962008-06-26 Robert Millan <rmh@aybabtu.com>
34997
34998 * disk/fs_uuid.c: New file.
34999 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35000 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35001 (fs_uuid_mod_LDFLAGS): New variables.
35002 * include/grub/disk.h (grub_disk_dev_id): Add
35003 `GRUB_DISK_DEVICE_UUID_ID'.
35004 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35005 implement iterate().
35006
37aaf354 350072008-06-26 Robert Millan <rmh@aybabtu.com>
35008
35009 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35010 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35011 Linux image includes no initrd.
35012
25ff262a 350132008-06-21 Javier Martín <lordhabbit@gmail.com>
35014
35015 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35016 call to resolve the core image location that effectively appended the
35017 name twice.
35018
76a2bd44 350192008-06-21 Robert Millan <rmh@aybabtu.com>
35020
35021 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35022 call from here ...
35023
35024 * util/grub.d/10_hurd.in: ... to here ...
35025 * util/grub.d/10_linux.in: ... and here.
35026
650e1c79 350272008-06-19 Robert Millan <rmh@aybabtu.com>
35028
fe987087 35029 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35030 after it has been set by grub_machine_set_prefix().
35031
6ce63911 350322008-06-19 Robert Millan <rmh@aybabtu.com>
35033
35034 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35035 search result when not saving to variable, not the other way around.
35036 When saving to variable, abort iteration as soon as a match is found.
35037
73940cec 350382008-06-19 Robert Millan <rmh@aybabtu.com>
35039
35040 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35041 check for partition that provides /boot/grub. Its logic is flawed,
35042 as it prevents prepare_grub_to_access_device() from being called
35043 multiple times.
35044
3c62a39d 350452008-06-19 Robert Millan <rmh@aybabtu.com>
35046
35047 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35048 "insmod" command directly when abstraction modules are needed,
fe987087 35049 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35050 since it had already been processed).
35051
47395a42 350522008-06-19 Pavel Roskin <proski@gnu.org>
35053
35054 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35055 changed. This is needed in case GRUB_LIBDIR changes.
35056 * conf/i386-ieee1275.rmk: Likewise.
35057 * conf/i386-linuxbios.rmk: Likewise.
35058 * conf/i386-pc.rmk: Likewise.
35059 * conf/powerpc-ieee1275.rmk: Likewise.
35060
a145ac2d 350612008-06-18 Pavel Roskin <proski@gnu.org>
35062
35063 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35064 kernel_elf_symlist.c to symlist.c for consistency with other
35065 architectures. Update all users.
35066 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35067
7847c51e 350682008-06-18 Robert Millan <rmh@aybabtu.com>
35069
35070 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35071 it in prefix.
35072
35073 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35074 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35075 a RAID device, run setup() for all members independently on whether
35076 LVM abstraction is being used.
35077 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35078 If grub-mkimage has set `*install_dos_part == -2', don't override this
35079 value.
35080 Perform *install_dos_part adjustments independently on whether
35081 we're embedding or not.
35082 Clarify error message when image is too big for embedding.
35083 Remove duplicate *install_dos_part stanza.
35084
b23e5644 350852008-06-17 Robert Millan <rmh@aybabtu.com>
35086
35087 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35088 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35089 variables.
35090 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35091 values in grub_ofconsole_normal_color and
35092 grub_ofconsole_highlight_color (they're not directly related to
35093 background and foreground).
35094 (grub_ofconsole_setcolorstate): Extract background and foreground
35095 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35096
0aac2f79 350972008-06-17 Robert Millan <rmh@aybabtu.com>
35098
35099 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35100 /boot/grub for the check in last commit, not /boot (they could be
35101 different partitions).
35102
3cca7ef3 351032008-06-16 Robert Millan <rmh@aybabtu.com>
35104
35105 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35106 asked to setup access for the same partition that provides /boot,
35107 don't bother using UUIDs since our root already has the value we
35108 want.
35109
347396d8 351102008-06-16 Robert Millan <rmh@aybabtu.com>
35111
35112 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35113 I2O devices.
35114 Patch from Sven Mueller <sven@debian.org>.
35115
991477f8 351162008-06-16 Robert Millan <rmh@aybabtu.com>
35117
35118 * util/update-grub.in: Check for $EUID instead of $UID.
35119 Reported by Vincent Zweije.
35120
d31a32a1 351212008-06-16 Bean <bean123ch@gmail.com>
35122
fe987087 35123 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35124 (grub_ext2_read_block): Likewise.
35125 (grub_ext2_read_inode): Likewise.
35126 (grub_ext2_mount): Likewise.
35127 (grub_ext2_close): Likewise.
35128 (grub_ext3_get_journal): Removed.
35129
fe987087 35130 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35131 (grub_reiserfs_read_symlink): Likewise.
35132 (grub_reiserfs_mount): Likewise.
35133 (grub_reiserfs_open): Likewise.
35134 (grub_reiserfs_read): Likewise.
35135 (grub_reiserfs_close): Likewise.
35136 (grub_reiserfs_get_journal): Removed.
35137
35138 * fs/fshelp.c (grub_fshelp_read): Removed.
35139 (grub_fshelp_map_block): Likewise.
35140
35141 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35142 (grub_fshelp_journal): Likewise.
35143 (grub_fshelp_read): Likewise.
35144 (grub_fshelp_map_block): Likewise.
35145
3540a760 351462008-06-16 Pavel Roskin <proski@gnu.org>
35147
35148 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35149 floating point anymore.
35150 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35151
95614c84 351522008-06-15 Pavel Roskin <proski@gnu.org>
35153
35154 * commands/ls.c (grub_ls_list_files): Use integer calculations
35155 for human readable format, avoid floating point use.
35156 * kern/misc.c (grub_ftoa): Remove.
35157 (grub_vsprintf): Remove floating point support.
35158
50465dd6 351592008-06-15 Robert Millan <rmh@aybabtu.com>
35160
fe6b695a 35161 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35162 devices.
35163 Reported by Max Vozeler.
35164
a9207284 351652008-06-15 Robert Millan <rmh@aybabtu.com>
35166
35167 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35168 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35169 skipped later.
35170 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35171 the beginning of the prefix.
35172
35173 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35174 It is assumed that if we have a memdisk, grub-mkimage has set
35175 grub_prefix to include the "(memdisk)" drive in it.
35176
a7cbd45a 351772008-06-15 Robert Millan <rmh@aybabtu.com>
35178
35179 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35180 Initialize keyboard controller after registering the terminal, so that
35181 grub_printf() can be called from grub_keyboard_controller_init().
35182
21cf716a 351832008-06-15 Robert Millan <rmh@aybabtu.com>
35184
35185 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35186 extent-btree which is written as big endian on disk.
35187 Reported by Alain Greppin <al@chilibi.org>.
35188
23a64d8e 351892008-06-14 Robert Millan <rmh@aybabtu.com>
35190
35191 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35192 * util/i386/pc/grub-install.in (modules): Likewise.
35193
d687651c 351942008-06-13 Pavel Roskin <proski@gnu.org>
35195
35196 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35197
dfe9ddd4 351982008-06-13 Bean <bean123ch@gmail.com>
35199
35200 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35201
35202 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35203
35204 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35205 to indicate sparse block.
35206
16ae7781 352072008-06-12 Pavel Roskin <proski@gnu.org>
35208
e6d1a308 35209 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35210 number, grub_fshelp_read() does it for us.
35211
16ae7781 35212 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35213 linear disk read with journal translation.
35214 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35215 * include/grub/fshelp.h: Declare grub_fshelp_read().
35216
40fd3a2b 352172008-06-09 Pavel Roskin <proski@gnu.org>
35218
35219 * fs/minix.c (grub_minix_mount): Handle error reading
35220 superblock.
35221
f5679726 352222008-06-08 Robert Millan <rmh@aybabtu.com>
35223
35224 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35225 don't append the RAID prefix afterwards.
35226 Reported by Clint Adams.
35227
ce525529 352282008-06-08 Robert Millan <rmh@aybabtu.com>
35229
35230 Based on description from Pavel:
35231 * kern/disk.c (grub_disk_check_range): Rename to ...
35232 (grub_disk_adjust_range): ... this. Add a comment explaining the
35233 tasks performed by this function.
35234
ad4936a0 352352008-06-08 Robert Millan <rmh@aybabtu.com>
35236
35237 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35238 `num_serial' (for consistency with other variables).
35239 (struct grub_ntfs_data): Add `uuid' member.
35240 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35241 (grub_ntfs_uuid): New function.
35242 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35243
dc20b0f9 352442008-06-07 Pavel Roskin <proski@gnu.org>
35245
35246 * util/biosdisk.c (open_device): Revert last change to the
35247 function, it broke installation. The sector needs to be
35248 different dependent on which device is opened.
35249
c5e3cfba 352502008-06-06 Robert Millan <rmh@aybabtu.com>
35251
35252 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35253 rest of GRUB, and breakage doesn't happen if its value were modified.
35254
35255 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35256 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35257 a constant (same value).
35258 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35259 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35260
26a1f8c4 352612008-06-06 Robert Millan <rmh@aybabtu.com>
35262
35263 * util/biosdisk.c (open_device): Do not modify sector offset when
35264 accessing a partition. kern/disk.c already handles this for us.
35265
25d6b327 352662008-06-06 Robert Millan <rmh@aybabtu.com>
35267
35268 * util/grub-emu.c (grub_machine_init): Move code in this function from
35269 here ...
35270 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35271 segfault in case grub_printf() is called).
35272
35273 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35274 grub_probe. Update all users not to explicitly add it again.
35275 (grub_device): New variable; contains corresponding device for grubdir.
35276 (fs_module, partmap_module, devabstraction_module): Pass
35277 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35278 every time.
35279
9ece62fb 352802008-06-05 Robert Millan <rmh@aybabtu.com>
35281
35282 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35283 is found, print it (same layout as with labels).
35284
1ad36d37 352852008-06-04 Robert Millan <rmh@aybabtu.com>
35286
35287 * util/biosdisk.c (get_drive): Rename to ...
35288 (find_grub_drive): ... this. Update all users.
35289
35290 (get_os_disk): Rename to ...
35291 (convert_system_partition_to_system_disk): ... this. Update all users.
35292
35293 (find_drive): Rename to ...
35294 (find_system_device): ... this. Update all users.
35295
e6a30859 352962008-06-04 Robert Millan <rmh@aybabtu.com>
35297
35298 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35299 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35300 (make_device_map): Likewise.
35301
00c108a4 353022008-06-01 Robert Millan <rmh@aybabtu.com>
35303
35304 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35305 before dereferencing it.
35306
35307 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35308 union with fat12/fat16-specific ones. Add some new fields, including
35309 `num_serial' for both versions.
35310 (struct grub_fat_data): Add `uuid' member.
35311 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35312 names. Initialize `data->uuid' using `num_serial'.
35313 (grub_fat_uuid): New function.
35314 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35315
35316 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35317 (grub_reiserfs_uuid): New function.
35318 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35319 member.
35320
35321 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35322 (grub_xfs_uuid): New function.
35323 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35324
1385c5bb 353252008-06-01 Robert Millan <rmh@aybabtu.com>
35326
35327 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35328 code that is backward compatible with pre-uuid search command.
35329
c682dfd7 353302008-05-31 Robert Millan <rmh@aybabtu.com>
35331
35332 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35333 floppies after everything else, to ensure floppy drive isn't accessed
35334 unnecessarily (patch from Bean).
35335
b7db5d47 353362008-05-31 Robert Millan <rmh@aybabtu.com>
35337
35338 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35339 not print device names when we were asked to set a variable.
35340
6e037aa9 353412008-05-31 Robert Millan <rmh@aybabtu.com>
35342
35343 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35344 using "cursor-on" and "cursor-off" commands (understood at least by
35345 the Open Firmware flavour on OLPC).
35346
41305bc8 353472008-05-31 Michael Gorven <michael@gorven.za.net>
35348
35349 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35350 on and off sequences.
35351
69ba137e 353522008-05-31 Robert Millan <rmh@aybabtu.com>
35353
35354 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35355 * util/update-grub.in: Likewise.
35356
520ae21b 353572008-05-30 Pavel Roskin <proski@gnu.org>
35358
35359 * util/biosdisk.c (linux_find_partition): Simplify logic and
35360 make the code more universal. Keep special processing for
35361 devfs, but use a simple rule for all other devices. If the
35362 device ends with a number, append 'p' and the partition number.
35363 Otherwise, append only the partition number.
35364
5786569b 353652008-05-30 Robert Millan <rmh@aybabtu.com>
35366
35367 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35368 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35369 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35370 the `root' parameter to Linux.
35371
51500452 353722008-05-30 Robert Millan <rmh@aybabtu.com>
35373
35374 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35375 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35376 --fs_uuid with --fs-uuid.
35377 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35378 all filesystems support them).
35379
811d3878 353802008-05-30 Robert Millan <rmh@aybabtu.com>
35381
35382 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35383 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35384
cab63c95 353852008-05-30 Robert Millan <rmh@aybabtu.com>
35386
35387 * util/grub.d/00_header.in: Remove obsolete comment referencing
35388 convert_system_path_to_grub_path().
35389 * util/update-grub.in: Likewise.
35390 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35391 (convert_system_path_to_grub_path): Add a warning message explaining
35392 that this function is deprecated. Rely on is_path_readable_by_grub()
35393 for the readability checks.
35394 (font_path): Use is_path_readable_by_grub() for the readability
35395 check rather than convert_system_path_to_grub_path().
35396
972e2f7a 353972008-05-30 Robert Millan <rmh@aybabtu.com>
35398
35399 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35400 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35401 converting it first.
35402 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35403 grub.cfg for access to font file, and afterwards call it again to set
35404 the root device.
35405
62191274 354062008-05-30 Robert Millan <rmh@aybabtu.com>
35407
35408 * commands/search.c (options): Add --fs_uuid option.
35409 (search_fs_uuid): New function.
35410 (grub_cmd_search): Fix --set argument passing.
35411 Use search_fs_uuid() when requested via --fs_uuid.
35412 (grub_search_init): Update help message.
35413 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35414 and redeclare it as an array of 16-bit words.
35415 (grub_ext2_uuid): New function.
35416 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35417 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35418 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35419 (GRUB_DEVICE_BOOT_UUID): New variables.
35420 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35421 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35422 whenever possible.
35423 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35424 just assume `root' variable has the right value.
35425 * util/grub.d/10_linux.in: Likewise.
35426 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35427 via PRINT_FS_UUID.
35428 (main): Recognise `-t fs_uuid' argument.
35429
01b73ec8 354302008-05-30 Robert Millan <rmh@aybabtu.com>
35431
35432 * util/biosdisk.c (map): Redefine structure to hold information
35433 about GRUB drive name.
fe6b695a 35434 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35435 drive names.
35436 (call_hook): Remove.
35437 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35438 member. Assume drive has partitions.
35439 (grub_util_biosdisk_open): Access device names via `.device' struct
35440 member.
35441 (open_device): Likewise.
35442 (find_drive): Likewise.
35443 (read_device_map): Adjust map[] usage to match the new struct
35444 definition. Don't check for duplicates (still possible, but not cheap
35445 anymore).
35446 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35447 (make_device_name): Remove assumption of BIOS-like drive names.
35448
22f16596 354492008-05-30 Pavel Roskin <proski@gnu.org>
35450
35451 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35452 compiling execute.c doesn't need grub_script.tab.h anymore.
35453 (normal/command.c_DEPENDENCIES): Likewise.
35454 (normal/function.c_DEPENDENCIES): Likewise.
35455 * conf/i386-ieee1275.rmk: Likewise.
35456 * conf/i386-linuxbios.rmk: Likewise.
35457 * conf/i386-pc.rmk: Likewise.
35458 * conf/powerpc-ieee1275.rmk: Likewise.
35459 * conf/sparc64-ieee1275.rmk: Likewise.
35460
528ad8f2 354612008-05-29 Pavel Roskin <proski@gnu.org>
35462
d1dff95d 35463 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35464 when scanning metadata for volume group name.
35465
528ad8f2 35466 * include/grub/script.h: Don't include grub_script.tab.h. It's
35467 a generated file, which may only be included from the files with
35468 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35469 use union YYSTYPE, as the later allows forward declaration.
35470 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35471
47248e08 354722008-05-29 Robert Millan <rmh@aybabtu.com>
35473
35474 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35475 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35476 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35477 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35478 scan codes.
35479
ee632529 354802008-05-29 Robert Millan <rmh@aybabtu.com>
35481
35482 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35483 control key combinations.
35484
eee96e08 354852008-05-29 Robert Millan <rmh@aybabtu.com>
35486
35487 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35488 * util/ieee1275/grub-install.in: ... to here.
35489 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35490 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35491 (grub_install_SOURCES): Likewise.
35492
da9a6a94 354932008-05-29 Robert Millan <rmh@aybabtu.com>
35494
35495 * fs/affs.c: Update copyright year.
35496 * fs/ext2.c: Likewise.
35497 * fs/fshelp.c: Likewise.
35498 * fs/hfsplus.c: Likewise.
35499 * fs/ntfs.c: Likewise.
35500 * fs/xfs.c: Likewise.
35501 * include/grub/fshelp.h: Likewise.
35502 * util/grub-mkdevicemap.c: Likewise.
35503
12e65f3a 355042008-05-28 Robert Millan <rmh@aybabtu.com>
35505
35506 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35507 might need to be fatfs to support some firmware implementations
35508 (e.g. OFW or EFI).
35509
23023641 355102008-05-28 Robert Millan <rmh@aybabtu.com>
35511
35512 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35513 devices.
35514 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35515 (make_device_map): Likewise.
35516
887d2619 355172008-05-20 Bean <bean123ch@gmail.com>
35518
35519 * fs/fshelp.c (grub_fshelp_map_block): New function.
35520 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35521 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35522
35523 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35524 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35525 (grub_fshelp_journal): New structure.
35526 (grub_fshelp_map_block): New function prototype.
35527 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35528 (grub_fshelp_map_block): Likewise.
35529
35530 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35531 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35532 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35533 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35534 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35535 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35536 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35537 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35538 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35539 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35540 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35541 (grub_ext2_sblock): New members for journal support.
35542 (grub_ext3_journal_header): New structure.
35543 (grub_ext3_journal_revoke_header): Likewise.
35544 (grub_ext3_journal_block_tag): Likewise.
35545 (grub_ext3_journal_sblock): Likewise.
35546 (grub_fshelp_node): New members logfile and journal.
35547 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35548 grub_fshelp_map_block to get real block number.
35549 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35550 number.
35551 (grub_ext2_read_inode): Likewise.
35552 (grub_ext3_get_journal): New function.
35553 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35554 (grub_ext2_close): Release memory used by journal.
35555
35556 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35557 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35558 (grub_reiserfs_transaction_header): Renamed to
35559 grub_reiserfs_description_block, replace field data with real_blocks.
35560 (grub_reiserfs_commit_block): New structure.
35561 (grub_reiserfs_data): New member journal.
35562 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35563 number.
35564 (grub_reiserfs_read_symlink): Likewise.
35565 (grub_reiserfs_iterate_dir): Likewise.
35566 (grub_reiserfs_open): Likewise.
35567 (grub_reiserfs_read): Likewise.
35568 (grub_reiserfs_get_journal): New function.
35569 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35570 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35571 using grub_reiserfs_get_journal.
35572 (grub_reiserfs_close): Release memory used by journal.
35573
35574 * fs/affs.c (grub_affs_read_block): Change block type to
35575 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35576
35577 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35578
35579 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35580
35581 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35582
35583 * fs/udf.c (grub_udf_read_block): Change block type to
35584 grub_disk_addr_t. Use type cast to avoid warning.
35585
35586 * fs/xfs.c (grub_xfs_read_block): Likewise.
35587
b7c6bed5 355882008-05-16 Christian Franke <franke@computer.org>
35589
35590 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35591 to ensure that break with ESC will always work.
35592 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35593 Remove ESC from keyboard queue.
35594
eedf167f 355952008-05-16 Christian Franke <franke@computer.org>
35596
35597 * util/biosdisk.c: [__CYGWIN__] Add includes.
35598 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35599 (get_os_disk): Move variable declarations to OS specific
35600 parts to avoid warning.
35601 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35602 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35603 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35604 Cygwin.
35605 * util/getroot.c: [__CYGWIN__] Add includes.
35606 (strip_extra_slashes): Fix "/" case.
35607 [__CYGWIN__] (get_win32_path): New function.
35608 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35609 [__CYGWIN__] (find_root_device): Disable.
35610 [__CYGWIN__] (get_bootsec_serial): New function.
35611 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35612 [__linux__] (grub_guess_root_device): Add early returns to simplify
35613 structure.
35614 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35615 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35616 check for Linux only.
35617
a079699e 356182008-05-15 Bean <bean123ch@gmail.com>
35619
35620 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35621 keyboard hang problem in apple's intel mac.
35622
1cf4059a 356232008-05-09 Robert Millan <rmh@aybabtu.com>
35624
35625 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35626 devices.
35627 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35628 (make_device_map): Likewise.
35629 Reported by Aurelien Jarno <aurel32@debian.org>
35630
ed759390 356312008-05-07 Ian Campbell <ijc@hellion.org.uk>
35632
35633 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35634 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35635 (make_device_map): Output entries for xvd type disks.
35636
b56c4eaa 356372008-05-07 Robert Millan <rmh@aybabtu.com>
35638
35639 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35640 devices.
35641 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35642 (make_device_map): Likewise.
35643 Reported by Roland Dreier <rdreier@cisco.com>
35644
7f8866ed 356452008-05-07 Robert Millan <rmh@aybabtu.com>
35646
35647 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35648 grub_strstr() call. Correct a few mistakes in failure path handling.
35649
b0346e0f 356502008-05-06 Robert Millan <rmh@aybabtu.com>
35651
35652 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35653 Do not print a trailing slash (therefore, the root directory is an
35654 empty string).
35655 (convert_system_path_to_grub_path): Do not remove trailing slash
35656 from make_system_path_relative_to_its_root() output.
35657
35658 * util/i386/pc/grub-install.in: Add trailing slash to output from
35659 make_system_path_relative_to_its_root().
35660
6cf12cbd 356612008-05-06 Robert Millan <rmh@aybabtu.com>
35662
35663 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35664 ensures that output lines aren't intermangled with those sent to
35665 stderr (via grub_util_info()).
35666 * util/grub-probe.c (grub_refresh): Likewise.
35667 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35668
0fbb3117 356692008-05-05 Christian Franke <franke@computer.org>
35670
35671 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35672 Add Cygwin device names.
35673 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35674 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35675 (check_device): Return error instead of success on empty name.
35676 (make_device_map): Move label inside linux specific code to
35677 prevent compiler warning.
35678
8124cdb7 356792008-04-30 Robert Millan <rmh@aybabtu.com>
35680
35681 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35682 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35683 first boot option.
35684 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35685
094c01d0 356862008-04-29 Robert Millan <rmh@aybabtu.com>
35687
35688 * docs/grub.cfg: New file (example GRUB configuration).
35689
f4b1fc02 356902008-04-26 Robert Millan <rmh@aybabtu.com>
35691
329ce2a5 35692 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35693 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35694 and `disk/ieee1275/nand.c'.
f4b1fc02 35695
25f16ec1 356962008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35697
25f16ec1 35698 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35699 i386-linuxbios.
35700
35701 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35702 change the buffer size to 4096 for cdrom device.
35703
35704 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35705 and nand.mod.
35706 (_linux_mod_SOURCES): New variable.
35707 (_linux_mod_CFLAGS): Likewise.
35708 (_linux_mod_LDFLAGS): Likewise.
35709 (linux_mod_SOURCES): Likewise.
35710 (linux_mod_CFLAGS): Likewise.
35711 (linux_mod_LDFLAGS): Likewise.
35712 (nand_mod_SOURCES): Likewise.
35713 (nand_mod_CFLAGS): Likewise.
35714 (nand_mod_LDFLAGS): Likewise.
35715
35716 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35717 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35718 type property. (nand device in olpc don't have this property)
35719
35720 * include/grub/disk.h (grub_disk_dev_id): New macro
35721 GRUB_DISK_DEVICE_NAND_ID.
35722
35723 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35724 function prototype.
35725 (grub_rescue_cmd_initrd): Likewise.
35726
35727 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35728 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35729 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35730
25f16ec1 35731 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35732 GRUB_MACHINE_IEEE1275 is defined.
35733
35734 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35735 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35736
35737 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35738 on nested function heap_init.
35739 (grub_upper_mem): New variable for i386-ieee1275.
35740 (grub_get_extended_memory): New function for i386-ieee1275.
35741 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35742
35743 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35744 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35745 property.
f19dbdb7 35746
25f16ec1 35747 * loader/i386/ieee1275/linux.c: New file.
35748
35749 * loader/i386/ieee1275/linux_normal.c: New file.
35750
35751 * disk/ieee1275/nand.c: New file.
35752
e89d61e9 357532008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35754
35755 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35756 value.
35757 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35758
602566f6 357592008-04-18 Robert Millan <rmh@aybabtu.com>
35760
35761 Restructures early code path on ieee1275 to unify grub_main() as
35762 the first C function that is executed in every platform.
35763
35764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35765 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35766 cmain().
35767 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35768 * kern/ieee1275/cmain.c (cmain): Rename to ...
35769 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35770 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35771 at the beginning.
35772
57490c2b 357732008-04-18 Robert Millan <rmh@aybabtu.com>
35774
35775 * util/update-grub.in: Fix syntax error when setting
35776 `GRUB_PRELOAD_MODULES'.
35777 Reported by Stephane Chazelas <stephane@artesyncp.com>
35778
1977517d 357792008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35780
35781 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35782 section into account, newer toolchains generate unique build ids
35783 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35784 we want build ids to be preserved
1977517d 35785 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35786 far from other sections don't cause the raw binary images grow
35787 size
35788
bfb1f1a2 357892008-04-15 Robert Millan <rmh@aybabtu.com>
35790
35791 * disk/lvm.c: Update copyright year.
35792 * kern/misc.c: Likewise.
35793
01979850 357942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35795
35796 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35797 there is no memory left for physical volume name.
01979850 35798
0a1150e2 357992008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35800
35801 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35802 volume name mapping to support bigger than 9 character names properly.
35803
82ead3fe 358042008-04-13 Robert Millan <rmh@aybabtu.com>
35805
35806 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35807 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35808
e54a72f5 358092008-04-13 Christian Franke <franke@computer.org>
35810
35811 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35812 to create a floppy emulation boot CD when non emulation mode
35813 does not work.
35814 Enable Joliet CD filesystem extension.
35815
9fe86034 358162008-04-13 Robert Millan <rmh@aybabtu.com>
35817
35818 * kern/misc.c (grub_strncat): Fix off-by-one error.
35819 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35820
35821 * kern/env.c (grub_env_context_close): Clear current context, not
35822 previous one.
35823 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35824
35825 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35826
7ceeee39 358272008-04-13 Robert Millan <rmh@aybabtu.com>
35828
35829 Improve robustness when handling LVM.
35830
35831 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35832 (and leave `*p' unmodified).
7ceeee39 35833 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35834 through it.
35835 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35836 iterating through it.
35837 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35838 through it.
fe6b695a 35839 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35840 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35841 Don't assume `vg->pvs != NULL' when iterating through it.
35842
58cd3d85 358432008-04-13 Robert Millan <rmh@aybabtu.com>
35844
35845 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35846 * genmk.rb (partmap): New variable.
35847 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35848 (#{partmap}): New target rule.
35849 * genpartmaplist.sh: New file.
35850 * Makefile.in (pkglib_DATA): Add partmap.lst.
35851 (partmap.lst): New target rule.
35852 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35853 modules (including all partition maps), instead of preloading them.
35854
78b51059 358552007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35856
35857 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35858 `linux-boot-prober' (if installed) to detect other operating
35859 systems which are installed on the computer and add them to
35860 the boot menu.
35861 * conf/common.rmk: Build and install 30_os-prober.
35862
a91627b4 358632008-04-12 Robert Millan <rmh@aybabtu.com>
35864
35865 * kern/powerpc/ieee1275/init.c: Move from here ...
35866 * kern/ieee1275/init.c: ... to here. Update all users.
35867
35868 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35869 * kern/ieee1275/cmain.c: ... to here. Update all users.
35870
35871 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35872 * kern/ieee1275/openfw.c: ... to here. Update all users.
35873
35874 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35875 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35876
322562ea 358772008-04-10 Pavel Roskin <proski@gnu.org>
35878
35879 * configure.ac: Always use "_cv_" in cache variables for
35880 compatibility with Autoconf 2.62.
35881
a02a73c5 358822008-04-07 Robert Millan <rmh@aybabtu.com>
35883
35884 Revert grub/machine/init.h addition by Pavel (since it breaks on
35885 i386-ieee1275 and others):
35886 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35887 * util/powerpc/ieee1275/misc.c: Likewise.
35888
25c024b1 358892008-04-07 Robert Millan <rmh@aybabtu.com>
35890
35891 * util/grub-probe.c (probe): Improve error message.
35892
3cbd2f98 358932008-04-07 Robert Millan <rmh@aybabtu.com>
35894
35895 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35896 (this prevents the presence of a bogus entry from ruining the whole
35897 thing).
35898
87a297bf 358992008-04-06 Pavel Roskin <proski@gnu.org>
35900
36747a62 35901 * util/biosdisk.c: Include grub/util/biosdisk.h.
35902 * util/grub-fstest.c (execute_command): Make static.
35903 * util/grub-mkdevicemap.c (check_device): Likewise.
35904 * util/i386/pc/misc.c: Include grub/machine/init.h.
35905 * util/powerpc/ieee1275/misc.c: Likewise.
35906 * util/lvm.c: Include grub/util/lvm.h.
35907 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35908 grub/cache.h.
35909 * util/raid.c: Include grub/util/raid.h.
35910 (grub_util_getdiskname): Make static.
35911
87a297bf 35912 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35913 grub_hostfs_fini(), as they are called from grub_init_all() and
35914 grub_fini_all() respectively. This fixes an infinite loop in
35915 grub-fstest due to double registration of hostfs.
35916 Reported by Christian Franke <Christian.Franke@t-online.de>
35917
f6ce7629 359182008-04-05 Pavel Roskin <proski@gnu.org>
35919
35920 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35921 all 8 functions. Otherwise, probe function 0 only.
35922
070e49e4 359232008-04-04 Pavel Roskin <proski@gnu.org>
35924
8b088a4c 35925 * commands/lspci.c (grub_lspci_iter): Print the bus number
35926 correctly.
35927
4f657021 35928 * commands/lspci.c (grub_pci_classes): Fix typos.
35929 (grub_lspci_iter): Don't print func twice. Print vendor ID
35930 before device ID, as it's normally done.
35931
070e49e4 35932 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35933 Fix signedness warnings.
35934 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35935 Likewise.
35936 * util/ieee1275/get_disk_name.c: Include config.h so that
35937 _GNU_SOURCE is defined and getline() is declared. Mark an
35938 unused argument as such. Fix a signedness warning.
35939
ba7328dc 359402008-04-02 Pavel Roskin <proski@gnu.org>
35941
26887f22 35942 * genkernsyms.sh.in: Use more robust assignments for CC and
35943 srcdir. Quote srcdir.
35944 * gensymlist.sh.in: Likewise. Assert at the compile time that
35945 the symbol table is not empty.
35946
ba7328dc 35947 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35948 * fs/cpio.c (grub_cpio_read): Likewise.
35949
0f582c6b 359502008-04-01 Pavel Roskin <proski@gnu.org>
35951
4b6e1995 35952 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35953 * disk/host.c (grub_host_open): Likewise.
35954 * disk/loopback.c (grub_loopback_open): Likewise.
35955 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35956 disk->id as in disk/host.c, not a multi-character constant.
35957
828a2768 35958 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35959 later is obsolete, potentially dangerous and sets a bad example.
35960 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35961 * util/misc.c (grub_util_get_image_size): Likewise.
35962
2bb4fb47 35963 * disk/loopback.c (options): Improve help for "--partitions".
35964
0f582c6b 35965 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35966 options to align them with the short options, e.g. "echo -e".
35967
a33224e0 359682008-03-31 Bean <bean123ch@gmail.com>
35969
35970 * video/reader/png.c (grub_png_data): New member is_16bit and
35971 image_data.
35972 (grub_png_decode_image_header): Detect 16 bit png image.
35973 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35974 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35975 (grub_video_reader_png): Release memory occupied by image_data.
35976
35977 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35978 4096 bytes.
35979 (grub_nfs_mount): Skip the test for sector per cluster.
35980
35981 * include/grub/ntfs.h (MAX_SPC): Removed.
35982
86cb4f54 359832008-03-31 Bean <bean123ch@gmail.com>
35984
35985 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35986 (grub_probe_SOURCES): Add fs/afs.c.
35987 (grub_fstest_SOURCES): Likewise.
35988 (afs_mod_SOURCES): New variable.
35989 (afs_mod_CFLAGS): Likewise.
35990 (afs_mod_LDFLAGS): Likewise.
35991
35992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35993 (grub_emu_SOURCES): Likewise.
35994
35995 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35996
35997 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35998
35999 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36000
36001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36002
36003 * fs/afs.c: New file.
36004
17c74c21 360052008-03-30 Pavel Roskin <proski@gnu.org>
36006
4cb68e89 36007 * disk/host.c: Include grub/misc.h to fix a warning.
36008 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36009 warnings about implicit declarations.
36010
8790bb04 36011 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36012 variable.
36013 * include/grub/i386/loader.h: Change declaration of
36014 grub_linux_boot() to match what grub_loader_set() expects.
36015 * util/getroot.c (grub_guess_root_device): Return const char* to
36016 fix a warning.
36017 * util/grub-probe.c (probe): Fix a warning about uninitialized
36018 abstraction_name variable.
36019 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36020 second argument as unused to fix a warning.
36021
9a3f3296 36022 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36023 missing grub_error() call.
36024
0ecef90d 36025 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36026 2.60 and newer uses it to define datadir.
36027
0bf6d401 36028 * commands/sleep.c: Fix warning about implicit declaration.
36029 * disk/memdisk.c: Likewise.
36030 * loader/aout.c: Likewise.
36031 * loader/i386/bsd_normal.c: Likewise.
36032 * util/grub-probe.c: Likewise.
36033
7cdacf97 36034 * commands/i386/cpuid.c (has_longmode): Make static.
36035 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36036 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36037
17c74c21 36038 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36039 GDT. This is more robust, as %ds can change.
36040 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36041 calling real_to_prot().
36042 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36043
80a3e68b 360442008-03-28 Pavel Roskin <proski@gnu.org>
36045
36046 * kern/i386/pc/startup.S: Assert that uncompressed functions
36047 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36048 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36049 code, as they push parts of the code (error handlers) beyond
36050 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36051 code as correctness and size.
36052
77bcd272 360532008-03-28 Pavel Roskin <proski@gnu.org>
36054
36055 * kern/i386/pc/startup.S
36056 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36057 data block address to the real mode, keep offset minimal. This
36058 works around a bug in AWARD BIOS on old Athlon systems, which
36059 makes CD detection hang.
36060
c5dfd43b 360612008-03-26 Pavel Roskin <proski@gnu.org>
36062
36063 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36064 const.
36065 * include/grub/normal.h: Add grub_parse_color_name_pair()
36066 declaration.
36067
bf962df2 360682008-03-24 Bean <bean123ch@gmail.com>
36069
36070 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36071 (cd_count): Removed.
36072 (cd_drive): New variable.
36073 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36074 (grub_biosdisk_call_hook): Likewise.
36075 (grub_biosdisk_iterate): Change cdrom detection method.
36076 (grub_biosdisk_open): Replace cd_start with cd_drive.
36077 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36078 detect cdrom device.
36079
36080 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36081 Removed.
36082 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36083 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36084 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36085 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36086 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36087 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36088 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36089 (grub_biosdisk_cdrp): New structure.
36090 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36091
36092 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36093
36094 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36095 device.
36096
36097 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36098 New function.
36099
68e7fc7a 361002008-03-20 Robert Millan <rmh@aybabtu.com>
36101
36102 Remove 2 TiB limit in ata.mod.
36103 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36104 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36105 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36106 grub_uint64_t instead of grub_uint32_t.
36107
38ad2cf5 361082008-03-05 Bean <bean123ch@gmail.com>
36109
36110 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36111 (grub_multiboot): Set boot device.
36112
36113 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36114
2b89344e 361152008-03-02 Bean <bean123ch@gmail.com>
36116
36117 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36118 symlink_buffer.
36119
87a95d1f 361202008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36121
36122 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36123 texinfo.tex.
36124
36125 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36126 modified.
36127
36128 * docs/fdl.texi: New file.
f19dbdb7 36129
87a95d1f 36130 * docs/mdate-sh: New file. Copied from gnulib.
36131 * docs/texinfo.tex: Likewise.
36132
36133 * config.guess: Updated from gnulib.
36134 * install-sh: Likewise.
36135
7dc15d8e 361362008-02-28 Robert Millan <rmh@aybabtu.com>
36137
36138 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36139 (aout_mod_SOURCES): New variable.
36140 (aout_mod_CFLAGS): Likewise.
36141 (aout_mod_LDFLAGS): Likewise.
36142
36143 * conf/i386-ieee1275.rmk: Likewise.
36144
b00ab696 361452008-02-28 Robert Millan <rmh@aybabtu.com>
36146
36147 * util/update-grub.in: Reorganise terminal validity check. Accept
36148 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36149 Based on suggestion by Franklin PIAT.
36150
79ca2d78 361512008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36152
36153 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36154 function.
36155 * util/getroot.c (grub_util_check_block_device): New function that
36156 returns the given argument if it is a block device and returns NULL else.
36157 * util/grub-probe.c (argument_is_device): New variable.
36158 (probe): Promote device_name from a variable to an argument. Receive
36159 device_name from grub_util_check_block_device() if path is NULL and from
36160 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36161 (options): Introduce new parameter '-d, --device'.
79ca2d78 36162 (main): Add description of the new parameter to the help screen.
36163 Rename path variable to argument. Set argument_is_device if the '-d'
36164 option is given. Pass argument to probe() depending on
36165 argument_is_device.
36166
0d16e571 361672008-02-24 Bean <bean123ch@gmail.com>
36168
36169 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36170 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36171 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36172 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36173 (GRUB_ISO9660_VOLDESC_END): Likewise.
36174 (grub_iso9660_primary_voldesc): New member escape.
36175 (grub_iso9660_data): New member joliet.
36176 (grub_iso9660_convert_string): New function.
36177 (grub_iso9660_mount): Detect joliet extension.
36178 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36179 (grub_iso9660_iso9660_label): Likewise.
36180
36181 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36182 (grub_setup_SOURCES): Add fs/udf.c.
36183 (grub_fstest_SOURCES): Likewise.
36184 (udf_mod_SOURCES): New variable.
36185 (udf_mod_CFLAGS): Likewise.
36186 (udf_mod_LDFLAGS): Likewise.
36187
36188 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36189 (grub_emu_SOURCES): Likewise.
36190
36191 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36192
36193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36194
36195 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36196
36197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36198
36199 * fs/udf.c: New file.
36200
8a594a17 362012008-02-24 Robert Millan <rmh@aybabtu.com>
36202
36203 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36204 (normal/lexer.c_DEPENDENCIES): New variables.
36205 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36206 (normal/lexer.c_DEPENDENCIES): Likewise.
36207 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36208 (normal/lexer.c_DEPENDENCIES): Likewise.
36209 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36210 (normal/lexer.c_DEPENDENCIES): Likewise.
36211 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36212 (normal/lexer.c_DEPENDENCIES): Likewise.
36213 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36214 (normal/lexer.c_DEPENDENCIES): Likewise.
36215
2dc33c03 362162008-02-23 Robert Millan <rmh@aybabtu.com>
36217
36218 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36219 since they were intended to be in hex. This didn't break previously
36220 because of a bug in gpt_partition_map_iterate() (see below).
36221
36222 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36223 when checking the validity of GPT header.
36224 Remove `partno', since it always provides the same information as `i'.
36225
f6f4cfb0 362262008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36227
36228 * include/grub/efi/time.h: Fix a wrong comment.
36229
79ff665f 362302008-02-19 Pavel Roskin <proski@gnu.org>
36231
36232 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36233 message.
36234
d38e24c2 362352008-02-19 Bean <bean123ch@gmail.com>
36236
36237 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36238 (aout_mod_SOURCES): New variable.
36239 (aout_mod_CFLAGS): Likewise.
36240 (aout_mod_LDFLAGS): Likewise.
36241 (_bsd_mod_SOURCES): New variable.
36242 (_bsd_mod_CFLAGS): Likewise.
36243 (_bsd_mod_LDFLAGS): Likewise.
36244 (bsd_mod_SOURCES): New variable.
36245 (bsd_mod_CFLAGS): Likewise.
36246 (bsd_mod_LDFLAGS): Likewise.
36247
36248 * include/grub/aout.h: New file.
36249
36250 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36251
36252 * include/grub/i386/bsd.h: New file.
36253
36254 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36255 to make it public.
36256
36257 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36258 function is called, so that it's possible to change it inside the hook.
36259 (grub_elf64_load): Likewise.
36260 (grub_elf_file): Don't close the file if elf header is not found.
36261 (grub_elf_close): Close the file if grub_elf_file fails (The new
36262 grub_elf_file won't close it).
36263 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36264 (grub_elf64_size): Likewise.
36265
36266 * kern/i386/loader.S (grub_unix_real_boot): New function.
36267
36268 * loader/aout.c: New file.
36269
36270 * loader/i386/bsd.c: New file.
36271
36272 * loader/i386/bsd_normal.c: New file.
36273
36274 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36275
36276 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36277 can test other formats.
d38e24c2 36278
b93bdb0f 362792008-02-19 Robert Millan <rmh@aybabtu.com>
36280
36281 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36282 (grub_gpt_partition_type_empty): Redefine with macro from
36283 `<grub/gpt_partition.h>'.
36284 (gpt_partition_map_iterate): Adjust partition type comparison.
36285
36286 Export `entry' as partmap-specific `part.data' struct.
36287 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36288
36289 * include/grub/gpt_partition.h (grub_gpt_header)
36290 (grub_gpt_partentry): ... to here (new file).
36291
36292 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36293
36294 (grub_gpt_partition_type_bios_boot): New const variable, defined
36295 with macro from `<grub/gpt_partition.h>'.
36296
36297 (setup): Replace `first_start' with `embed_region', which keeps
36298 track of the embed region (and is partmap-agnostic).
36299
36300 Replace find_first_partition_start() with find_usable_region(),
36301 which finds a usable region for embedding using partmap-specific
36302 knowledge (supports PC/MSDOS and GPT).
36303
36304 Fix all assumptions that the embed region start at sector 1, using
36305 `embed_region.start' from now on. Similarly, use `embed_region.end'
36306 rather than `first_start' to calculate available size.
36307
36308 In grub_util_info() message, replace "into after the MBR" with an
36309 indication of the specific sector our embed region starts at.
36310
66cb40f6 363112008-02-19 Robert Millan <rmh@aybabtu.com>
36312
36313 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36314 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36315 `commands/reboot.c'.
36316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36317 (halt_mod_SOURCES): Likewise.
36318 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36319 (halt_mod_SOURCES): Likewise.
36320
b7202015 363212008-02-17 Christian Franke <franke@computer.org>
36322
36323 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36324
32b0fc49 363252008-02-17 Robert Millan <rmh@aybabtu.com>
36326
36327 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36328 set `first_start' to 0 for non-PC/MSDOS partition maps.
36329
aca63502 363302008-02-16 Robert Millan <rmh@aybabtu.com>
36331
36332 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36333 do not assume partition map is PC/MSDOS before performing checks that
36334 are specific to that layout.
36335
0de8be86 363362008-02-13 Robert Millan <rmh@aybabtu.com>
36337
36338 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36339 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36340 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36341
c3db8364 363422008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36343
36344 * configure.ac: Only a cosmetic change on the handling of
36345 -fno-stack-protector.
36346
f714229e 363472008-02-12 Alexandre Boeglin <alex@boeglin.org>
36348
c3db8364 36349 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36350 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36351 reboot.c.
f714229e 36352 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36353 (halt_mod_SOURCES): New variable.
36354 (halt_mod_CFLAGS): Likewise.
36355 (halt_mod_LDFLAGS): Likewise.
36356 (reboot_mod_SOURCES): Likewise.
36357 (reboot_mod_CFLAGS): Likewise.
36358 (reboot_mod_LDFLAGS): Likewise.
36359
c3db8364 36360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36361 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36362 reboot.c.
f714229e 36363 (halt_mod_SOURCES): Likewise.
36364 (reboot_mod_SOURCES): Likewise.
36365
c3db8364 36366 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36367 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36368 (reboot_mod_SOURCES): Likewise.
36369
36370 * commands/i386/pc/reboot.c: merge this file ...
36371
36372 * commands/ieee1275/reboot.c: ... and this file ...
36373
36374 * commands/reboot.c: ... to this file.
c3db8364 36375 Add some precompiler directive to include the correct header for
36376 each machine.
f714229e 36377
36378 * commands/ieee1275/halt.c: move this file ...
36379
36380 * commands/halt.c: ... to here.
c3db8364 36381 Add some precompiler directive to include the correct header for
36382 each machine.
f714229e 36383
36384 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36385 (grub_halt): Likewise.
36386
36387 * kern/efi/efi.c (grub_reboot): New function.
36388 (grub_halt): Likewise.
36389
c74493e0 363902008-02-12 Robert Millan <rmh@aybabtu.com>
36391
36392 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36393 /dev (like it is done for /dev/mapper). This doesn't provide support
36394 for EVMS, but at least it is now easy to identify the problem when it
36395 arises.
36396
d0db4b04 363972008-02-11 Robert Millan <rmh@aybabtu.com>
36398
36399 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36400 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36401 comparing it with -1, not 0.
36402
bf748642 364032008-02-10 Robert Millan <rmh@aybabtu.com>
36404
36405 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36406 `disk/lvm.c'.
36407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36408 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36409
36410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36411 `disk/lvm.c' to the end of the list.
36412 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36413 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36414
b5db202a 364152008-02-10 Robert Millan <rmh@aybabtu.com>
36416
36417 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36418 grub_print_error() instead. This will let user know why we're entering
36419 rescue mode.
36420 Based on suggestions from Sam Morris.
36421
83abee31 364222008-02-10 Alexandre Boeglin <alex@boeglin.org>
36423
36424 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36425 on remaining N args, instead of "--" arg N times.
36426
78d5a08b 364272008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36428
36429 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36430 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36431 pattern for unknown glyphs.
36432
68807e5f 364332008-02-09 Robert Millan <rmh@aybabtu.com>
36434
36435 * configure.ac: Probe for `help2man'.
36436 * Makefile.in (builddir): New variable.
36437 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36438 or otherwise add a few flags/options to it.
36439 (install-local): For every executable utility or script that is
36440 installed, invoke $(HELP2MAN) to install a manpage based on --help
36441 output.
36442
36443 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36444 that it doesn't prevent --help from working in build tree.
36445
36446 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36447 with `bug-grub@gnu.org'.
36448 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36449 * util/update-grub.in (usage): New function.
36450 Implement proper argument check, with support for --help and --version
36451 (as well as existing -y).
36452
364532008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36454
36455 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36456 avoid overwriting previous output.
36457 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36458
c1962162 364592008-02-09 Robert Millan <rmh@aybabtu.com>
36460
36461 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36462 drawing the menu.
36463
3dac2e3f 364642008-02-09 Robert Millan <rmh@aybabtu.com>
36465
36466 * commands/sleep.c: New file.
36467 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36468 (sleep_mod_SOURCES): New variable.
36469 (sleep_mod_CFLAGS): Likewise.
36470 (sleep_mod_LDFLAGS): Likewise.
36471
7a634e08 364722008-02-09 Robert Millan <rmh@aybabtu.com>
36473
36474 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36475 situations in which we can deduce the RAID size and the superblock
36476 doesn't match it.
36477
b92f0c18 364782008-02-09 Robert Millan <rmh@aybabtu.com>
36479
36480 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36481 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36482 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36483
36484 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36485 and return a grub_diskmemberlist_t composed of physical array members.
36486 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36487
36488 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36489 prototype.
36490 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36491 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36492 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36493
36494 * util/grub-probe.c (probe): Move partmap probing code from here ...
36495 (probe_partmap): ... to here.
36496 (probe): Use probe_partmap() once for the disk we're probing, and
36497 additionally, when such disk contains a memberlist() struct member,
36498 once for each disk that is contained in the structure returned by
36499 memberlist().
36500
91a4bf68 365012008-02-09 Robert Millan <rmh@aybabtu.com>
36502
36503 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36504 environment variable to 'all' in order to obtain debug output from
36505 non-util/ code.
36506 * util/i386/pc/grub-setup.c (main): Likewise.
36507
a96f9caa 365082008-02-08 Robert Millan <rmh@aybabtu.com>
36509
36510 * disk/raid.c (grub_raid_scan_device): Check for
36511 `array->device[sb.this_disk.number]' rather than for
36512 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36513 guaranteed to be accessible.
a96f9caa 36514
b37a9222 365152008-02-08 Robert Millan <rmh@aybabtu.com>
36516
36517 * disk/raid.c: Update copyright.
36518 * fs/cpio.c: Likewise.
36519 * include/grub/raid.h: Likewise.
36520 * loader/i386/pc/multiboot.c: Likewise.
36521 * util/hostfs.c: Likewise.
36522
5626aee1 365232008-02-08 Robert Millan <rmh@aybabtu.com>
36524
36525 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36526 to a grub_disk_t array.
36527 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36528 `device[x]'.
36529 (grub_raid_scan_device): Replace `device[x].name' accesses with
36530 `device[x]->name'. Simplify initialization of `array->device[x]'.
36531
554f0187 365322008-02-08 Robert Millan <rmh@aybabtu.com>
36533
36534 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36535 grub_dprintf() calls.
36536 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36537 error message.
36538
1ec8425d 365392008-02-07 Christian Franke <franke@computer.org>
36540
36541 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36542 instead of fseek and ftell to support large files.
36543 (grub_hostfs_read): Likewise.
36544
f2156fda 365452008-02-07 Robert Millan <rmh@aybabtu.com>
36546
36547 Patch from Jeroen Dekkers.
36548 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36549 failure, since successfully reading all array members might not be
f2156fda 36550 required.
36551
9216e0e7 365522008-02-06 Robert Millan <rmh@aybabtu.com>
36553
36554 * util/grub-probe.c (probe): Simplify partmap probing (with the
36555 assumption that the first word up to the underscore equals to
36556 the module name).
36557
b0dfd29a 365582008-02-06 Christian Franke <franke@computer.org>
36559
36560 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36561 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36562 last block of a cpio or tar stream.
36563 Check for "TRAILER!!!" instead of any empty data
36564 block to detect last block of a cpio stream.
36565 (grub_cpio_dir): Fix constness of variable np.
36566 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36567 cpio or tar trailer is detected. This fixes a crash
36568 on open of a non existing file.
36569
c32865bf 365702008-02-05 Bean <bean123ch@gmail.com>
36571
36572 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36573 address of entry.
36574 (grub_multiboot_load_elf64): Likewise.
36575 (grub_multiboot): Initialize mbi structure.
36576
36577 * util/grub-fstest.c: Don't include unused header file script.h.
36578
fe6b695a 36579 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36580 of file.
36581 (grub_fstest_SOURCES): Likewise.
36582
409480b7 365832008-02-05 Robert Millan <rmh@aybabtu.com>
36584
36585 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36586 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36587 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36588 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36589
36590 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36591 (translation_table): Replace hardcoded values with macros
36592 provided by `<grub/term.h>'.
36593
36594 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36595 (keyboard_map): Correct/add a few values, with macros provided
36596 by `<grub/term.h>'.
36597 (keyboard_map_shift): Zero values that don't differ from their
36598 `keyboard_map' equivalents.
36599 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36600 Discard the second scan code that is always sent by Caps lock.
36601 Only use `keyboard_map_shift' when it provides a non-zero value,
36602 otherwise fallback to `keyboard_map'.
36603
99fadbaa 366042008-02-04 Bean <bean123ch@gmail.com>
36605
36606 * Makefile.in (enable_grub_fstest): New variable.
36607
36608 * conf/common.rmk (grub_fstest_init.lst): New rule.
36609 (grub_fstest_init.h): Likewise.
36610 (grub_fstest_init.c): Likewise.
36611 (util/grub-fstest.c_DEPENDENCIES): New variable.
36612 (grub_fstest_SOURCES): Likewise.
36613
36614 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36615
36616 * util/grub-fstest.c: New file.
36617
bf567c50 366182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36619
36620 Make grub-setup handle a separate root device.
f19dbdb7 36621
bf567c50 36622 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36623 so that the root device can be compared with the destination
36624 device.
36625 When embedding the core image, if the root and destination devices
36626 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36627 0xFF.
36628 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36629
9be6b98b 366302008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36631
36632 Add support for having a grub directory in a different drive. This
36633 is still only the data handling part.
f19dbdb7 36634
9be6b98b 36635 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36636 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36637 (grub_root_drive): New variable.
36638
36639 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36640 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36641 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36642 as it was.
36643
36644 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36645
36646 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36647 macro.
36648 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36649
36650 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36651 is bogus, because PXE booting does not specify any drive
36652 correctly.
36653
36654 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36655 am not sure if this is really correct.
36656
36657 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36658 is always identical to the boot drive when booting from a CD.
36659
36660 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36661 longer.
36662 (root_drive): New variable.
36663 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36664 (setup_sectors): Push %dx right after popping it, because %dh will
36665 be modified later.
36666 (copy_buffer): Restore %dx.
36667
e0ca0677 366682008-02-03 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36671 use `cdboot.img' for cdrom images.
36672
3b3f6629 366732008-02-03 Robert Millan <rmh@aybabtu.com>
36674
36675 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36676 only setup gfxterm when `font' command has succeeded.
36677
d42b3672 366782008-02-03 Robert Millan <rmh@aybabtu.com>
36679
36680 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36681 (grub_rescue_cmd_multiboot_loader)
36682 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36683
fa370ea6 366842008-02-03 Pavel Roskin <proski@gnu.org>
36685
e0c5dacb 36686 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36687 %edx and %esi from stack only after grub_gate_a20() is called.
36688 grub_gate_a20() clobbers %edx.
36689
f2a76e1d 366902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36691
36692 * configure.ac (AC_INIT): Bumped to 1.96.
36693
36694 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36695 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36696 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36697 video/readers/png.c.
36698
90fd32d1 366992008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36700
36701 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36702 (cdboot_img_SOURCES): New variable.
36703 (cdboot_img_ASFLAGS): New variable.
36704 (cdboot_img_LDFLAGS): New variable.
36705
36706 * boot/i386/pc/cdboot.S: New file.
36707
36708 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36709 (cd_count): Likewise.
36710 (grub_biosdisk_get_drive): Add support for cd device.
36711 (grub_biosdisk_call_hook): Likewise.
36712 (grub_biosdisk_iterate): Likewise.
36713 (grub_biosdisk_open): Likewise.
36714 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36715 (grub_biosdisk_rw): Support reading from cd device.
36716 (GRUB_MOD_INIT): Iterate cd devices.
36717
36718 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36719 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36720 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36721
36722 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36723
4020aa53 367242008-02-02 Robert Millan <rmh@aybabtu.com>
36725
36726 * commands/read.c: New file.
36727 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36728 (read_mod_SOURCES): New variable.
36729 (read_mod_CFLAGS): Likewise.
36730 (read_mod_LDFLAGS): Likewise.
36731
e03a1132 367322008-02-02 Robert Millan <rmh@aybabtu.com>
36733
36734 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36735 determining whether menu has to be displayed.
36736
58c69220 367372008-02-02 Marco Gerards <marco@gnu.org>
36738
36739 * bus/pci.c: New file.
36740
36741 * include/grub/pci.h: Likewise.
36742
36743 * include/grub/i386/pc/pci.h: Likewise.
36744
36745 * commands/lspci.c: Likewise.
36746
36747 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36748 `lspci.mod'.
36749 (pci_mod_SOURCES): New variable.
36750 (pci_mod_CFLAGS): Likewise.
36751 (pci_mod_LDFLAGS): Likewise.
36752 (lspci_mod_SOURCES): Likewise.
36753 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36754 (lspci_mod_LDFLAGS): Likewise.
58c69220 36755
c004e1b4 367562008-02-02 Bean <bean123ch@gmail.com>
36757
36758 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36759 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36760
36761 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36762 (grub_xfs_btree_node): New structure.
36763 (grub_xfs_btree_root): New structure.
36764 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36765 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36766 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36767 (GRUB_XFS_EXTENT_SIZE): Likewise.
36768 (grub_xfs_read_block): Support btree format type.
36769 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36770 Use directory block as basic unit.
36771
36772 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36773
36774 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36775 __attribute__ ((__regparm__ (1))).
36776
f95562bf 367772008-02-01 Robert Millan <rmh@aybabtu.com>
36778
36779 Correct a mistake in previous commit.
36780
36781 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36782 top.
36783 (normal/command.c_DEPENDENCIES): New variable.
36784
7d31f41f 367852008-02-01 Robert Millan <rmh@aybabtu.com>
36786
36787 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36788 top.
36789 (normal/command.c_DEPENDENCIES): New variable.
36790 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36791 * conf/i386-ieee1275.rmk: Likewise.
36792 * conf/i386-linuxbios.rmk: Likewise.
36793 * conf/i386-pc.rmk: Likewise.
36794 * conf/sparc64-ieee1275.rmk: Likewise.
36795 * conf/powerpc-ieee1275.rmk: Likewise.
36796 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36797
36798 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36799
60b6be74 368002008-02-01 Robert Millan <rmh@aybabtu.com>
36801
36802 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36803 call at beginning of function.
36804
078522ab 368052008-01-31 Pavel Roskin <proski@gnu.org>
36806
36807 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36808 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36809 (grub_mkrescue_SOURCES): Likewise.
078522ab 36810 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36811
ccaa8a5f 368122008-01-30 Robert Millan <rmh@aybabtu.com>
36813
36814 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36815 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36816 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36817 (grub_probe_SOURCES): ... to here.
36818
36819 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36820 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36821 * conf/i386-ieee1275.rmk: Likewise.
36822 * conf/i386-linuxbios.rmk: Likewise.
36823 * conf/powerpc-ieee1275.rmk: Likewise.
36824
ae5a9cd7 368252008-01-30 Tristan Gingold <gingold@free.fr>
36826
36827 * kern/rescue.c: Silently accept empty lines.
36828
70bc2ef2 368292008-01-29 Bean <bean123ch@gmail.com>
36830
36831 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36832 (real_code_2): Code cleanup and change comment style.
36833 (move_memory): Avoid using 32-bit address mode.
36834
6a4d50ea 368352008-01-29 Bean <bean123ch@gmail.com>
36836
36837 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36838 (png_mod_SOURCES): New variable.
36839 (png_mod_CFLAGS): Likewise.
36840 (png_mod_LDFLAGS): Likewise.
36841
36842 * video/readers/png.c: New file.
36843
11cc30ac 368442008-01-28 Robert Millan <rmh@aybabtu.com>
36845
36846 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36847 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36848 `ifndef GRUB_MOD_GAP' hack.
36849 * util/elf/grub-mkimage.c (add_segments): Likewise.
36850
3abc589f 368512008-01-27 Robert Millan <rmh@aybabtu.com>
36852
36853 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36854 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36855 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36856
e1907778 368572008-01-27 Robert Millan <rmh@aybabtu.com>
36858
36859 Get grub-emu to build again (including parallel builds).
36860
36861 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36862 Split into ...
36863 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36864 (normal/execute.c_DEPENDENCIES): ... this, ...
36865 (grub-emu_DEPENDENCIES): ... and this.
36866
36867 * conf/i386-efi.rmk: Likewise.
36868 * conf/i386-linuxbios.rmk: Likewise.
36869 * conf/i386-ieee1275.rmk: Likewise.
36870 * conf/powerpc-ieee1275.rmk: Likewise.
36871 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36872
2216b101 368732008-01-27 Robert Millan <rmh@aybabtu.com>
36874
36875 * NEWS: Add a few items.
36876
f75172d9 368772008-01-27 Robert Millan <rmh@aybabtu.com>
36878
36879 Fix parallel builds with grub-emu. Based on earlier commit for
36880 grub-probe and grub-setup.
36881
36882 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36883 (util/grub-emu.c_DEPENDENCIES): ... this.
36884 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36885 (util/grub-emu.c_DEPENDENCIES): ... this.
36886 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36887 (util/grub-emu.c_DEPENDENCIES): ... this.
36888 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36889 (util/grub-emu.c_DEPENDENCIES): ... this.
36890 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36891 (util/grub-emu.c_DEPENDENCIES): ... this.
36892
3f51de77 368932008-01-27 Pavel Roskin <proski@gnu.org>
36894
36895 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36896 to create a gap between _end and the modules added to the image
36897 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36898 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36899 * util/elf/grub-mkimage.c (add_segments): Likewise.
36900
2033f53e 369012008-01-26 Pavel Roskin <proski@gnu.org>
36902
36903 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36904 just return an error.
36905
22da1f6f 369062008-01-26 Bean <bean123ch@gmail.com>
36907
36908 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36909 (grub_reiserfs_get_item): Save offset of the next item.
36910 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36911
2a9525e6 369122008-01-25 Robert Millan <rmh@aybabtu.com>
36913
36914 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36915 make all filesystem sources appear together (possibly fixing omissions
36916 while at it).
36917 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36918 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36919 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36921
36922 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36923 add `kern/file.c'.
36924 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36925 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36926 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36927 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36928
36929 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36930 (probe): Add a sanity check to make sure of our ability to read
36931 requested files when probing for filesystem type.
36932
36933 * genmk.rb: Update copyright year (2007).
36934
36935 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36936 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36937 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36938 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36939 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36940 : Remove function prototypes.
36941
b95f71b5 369422008-01-25 Robert Millan <rmh@aybabtu.com>
36943
36944 Revert my previous commits (based on wrong assumption of how grub_errno
36945 works).
36946
fe6b695a 36947 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36948 * kern/file.c (grub_file_open): Likewise.
36949
d08bbb49 369502008-01-24 Pavel Roskin <proski@gnu.org>
36951
36952 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36953 that hang if GRUB tries to setup colors.
36954 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36955 colors for firmwares that don't support it.
36956 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36957 Recognize Open Hack'Ware, set flags to work around its
36958 limitations.
36959
605e36ed 369602008-01-24 Robert Millan <rmh@aybabtu.com>
36961
36962 * kern/file.c (grub_file_open): Do not account previous failures of
36963 unrelated functions when grub_errno is checked for.
36964 Reported by Oleg Strikov.
36965
bac332a1 369662008-01-24 Bean <bean123ch@gmail.com>
36967
36968 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36969 (grub_ufs_sblock): New member volume name.
36970 (grub_ufs_find_file): Fix string copy bug.
36971 (grub_ufs_label): Implement this function properly.
36972
36973 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36974 (grub_hfs_iterate_records): Use the correct file number for extents
36975 and catalog file. Fix problem in next index calculation.
36976 (grub_hfs_find_node): Replace recursive function call with loop.
36977 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36978
15c80c09 369792008-01-23 Robert Millan <rmh@aybabtu.com>
36980
36981 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36982 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36983 (grub_multiboot2_real_boot): New function prototype.
36984
36985 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36986 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36987
36988 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36989 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36990
305338fd 369912008-01-23 Robert Millan <rmh@aybabtu.com>
36992
36993 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36994 #ifdef'ed out grub_printf().
36995
3ea52685 369962008-01-23 Robert Millan <rmh@aybabtu.com>
36997
36998 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36999 grub_dprintf calls, since they make "debug=all" mode unusable.
37000 (grub_console_checkkey): Likewise.
37001
5882ae4b 370022008-01-23 Robert Millan <rmh@aybabtu.com>
37003
37004 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37005 `term/i386/pc/at_keyboard.c'.
37006 (pkglib_MODULES): Add `serial.mod'.
37007 (serial_mod_SOURCES): New variable.
37008 (serial_mod_CFLAGS): Likewise.
37009 (serial_mod_LDFLAGS): Likewise.
37010
37011 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37012 `<grub/powerpc/ieee1275/console.h>'.
37013 (grub_keyboard_controller_init): New function prototype.
37014 (grub_console_checkkey): Likewise.
37015 (grub_console_getkey): Likewise.
37016
37017 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37018 keyboard on i386.
37019
37020 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37021 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37022
06ab5303 370232008-01-23 Robert Millan <rmh@aybabtu.com>
37024
37025 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37026 present, "(memdisk)/boot/grub" becomes the default prefix.
37027
37028 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37029 a memdisk tarball with all the modules. Add --overlay=DIR option that
37030 allows users to overlay additional files into the image.
37031
dbb475a4 370322008-01-23 Robert Millan <rmh@aybabtu.com>
37033
37034 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37035 and `machine/memory.h'.
37036 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37037 (_multiboot_mod_SOURCES): New variable.
37038 (_multiboot_mod_CFLAGS): Likewise.
37039 (_multiboot_mod_LDFLAGS): Likewise.
37040 (multiboot_mod_SOURCES): Likewise.
37041 (multiboot_mod_CFLAGS): Likewise.
37042 (multiboot_mod_LDFLAGS): Likewise.
37043
37044 * include/grub/i386/ieee1275/loader.h: New file.
37045
37046 * include/grub/i386/ieee1275/machine.h: Likewise.
37047
37048 * include/grub/i386/ieee1275/memory.h: Likewise.
37049
37050 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37051 variable declaration.
37052 (grub_os_area_size): Likewise.
37053
37054 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37055 (grub_lower_mem, grub_upper_mem): New variables.
37056 (grub_stop_floppy): New function (just to make
37057 grub_multiboot2_real_boot() happy).
37058
37059 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37060 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37061 (grub_stop): New function.
37062 Include `"../realmode.S"' and `"../loader.S"'.
37063
37064 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37065 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37066
37067 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37068 rely on grub_multiboot2_real_boot() for final boot.
37069
25638629 370702008-01-22 Robert Millan <rmh@aybabtu.com>
37071
37072 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37073 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37074 device that doesn't look like an SD card.
37075 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37076 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37077 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37078 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37079 found.
37080
9dad816d 370812008-01-22 Robert Millan <rmh@aybabtu.com>
37082
37083 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37084 avoid claiming over our own code.
37085
34842f2d 370862008-01-22 Bean <bean123ch@gmail.com>
37087
37088 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37089 (jpeg_mod_SOURCES): New variable.
37090 (jpeg_mod_CFLAGS): Likewise.
37091 (jpeg_mod_LDFLAGS): Likewise.
37092
37093 * video/readers/jpeg.c : New file.
37094
44023a28 370952008-01-22 Bean <bean123ch@gmail.com>
37096
37097 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37098 there are no more items.
37099
bc2d8ac6 371002008-01-21 Robert Millan <rmh@aybabtu.com>
37101
37102 * kern/mm.c (grub_mm_init_region): Improve debug message.
37103
261bd4bc 371042008-01-21 Robert Millan <rmh@aybabtu.com>
37105
37106 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37107 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37108 address.
37109 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37110 a C macro.
37111 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37112 Indicates start of upper memory.
37113 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37114 (generate_image): Abort when image size is big enough to corrupt
37115 upper memory.
37116
37117 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37118 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37119 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37120 instead of hardcoding 0xA0000.
37121 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37122 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37123 instead of hardcoding 0xA0000.
37124
f970b55e 371252008-01-21 Robert Millan <rmh@aybabtu.com>
37126
37127 * disk/memdisk.c (memdisk_size): New variable.
37128 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37129 `memdisk_size'.
37130 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37131 image to dynamic memory.
37132 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37133 `memdisk_size'. Free memdisk block.
37134
1a8b0526 371352008-01-21 Robert Millan <rmh@aybabtu.com>
37136
37137 Fix detection of very small filesystems (like tar).
37138
37139 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37140 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37141 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37142 a problem with this disk).
37143
6e9b4aab 371442008-01-21 Robert Millan <rmh@aybabtu.com>
37145
37146 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37147 on grub_biosdisk_rw_standard() error.
37148
0d8837b2 371492008-01-21 Robert Millan <rmh@aybabtu.com>
37150
37151 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37152 recent changes.
37153 * kern/elf.c: Likewise.
37154 * kern/ieee1275/ieee1275.c: Likewise.
37155 * kern/powerpc/ieee1275/openfw.c: Likewise.
37156 * term/ieee1275/ofconsole.c: Likewise.
37157
ffd36e34 371582008-01-21 Robert Millan <rmh@aybabtu.com>
37159
37160 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37161
3f0093d0 37162 * include/grub/kernel.h (grub_arch_memdisk_addr)
37163 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37164
3f0093d0 37165 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37166 (grub_arch_memdisk_size): ... to here.
ffd36e34 37167
6c391b21 371682008-01-21 Robert Millan <rmh@aybabtu.com>
37169
37170 Mostly based on bugfix from Bean.
37171
37172 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37173 attribute with hook() parameter.
37174 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37175 declaration.
37176 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37177 attribute with hook() parameter.
37178 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37179 declaration.
37180
55a581dc 371812008-01-21 Robert Millan <rmh@aybabtu.com>
37182
37183 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37184 (pkglib_MODULES): Add `memdisk.mod'.
37185 (memdisk_mod_SOURCES): New variable.
37186 (memdisk_mod_CFLAGS): Likewise.
37187 (memdisk_mod_LDFLAGS): Likewise.
37188
37189 * disk/memdisk.c: New file.
37190
37191 * include/grub/disk.h (grub_disk_dev_id): Add
37192 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37193
37194 * include/grub/i386/pc/kernel.h
37195 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37196 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37197 (grub_kernel_image_size): New variable declaration.
37198 (grub_total_module_size): Likewise.
37199 (grub_memdisk_image_size): Likewise.
37200
37201 * include/grub/i386/pc/memory.h
37202 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37203
37204 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37205 (grub_arch_memdisk_addr): New variable declaration.
37206 (grub_arch_memdisk_size): Likewise.
37207
37208 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37209 (grub_arch_memdisk_size): Likewise.
37210
37211 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37212 (codestart): Replace hardcoded `0x100000' with
37213 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37214
37215 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37216 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37217 not NULL, append the contents of the file it refers to, at the end of
37218 the compressed kernel image. Initialize `grub_memdisk_image_size'
37219 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37220 (options): Add "memdisk"|'m' option.
37221 (main): Parse --memdisk|-m option, and pass user-provided path as
37222 parameter to generate_image().
37223
3d7f54c9 372242008-01-20 Robert Millan <rmh@aybabtu.com>
37225
37226 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37227 grub_dprintf() calls from here ...
37228 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37229
0bf74728 372302008-01-20 Robert Millan <rmh@aybabtu.com>
37231
37232 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37233
37234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37235 declaration.
37236 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37237 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37238 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37239 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37240 property).
37241 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37242 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37243
33bf70a7 372442008-01-19 Robert Millan <rmh@aybabtu.com>
37245
fe6b695a 37246 Get rid of confusing function (superseded by
33bf70a7 37247 `grub_ieee1275_get_integer_property')
37248 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37249 prototype.
37250 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37251 function.
37252 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37253 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37254 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37255
e2da7d26 372562008-01-19 Robert Millan <rmh@aybabtu.com>
37257
37258 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37259 command after "shut-down", since implementations differ on which
37260 the command for halt is.
37261
59f1fd8d 372622008-01-19 Robert Millan <rmh@aybabtu.com>
37263
37264 * include/grub/i386/linuxbios/console.h: Add header protection.
37265 (grub_keyboard_controller_init): New function prototype.
37266 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37267 (KEYBOARD_COMMAND_READ): Likewise.
37268 (KEYBOARD_COMMAND_WRITE): Likewise.
37269 (KEYBOARD_SCANCODE_SET1): Likewise.
37270 (grub_keyboard_controller_write): New function.
37271 (grub_keyboard_controller_read): Likewise.
37272 (grub_keyboard_controller_init): Likewise.
37273
37274 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37275 (grub_console_init): On coreboot/LinuxBIOS, call
37276 grub_keyboard_controller_init().
37277
5f5a7c15 372782008-01-19 Robert Millan <rmh@aybabtu.com>
37279
37280 PowerPC changes provided by Pavel Roskin.
37281
37282 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37283 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37284 don't rely on cmain() doing it.
37285 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37286 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37287
1210e168 372882008-01-16 Robert Millan <rmh@aybabtu.com>
37289
37290 * include/grub/i386/linuxbios/memory.h
37291 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37292 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37293 receive `table_header' as argument. Instead, probe for it in the
37294 known memory ranges where it can be present.
37295 (grub_available_iterate): Do not pass a fixed `table_header' address
37296 to grub_linuxbios_table_iterate().
37297
3d04eab8 372982008-01-15 Robert Millan <rmh@aybabtu.com>
37299
37300 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37301 * conf/i386-ieee1275.rmk: New file.
37302 * include/grub/i386/ieee1275/console.h: Likewise.
37303 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37304 * include/grub/i386/ieee1275/kernel.h: Likewise.
37305 * include/grub/i386/ieee1275/time.h: Likewise.
37306 * kern/i386/ieee1275/init.c: Likewise.
37307 * kern/i386/ieee1275/startup.S: Likewise.
37308
d1bc1b73 373092008-01-15 Robert Millan <rmh@aybabtu.com>
37310
37311 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37312 when pointers are 32-bit (but still do set it to one when they are
37313 64-bit).
37314
66a65807 373152008-01-15 Robert Millan <rmh@aybabtu.com>
37316
37317 * include/grub/ieee1275/ieee1275.h
37318 (grub_ieee1275_get_integer_property): New function prototype.
37319
37320 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37321 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37322 grub_ieee1275_get_property() to handle endianness.
66a65807 37323
37324 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37325 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37326 where appropriate.
66a65807 37327 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37328 (grub_map): Likewise.
37329 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37330
a83ccafd 373312008-01-15 Bean <bean123ch@gmail.com>
37332
37333 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37334 (grub_script_execute_cmdline): Reset grub_errno.
37335
37336 * normal/main.c (read_config_file): Reset grub_errno.
37337
37338 * normal/parse.y (script_init): New.
37339 (script): Move function and menuentry here.
37340 (delimiter): New.
37341 (command): Add delimiter at the end of command.
37342 (commands): Adjust to match the new command.
37343 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37344 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37345 (if): Use the new commands.
37346
37347 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37348
df6ecfc6 373492008-01-15 Robert Millan <rmh@aybabtu.com>
37350
37351 * normal/menu.c (run_menu): Move timeout message from here ...
37352 (print_timeout): ... to here.
37353 (run_menu): Use print_timeout() once during initial draw to print
37354 the whole message, and again in every clock tick to update only
37355 the number of seconds.
37356
87ae25eb 373572008-01-15 Robert Millan <rmh@aybabtu.com>
37358
37359 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37360 actual size of `available' from grub_ieee1275_get_property(), and
37361 restrict parsing to that bound.
37362
47bf09a4 373632008-01-15 Christian Franke <franke@computer.org>
37364
37365 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37366 (argp_program_version): Remove variable.
37367 (argp_program_bug_address): Likewise.
37368 (options): Convert from struct argp_option to struct option.
37369 (struct arguments): Remove.
37370 (parse_opt): Remove.
37371 (usage): New function.
37372 (main): Replace struct args members by simple variables.
37373 Replace argp_parse() by getopt_long().
37374 Add switch to evaluate options.
37375 Add missing "(...)" around root_dev in prefix string.
37376
c86f1469 373772008-01-14 Robert Millan <rmh@aybabtu.com>
37378
37379 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37380 for grub_ieee1275_exit(), in order to improve portability.
37381
e622c559 373822008-01-14 Robert Millan <rmh@aybabtu.com>
37383
37384 * util/grub.d/10_linux.in (prefix): Define.
37385 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37386
44cb1ec8 373872008-01-13 Pavel Roskin <proski@gnu.org>
37388
37389 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37390 grub_errno if no errors have been detected.
37391
1eb8c802 373922008-01-12 Robert Millan <rmh@aybabtu.com>
37393
37394 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37395 (grub_util_get_dev_abstraction): New function prototype.
37396
37397 * util/getroot.c: Include `<grub/util/getroot.h>'
37398 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37399 (grub_util_get_dev_abstraction): ... here (new function).
37400
37401 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37402 `PRINT_ABSTRACTION'.
37403 (probe): Probe for abstraction type when requested.
37404 (main): Understand `--target=abstraction'.
37405
37406 * util/i386/efi/grub-install.in: Add abstraction module to core
37407 image when it is found to be necessary.
37408 * util/i386/pc/grub-install.in: Likewise.
37409 * util/powerpc/ieee1275/grub-install.in: Likewise.
37410
37411 * util/update-grub_lib.in (font_path): Return system path without
37412 converting to GRUB path.
37413 * util/update-grub.in: Convert system path returned by font_path()
37414 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37415 abstraction module is needed for loading fonts (if any). Export
37416 that as `GRUB_PRELOAD_MODULES'.
37417 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37418 insmod commands).
37419
52bd3de9 374202008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37421
37422 Remove some unused code from reiserfs.
f19dbdb7 37423
52bd3de9 37424 * fs/reiserfs.c (struct grub_reiserfs_key)
37425 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37426 (struct grub_reiserfs_node_body): Removed.
37427 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37428 Likewise.
37429 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37430 Likewise.
37431 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37432 Likewise.
37433 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37434 Likewise.
37435 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37436 Likewise.
37437 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37438 Likewise.
37439 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37440 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37441 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37442
2f80039d 374432008-01-10 Robert Millan <rmh@aybabtu.com>
37444
37445 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37446 Determines if a file is garbage left by packaging systems, etc.
37447 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37448 for processing /etc/grub.d scripts.
37449 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37450 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37451 as a condition for processing Linux images.
37452
87888032 374532008-01-10 Pavel Roskin <proski@gnu.org>
37454
37455 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37456 to compile reiserfs.c on PowerPC.
37457
7e54fced 374582008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37459
37460 * kern/device.c (grub_device_iterate): Do not abort device iteration
37461 when one of the devices cannot be opened.
37462 * kern/disk.c (grub_disk_open): Do not account previous failures of
37463 unrelated functions when grub_errno is checked for.
37464
5aa541e6 374652008-01-08 Robert Millan <rmh@aybabtu.com>
37466
37467 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37468 `! grub_linux_is_bzimage', change order of address comparison to make
37469 it more intuitive, and improve "too big zImage" error message.
37470
7076340d 374712008-01-08 Robert Millan <rmh@aybabtu.com>
37472
37473 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37474 `$(update-grub_DATA)'.
37475 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37476 targets.
37477
9ca70333 374782008-01-07 Robert Millan <rmh@aybabtu.com>
37479
37480 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37481 which instruction is modified by grub-setup during installation
37482 (since it wasn't obvious by only looking at this file).
37483
38ccf575 374842008-01-07 Robert Millan <rmh@aybabtu.com>
37485
37486 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37487 listing actual TODO items.
37488
f5db4291 374892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37490
868967cf 37491 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37492 correctly.
37493 (grub_reiserfs_get_key_offset): Likewise.
37494 (grub_reiserfs_set_key_offset): Likewise.
37495 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37496 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37497
37498 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37499 better to remove the bitfield version completely.
f19dbdb7 37500
868967cf 375012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37502
f5db4291 37503 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37504 allocated from the heap, due to the fshelp implementation.
37505 (grub_reiserfs_dir): Free NODE, due to the same reason.
37506
492e6d9d 375072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37508
37509 Mostly from Vincent Pelletier:
f19dbdb7 37510
492e6d9d 37511 * fs/reiserfs.c: New file.
f19dbdb7 37512
492e6d9d 37513 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37514 (reiserfs_mod_SOURCES): New variable.
37515 (reiserfs_mod_CFLAGS): Likewise.
37516 (reiserfs_mod_LDFLAGS): Likewise.
37517
37518 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37519 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37520 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37521 normal/color.c.
37522
9ce3e7c1 375232008-01-06 Robert Millan <rmh@aybabtu.com>
37524
37525 * normal/color.c: Remove `<grub/env.h>'.
37526
f3b58148 375272008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37528
37529 * include/grub/normal.h: Include <grub/env.h>.
37530
7ac3bcfa 375312008-01-05 Robert Millan <rmh@aybabtu.com>
37532
37533 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37534 usage example with `(hd0,1)'.
fb358190 37535 Reported by Samuel Thibault.
7ac3bcfa 37536
c8ee99d7 375372008-01-05 Robert Millan <rmh@aybabtu.com>
37538
37539 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37540 (grub_linux_boot_zimage): Rename to ...
37541 (grub_linux_boot): ... this.
37542 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37543 (grub_linux_boot_zimage): Conditionalize zImage copy.
37544
37545 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37546 (grub_linux_boot_bzimage): Remove prototype.
37547 (grub_linux_boot_zimage): Rename to ...
37548 (grub_linux_boot): ... this.
37549
37550 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37551 (grub_linux_boot): Remove function.
37552
0ece25b1 375532008-01-05 Robert Millan <rmh@aybabtu.com>
37554
37555 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37556 (grub_env_write_color_highlight): Likewise.
37557 (grub_wait_after_message): Likewise.
37558
37559 * normal/color.c: New file.
37560
37561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37562 (normal_mod_DEPENDENCIES): Likewise.
37563
37564 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37565 (normal_mod_DEPENDENCIES): Likewise.
37566
37567 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37568 (normal_mod_DEPENDENCIES): Likewise.
37569
37570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37571 (normal_mod_DEPENDENCIES): Likewise.
37572
37573 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37574 for waiting after a message is printed.
37575 * normal/main.c (read_config_file): Likewise.
37576 (grub_normal_init): Register grub_env_write_color_normal() and
37577 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37578 `color_highlight' variables as global.
37579
37580 * normal/menu.c (grub_wait_after_message): New function.
37581 (grub_color_menu_normal): New variable. Replaces ...
37582 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37583 (grub_color_menu_highlight): New variable. Replaces ...
37584 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37585 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37586 `GRUB_TERM_COLOR_STANDARD'.
37587 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37588 `normal_code' and `highlight_code' to `old_color_normal' and
37589 `old_color_highlight', respectively.
37590 (grub_menu_init_page): Update colors when drawing the menu, based on
37591 `menu_color_normal' and `menu_color_highlight' variables.
37592 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37593 a message is printed.
37594
182dd4e5 375952008-01-05 Robert Millan <rmh@aybabtu.com>
37596
37597 * kern/env.c (grub_env_context_open): Propagate hooks for global
37598 variables to new context.
37599
37600 * kern/main.c (grub_set_root_dev): Export `root' variable.
37601
ddf8f6ad 376022008-01-05 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37605 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37606 them.
37607
d8b43d9b 376082008-01-05 Robert Millan <rmh@aybabtu.com>
37609
37610 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37611
2bff2de3 376122008-01-04 Christian Franke <franke@computer.org>
37613
37614 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37615 of eisa_mmap.
37616
97eab917 376172008-01-03 Pavel Roskin <proski@gnu.org>
37618
37619 * kern/i386/linuxbios/init.c: Put "void" to all function
37620 declarations with no arguments.
37621 * kern/powerpc/ieee1275/init.c: Likewise.
37622 * term/i386/pc/at_keyboard.c: Likewise.
37623 * term/i386/pc/vga_text.c: Likewise.
37624 * util/grub-mkdevicemap.c: Likewise.
37625
b9416d00 376262008-01-02 Robert Millan <rmh@aybabtu.com>
37627
37628 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37629 message when loaded image is out of bounds.
37630 (grub_multiboot_load_elf64): Likewise.
37631
92695df9 376322008-01-02 Pavel Roskin <proski@gnu.org>
37633
37634 * util/grub.d/10_linux.in: Try version without ".old" when
37635 looking for initrd. It's better to use initrd from the newer
37636 kernel of the same version than no initrd at all.
37637
d98d9cad 376382008-01-01 Robert Millan <rmh@aybabtu.com>
37639
37640 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37641
dbfdce36 376422008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37643
f19dbdb7 37644 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37645 grub_video_get_active_render_target.
37646 (grub_video_adapter): Added unmap_color and get_active_render_target.
37647
f19dbdb7 37648 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37649 grub_video_get_active_render_target.
37650 (grub_video_get_info): Changed method to accept NULL pointer as an
37651 argument to allow detection of active video adapter.
37652
37653 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37654 grub_video_vbe_unmap_color_int.
37655 Added grub_video_vbe_unmap_color and
37656 grub_video_vbe_get_active_render_target.
37657 (grub_video_vbe_adapter): Added unmap_color and
37658 get_active_render_target.
37659
f19dbdb7 37660 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37661 with grub_video_vbe_unmap_color_int.
37662
37663 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37664 (DEFAULT_NORMAL_COLOR): Likewise.
37665 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37666 (DEFAULT_FG_COLOR): Removed.
37667 (DEFAULT_BG_COLOR): Likewise.
37668 (DEFAULT_CURSOR_COLOR): Changed value.
37669 (grub_virtual_screen): Added standard_color_setting,
37670 normal_color_setting, highlight_color_setting and term_color.
37671 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37672 (bitmap_width): Added.
37673 (bitmap_height): Likewise.
37674 (bitmap): Likewise.
37675 (set_term_color): Likewise.
37676 (grub_virtual_screen_setup): Changed to use new terminal coloring
37677 settings.
37678 (grub_gfxterm_init): Added init for bitmap.
37679 (grub_gfxterm_fini): Added destroy for bitmap.
37680 (redraw_screen_rect): Updated to use background bitmap and new
37681 terminal coloring.
37682 (scroll_up): Added optimization for case when there is no bitmap.
37683 (grub_gfxterm_cls): Fixed to use correct background color.
37684 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37685 coloring.
37686 (grub_virtual_screen_setcolor): Likewise.
37687 (grub_virtual_screen_getcolor): Added.
37688 (grub_gfxterm_background_image_cmd): Likewise.
37689 (grub_video_term): Added setcolor and getcolor.
37690 (MOD_INIT): Added registration of background_image command.
37691 (MOD_TERM): Added unregistration for background_image command.
37692
c3c20931 376932007-12-30 Pavel Roskin <proski@gnu.org>
37694
37695 * loader/multiboot_loader.c: Fix multiboot command
37696 unregistration. Fix all typos in the word "multiboot".
37697
df266716 376982007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37699
37700 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37701 support for initrd names used in Fedora.
37702
fc6e896c 377032007-12-26 Bean <bean123ch@gmail.com>
37704
37705 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37706 (cpio_mod_SOURCES): New variable.
37707 (cpio_mod_CFLAGS): Likewise.
37708 (cpio_mod_LDFLAGS): Likewise.
37709
37710 * fs/cpio.c: New file.
37711
37712 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37713
37714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37715
37716 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37717
37718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37719
533110ad 377202007-12-25 Robert Millan <rmh@aybabtu.com>
37721
37722 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37723 (grub_getcolor): New function.
37724
37725 * kern/term.c (grub_getcolor): New function.
37726 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37727 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37728 (print_entry): Set normal and highlight colors to
37729 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37730 respectively, before printing and restore them to old
37731 values afterwards.
37732 (grub_menu_init_page): Likewise. Fill an additional colored space
37733 that would otherwise be left blank.
37734
37735 * term/efi/console.c (grub_console_getcolor): New function.
37736 (struct grub_console_term.getcolor): New variable.
37737 * term/i386/pc/console.c (grub_console_getcolor): New function.
37738 (struct grub_console_term.getcolor): New variable.
37739 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37740 (struct grub_console_term.getcolor): New variable.
37741
37742 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37743 (struct grub_console_term.setcolor): Remove variable.
37744 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37745 (struct grub_console_term.setcolor): Remove variable.
37746 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37747 (struct grub_console_term.setcolor): Remove variable.
37748 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37749 (struct grub_console_term.setcolor): Remove variable.
37750
4931827f 377512007-12-25 Robert Millan <rmh@aybabtu.com>
37752
37753 * configure.ac: Search for possible unifont.hex locations, and
37754 define UNIFONT_HEX if found.
37755
37756 * Makefile.in (UNIFONT_HEX): Define variable.
37757 (DATA): Rename to ...
37758 (PKGLIB): ... this. Update all users.
37759 (PKGDATA): New variable.
37760 (pkgdata_IMAGES): Rename to ...
37761 (pkglib_IMAGES): ... this. Update all users.
37762 (pkgdata_MODULES): Rename to ...
37763 (pkglib_MODULES): ... this. Update all users.
37764 (pkgdata_PROGRAMS): Rename to ...
37765 (pkglib_PROGRAMS): ... this. Update all users.
37766 (pkgdata_DATA): Rename to ...
37767 (pkglib_DATA): ... this. Update all users.
37768 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37769 (unicode.pff, ascii.pff): New rules.
37770 (all-local): Add `$(PKGDATA)' dependency.
37771 (install-local): Process `$(PKGDATA)'.
37772
37773 * util/update-grub_lib.in (font_path): Search for *.pff files in
37774 a few more locations, including `${pkgdata}'.
37775
57e57e31 377762007-12-23 Robert Millan <rmh@aybabtu.com>
37777
37778 Patch from Bean <bean123ch@gmail.com>:
37779 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37780 `size'.
37781
4bc72aa9 377822007-12-21 Bean <bean123ch@gmail.com>
37783
37784 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37785 (ntfscomp_mod_SOURCES): New variable.
37786 (ntfscomp_mod_CFLAGS): Likewise.
37787 (ntfscomp_mod_LDFLAGS): Likewise.
37788
37789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37790 (grub_probe_SOURCES): Likewise.
37791 (grub_emu_SOURCES): Likewise.
37792
37793 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37794 (grub_emu_SOURCES): Likewise.
37795
37796 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37797 (grub_emu_SOURCES): Likewise.
37798
37799 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37800 (grub_emu_SOURCES): Likewise.
37801
37802 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37803 (read_run_list): Renamed to grub_ntfs_read_run_list.
37804 (decomp_nextvcn): Moved to ntfscomp.c.
37805 (decomp_getch): Likewise.
37806 (decomp_get16): Likewise.
37807 (decomp_block): Likewise.
37808 (read_block): Likewise.
37809 (read_data): Partially moved to ntfscomp.c.
37810 (fixup): Change unsigned to grub_uint16_t.
37811 (read_mft): Change unsigned long to grub_uint32_t.
37812 (read_attr): Likewise.
37813 (read_data): Likewise.
37814 (read_run_data): Likewise.
37815 (read_run_list): Likewise.
37816 (read_mft): Likewise.
37817
37818 * fs/ntfscomp.c: New file.
37819
37820 * include/grub/ntfs.h: New file.
37821
af680a87 378222007-12-16 Robert Millan <rmh@aybabtu.com>
37823
37824 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37825 IDE disk check, since Linux is known to support 20 IDE disks.
37826 Reported by Colin Watson.
37827
84be7599 378282007-12-15 Bean <bean123ch@gmail.com>
37829
37830 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37831 (lnxboot_img_SOURCES): New variable.
37832 (lnxboot_img_ASFLAGS): Likewise.
37833 (lnxboot_img_LDFLAGS): Likewise.
37834
37835 * boot/i386/pc/lnxboot.S: New file.
37836
6af9db01 378372007-11-24 Pavel Roskin <proski@gnu.org>
37838
37839 * configure.ac: Test if '--build-id=none' is supported by the
37840 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37841 objcopy to generate incorrect binary files (binutils
37842 2.17.50.0.18-1 as shipped by Fedora 8).
37843 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37844 linking, so that build ID doesn't break the test.
37845
7361cfe6 378462007-11-24 Pavel Roskin <proski@gnu.org>
37847
37848 * include/grub/i386/time.h: use "void" in the argument list
37849 of grub_cpu_idle().
37850 * include/grub/powerpc/time.h: Likewise.
37851 * include/grub/sparc64/time.h: Likewise.
37852
1593e10c 378532007-11-18 Christian Franke <franke@computer.org>
37854
37855 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37856 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37857 This fixes the problem that function keys did not work in grub-emu.
37858
3b8db1a8 378592007-11-18 Christian Franke <franke@computer.org>
37860
37861 * disk/host.c (grub_host_open): Remove attribute unused from
37862 name parameter. Add check for "host". This fixes the problem
37863 that grub-emu does not find partitions.
37864
2e29408d 378652007-11-18 Christian Franke <franke@computer.org>
37866
37867 * util/hostfs.c (is_dir): New function.
37868 (grub_hostfs_dir): Handle missing dirent.d_type case.
37869 (grub_hostfs_read): Add missing fseek().
37870 (grub_hostfs_label): Clear label pointer. This fixes a crash
37871 of grub-emu on "ls (host)".
37872
398cd047 378732007-11-18 Christian Franke <franke@computer.org>
37874
37875 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37876 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37877 to 64 bit boundary by default.
37878
c405c391 378792007-11-18 Bean <bean123ch@gmail.com>
37880
37881 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37882 (hexdump_mod_SOURCES): New variable.
37883 (hexdump_mod_CFLAGS): Likewise.
37884 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37885
c405c391 37886 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37887
37888 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37889
37890 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37891
37892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37893
37894 * include/grub/hexdump.h: New file.
37895
37896 * commands/hexdump.c: New file.
37897
5cced7fd 378982007-11-10 Robert Millan <rmh@aybabtu.com>
37899
37900 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37901 in grub_outb() calls.
37902 (beep_on): Likewise.
37903
8b714eb0 379042007-11-10 Christian Franke <franke@computer.org>
37905
37906 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37907 (grub_menu_run): Likewise.
37908
ce0f1839 379092007-11-10 Robert Millan <rmh@aybabtu.com>
37910
37911 * include/grub/i386/efi/machine.h: New file.
37912 * include/grub/i386/linuxbios/machine.h: Likewise.
37913 * include/grub/i386/pc/machine.h: Likewise.
37914 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37915 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37916
37917 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37918 (serial_hw_io_addr): New variable.
37919 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37920 instead of `(unsigned short *) 0x400'.
37921
270c237d 379222007-11-10 Bean <bean123ch@gmail.com>
37923
37924 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37925
a87783bf 379262007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37927
37928 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37929 (vga_mod_SOURCES): Added.
37930 (vga_mod_CFLAGS): Likewise.
37931 (vga_mod_LDFLAGS): Likewise.
37932
37933 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37934 grub_outb() calls.
37935 (set_map_mask): Likewise.
37936 (set_read_map): Likewise.
37937 (set_read_address): Likewise.
37938 (vga_font): Removed variable.
37939 (get_vga_glyph): Removed function.
37940 (invalidate_char): Likewise.
37941 (write_char): Changed to use grub_font_get_glyph() for font
37942 information.
37943 (grub_vga_putchar): Likewise.
37944 (grub_vga_getcharwidth): Likewise.
37945
6433b448 379462007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37947
37948 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37949 flags.
37950 (pxeboot_img_LDFLAGS): Likewise.
37951 (diskboot_img_LDFLAGS): Likewise.
37952 (kernel_img_LDFLAGS): Likewise.
37953
49178511 379542007-11-06 Robert Millan <rmh@aybabtu.com>
37955
37956 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37957 in grub_outb() calls.
37958 (serial_hw_init): Likewise.
37959
53b052de 379602007-11-05 Robert Millan <rmh@aybabtu.com>
37961
37962 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37963 spaces. Skip non-regular files.
37964
5ab33bba 379652007-11-05 Robert Millan <rmh@aybabtu.com>
37966
37967 * kern/disk.c (grub_disk_firmware_fini)
37968 (grub_disk_firmware_is_tainted): New variables.
37969
37970 * include/grub/disk.h (grub_disk_firmware_fini)
37971 (grub_disk_firmware_is_tainted): Likewise.
37972
37973 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37974 (grub_disk_biosdisk_fini): ... to here.
37975 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37976 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37977 is set. Register grub_disk_biosdisk_fini() in
37978 `grub_disk_firmware_fini'.
37979
37980 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37981 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37982 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37983 to finish existing firmware disk interface.
37984
37985 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37986 (ata_mod_SOURCES): New variable.
37987 (ata_mod_CFLAGS): Likewise.
37988 (ata_mod_LDFLAGS): Likewise.
37989
0149ab7c 379902007-11-05 Robert Millan <rmh@aybabtu.com>
37991
37992 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37993 (grub_ata_wait): Reimplement using grub_millisleep().
37994
37995 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37996 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37997
be7ac41e 379982007-11-03 Marco Gerards <marco@gnu.org>
37999
38000 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38001 (CRTC_ADDR_PORT): New macro.
38002 (CRTC_DATA_PORT): Likewise.
38003 (CRTC_CURSOR): Likewise.
38004 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38005 (CRTC_CURSOR_ADDR_LOW): Likewise.
38006 (update_cursor): New function.
38007 (grub_console_real_putchar): Call `update_cursor'.
38008 (grub_console_gotoxy): Likewise.
38009 (grub_console_cls): Set the default color when clearing the
38010 screen.
38011 (grub_console_setcursor): Implemented.
38012
bb06ab2e 380132007-11-03 Marco Gerards <marco@gnu.org>
38014
38015 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38016 become activate.
38017 (grub_ata_pio_write): Likewise.
38018
38019 (grub_atapi_identify): Wait after issuing an ATA command.
38020 (grub_atapi_packet): Likewise.
38021 (grub_ata_identify): Likewise.
38022 (grub_ata_readwrite): Likewise.
38023
cf8f780b 380242007-11-03 Marco Gerards <marco@gnu.org>
38025
38026 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38027 (grub_ata_pio_write): Likewise.
38028 (grub_ata_readwrite): Use `grub_error', instead of
38029 returning `grub_errno'.
38030
ed649e54 380312007-11-03 Marco Gerards <marco@gnu.org>
38032
38033 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38034 grub_ata_pio_write once for every single sector, instead of for
38035 multiple sectors.
38036
ca25d8f0 380372007-10-31 Robert Millan <rmh@aybabtu.com>
38038
38039 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38040
38041 * conf/i386-linuxbios.rmk: New file.
38042
38043 * kern/i386/pc/hardware.c: Likewise.
38044 * term/i386/pc/at_keyboard.c: Likewise.
38045 * term/i386/pc/vga_text.c: Likewise.
38046
38047 * include/grub/i386/linuxbios/boot.h: Likewise.
38048 * include/grub/i386/linuxbios/console.h: Likewise.
38049 * include/grub/i386/linuxbios/init.h: Likewise.
38050 * include/grub/i386/linuxbios/kernel.h: Likewise.
38051 * include/grub/i386/linuxbios/loader.h: Likewise.
38052 * include/grub/i386/linuxbios/memory.h: Likewise.
38053 * include/grub/i386/linuxbios/serial.h: Likewise.
38054 * include/grub/i386/linuxbios/time.h: Likewise.
38055
38056 * kern/i386/linuxbios/init.c: Likewise.
38057 * kern/i386/linuxbios/startup.S: Likewise.
38058 * kern/i386/linuxbios/table.c: Likewise.
38059
e911ecc1 380602007-10-31 Marco Gerards <marco@gnu.org>
38061
38062 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38063 (ata_mod_SOURCES): New variable.
38064 (ata_mod_CFLAGS): Likewise.
38065 (ata_mod_LDFLAGS): Likewise.
38066
38067 * disk/ata.c: New file.
38068
38069 * include/grub/disk.h (grub_disk_dev_id): Add
38070 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38071
7f66d0e0 380722007-10-31 Robert Millan <rmh@aybabtu.com>
38073
38074 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38075 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38076
38077 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38078 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38079
38080 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38081 `<grub/types.h>'.
38082
38083 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38084
5cd7dd46 380852007-10-27 Robert Millan <rmh@aybabtu.com>
38086
3236ca65 38087 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38088
2ebfc90f 380892007-10-22 Robert Millan <rmh@aybabtu.com>
38090
38091 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38092 `"../realmode.S"'.
38093 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38094
73fcb0f3 380952007-10-22 Robert Millan <rmh@aybabtu.com>
38096
38097 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38098 (pkgdata_MODULES): Add `biosdisk.mod'.
38099 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38100 variables.
38101
38102 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38103 (grub_biosdisk_init): Replace with ...
38104 (GRUB_MOD_INIT(biosdisk)): ... this.
38105 (grub_biosdisk_fini): Replace with ...
38106 (GRUB_MOD_FINI(biosdisk)): ... this.
38107
38108 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38109 (grub_machine_init): Remove call to grub_biosdisk_init().
38110 (grub_machine_fini): Remove call to grub_machine_fini().
38111
38112 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38113
3381d274 381142007-10-22 Robert Millan <rmh@aybabtu.com>
38115
38116 * include/grub/time.h: New file.
38117 * include/grub/i386/time.h: Likewise.
38118 * include/grub/powerpc/time.h: Likewise.
38119 * include/grub/sparc64/time.h: Likewise.
38120
38121 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38122 instances to ...
38123 (KERNEL_MACHINE_TIME_HEADER): ... this.
38124 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38125 instances to ...
38126 (KERNEL_MACHINE_TIME_HEADER): ... this.
38127 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38128 instances to ...
38129 (KERNEL_MACHINE_TIME_HEADER): ... this.
38130
38131 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38132 (grub_millisleep): New function.
38133 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38134 (grub_millisleep): New function.
38135 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38136 Remove `grub/machine/time.h' include.
38137 (grub_millisleep): New function.
38138 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38139 Remove `grub/machine/time.h' include.
38140 (grub_millisleep): New function.
38141
38142 * include/grub/misc.h (grub_div_roundup): New function.
38143
38144 * kern/misc.c: Include `<grub/time.h>'.
38145 (grub_millisleep_generic): New function.
38146
38147 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38148 Add `time.h'.
38149 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38150 Add `time.h'.
38151 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38152 `machine/time.h'. Add `time.h'.
38153 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38154
a39a0312 381552007-10-21 Robert Millan <rmh@aybabtu.com>
38156
38157 * include/grub/misc.h (grub_max): New function.
38158
2aad70e2 381592007-10-21 Robert Millan <rmh@aybabtu.com>
38160
38161 * util/misc.c (grub_util_info): Call fflush() before returning.
38162
54b71c4b 381632007-10-20 Robert Millan <rmh@aybabtu.com>
38164
38165 * genmk.rb (Image): Copy `extra_flags' from here ...
38166 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38167
38168 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38169 to `argc' and `args' arguments.
38170
a979f513 381712007-10-17 Robert Millan <rmh@aybabtu.com>
38172
38173 * kern/i386/loader.S: New file.
38174
38175 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38176 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38177 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38178 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38179 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38180 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38181 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38182 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38183 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38184 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38185 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38186 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38187 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38188 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38189
38190 * kern/i386/realmode.S: New file.
38191
38192 * kern/i386/pc/startup.S (protstack): Moved from here ...
38193 * kern/i386/realmode.S (protstack)... to here.
38194 * kern/i386/pc/startup.S (gdt): Moved from here ...
38195 * kern/i386/realmode.S (gdt)... to here.
38196 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38197 * kern/i386/realmode.S (prot_to_real)... to here.
38198
38199 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38200 `kern/i386/realmode.S'.
38201
825fc8fd 382022007-10-17 Robert Millan <rmh@aybabtu.com>
38203
38204 * include/grub/i386/loader.h: New file.
38205
38206 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38207 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38208 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38209 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38210 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38211 * include/grub/i386/loader.h (grub_linux_prot_size)
38212 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38213 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38214 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38215 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38216
38217 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38218
e179b2f4 382192007-10-15 Robert Millan <rmh@aybabtu.com>
38220
38221 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38222 filesystem when dev->disk is unset.
38223 Do probe for filesystem even when dev->disk->has_partitions is set.
38224 In case a filesystem is found, always report it.
38225 In case it isn't, if dev->disk->has_partitions is set, report that
38226 a partition table was found instead of reporting that no filesystem
38227 could be identified.
38228
5db82af6 382292007-10-12 Robert Millan <rmh@aybabtu.com>
38230
38231 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38232 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38233
68f6ac74 38234 * include/grub/types.h (grub_host_to_target16): New macro.
38235 (grub_host_to_target32): Likewise.
38236 (grub_host_to_target64): Likewise.
38237 (grub_target_to_host16): Likewise.
38238 (grub_target_to_host32): Likewise.
38239 (grub_target_to_host64): Likewise.
5db82af6 38240
38241 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38242 Renamed from to ...
38243 (GRUB_MOD_ALIGN): ...this. Update all users.
38244
68f6ac74 38245 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38246 grub_host_to_target32.
38247 Replace grub_be_to_cpu32 with grub_target_to_host32.
38248 (load_modules): Likewise.
38249 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38250 Replace grub_be_to_cpu32 with grub_target_to_host32.
38251 Replace grub_cpu_to_be16 with grub_host_to_target16.
38252 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38253
3cf497cc 382542007-10-12 Robert Millan <rmh@aybabtu.com>
38255
38256 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38257 * util/elf/grub-mkimage.c: ... here.
38258
38259 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38260 `util/powerpc/ieee1275/grub-mkimage.c'.
38261
c8cc3692 382622007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38263
c8cc3692 38264 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38265 and make it easier to figure out.
38266 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38267 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38268 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38269 leave us with less than HEAP_MIN_SIZE total heap.
38270 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38271
5c58b791 382722007-10-03 Robert Millan <rmh@aybabtu.com>
38273
38274 * include/grub/i386/io.h: New file.
38275 * commands/i386/pc/play.c (inb): Removed.
38276 (outb): Removed.
38277 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38278 with grub_outb().
afcd2ef8 38279 * term/i386/pc/serial.c (inb): Removed.
38280 (outb): Removed.
38281 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38282 with grub_outb().
38283 * term/i386/pc/vga.c (inb): Removed.
38284 (outb): Removed.
38285 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38286 with grub_outb().
5c58b791 38287
1a477ed6 382882007-10-02 Robert Millan <rmh@aybabtu.com>
38289
38290 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38292 Reported by Marcin Kurek.
38293
6b5d80fa 382942007-09-07 Robert Millan <rmh@aybabtu.com>
38295
38296 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38297 SmartFirmware version updates (as released by Sven Luther), and avoid
38298 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38299 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38300 known broken.
38301
5618afbf 383022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38303
38304 From Hitoshi Ozeki:
38305 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38306 when merging two regions.
38307
6139dcd9 383082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38309
508e39ee 38310 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38311 * normal/completion.c (grub_normal_do_completion): Likewise.
38312 Reported by Hitoshi Ozeki.
38313
383142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38315
6139dcd9 38316 Do not use devices at boot in chainloading.
f19dbdb7 38317
6139dcd9 38318 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38319 (boot_part_addr): Likewise.
38320 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38321 with BOOT_DRIVE and BOOT_PART_ADDR.
38322 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38323 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38324
38da6516 383252007-08-29 Robert Millan <rmh@aybabtu.com>
38326
38327 Patch from Simon Peter <dn.tlp@gmx.net>:
38328 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38329 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38330 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38331 util/i386/pc/grub-setup.c_DEPENDENCIES.
38332 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38333 util/grub-probe.c_DEPENDENCIES.
38334 * conf/powerpc-ieee1275.rmk: Likewise.
38335
29d0928c 383362007-08-28 Robert Millan <rmh@aybabtu.com>
38337
38338 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38339 to tell grub-mkdevicemap how to name devices.
38340 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38341 feature).
38342
38343 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38344 util/i386/get_disk_name.c.
38345 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38346 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38347 util/ieee1275/get_disk_name.c.
38348
38349 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38350
38351 * DISTLIST: Add util/i386/get_disk_name.c and
38352 util/ieee1275/get_disk_name.c.
38353
38354 * util/grub-mkdevicemap.c: Replace device naming logic with
38355 grub_util_get_disk_name() calls.
38356
5a0d3cca 383572007-08-20 Robert Millan <rmh@aybabtu.com>
38358
38359 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38360 (so that it works for both plural and singular quantities).
38361
8b72db2f 383622007-08-05 Robert Millan <rmh@aybabtu.com>
38363
38364 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38365 so that [xz] isn't taken into account when determining order.
38366
352466bf 383672007-08-02 Marco Gerards <marco@gnu.org>
38368
38369 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38370 `include/multiboot2.h', `include/grub/elfload.h',
38371 `include/multiboot.h', `include/grub/multiboot.h',
38372 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38373 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38374 `kern/elf.c', `loader/multiboot_loader.c',
38375 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38376 `loader/i386/pc/multiboot2.c',
38377 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38378 `util/i386/pc/grub-mkrescue.in'. Remove
38379 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38380 `include/grub/i386/pc/util/biosdisk.h' and
38381 `include/grub/powerpc/ieee1275/multiboot.h'.
38382
8f096014 383832007-08-02 Bean <bean123ch@gmail.com>
38384
38385 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38386 (ntfs_mod_SOURCES): New variable.
38387 (ntfs_mod_CFLAGS): Likewise.
38388 (ntfs_mod_LDFLAGS): Likewise.
38389
38390 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38391 (grub_probe_SOURCES): Likewise.
38392 (grub_emu_SOURCES): Likewise.
38393
38394 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38395 (grub_emu_SOURCES): Likewise.
38396
38397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38398 (grub_emu_SOURCES): Likewise.
f19dbdb7 38399
8f096014 38400 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38401
38402 * fs/ntfs.c: New file.
38403
9959f7db 384042007-08-02 Bean <bean123ch@gmail.com>
38405
38406 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38407
38408 * file.h (grub_file): Likewise.
38409
38410 * fshelp.h (grub_fshelp_read_file): Likewise.
38411
38412 * util/i386/pc/grub-setup.c (setup): Likewise.
38413 (save_first_sector): Likewise.
38414 (save_blocklists): Likewise.
f19dbdb7 38415
9959f7db 38416 * fs/affs.c (grub_affs_read_file): Likewise.
38417
38418 * fs/ext2.c (grub_ext2_read_file): Likewise.
38419
38420 * fs/fat.c (grub_fat_read_data): Likewise.
38421
38422 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38423
38424 * fs/hfs.c (grub_hfs_read_file): Likewise.
38425
38426 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38427
38428 * fs/jfs.c (grub_jfs_read_file): Likewise.
38429
38430 * fs/minix.c (grub_minix_read_file): Likewise.
38431
38432 * fs/sfs.c (grub_sfs_read_file): Likewise.
38433
38434 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38435
9959f7db 38436 * fs/xfs.c (grub_xfs_read_file): Likewise.
38437
38438 * command/blocklist.c (read_blocklist): Likewise.
38439 (print_blocklist): Likewise.
38440
0a203f83 384412007-08-02 Marco Gerards <marco@gnu.org>
38442
38443 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38444 `util/hostfs.c'.
38445
38446 * disk/host.c: New file.
38447
38448 * util/hostfs.c: Likewise.
38449
38450 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38451 return `GRUB_ERR_BAD_FS'.
38452 * fs/sfs.c (grub_sfs_mount): Likewise.
38453 * fs/xfs.c (grub_xfs_mount): Likewise.
38454
38455 * include/grub/disk.h (enum grub_disk_dev_id): Add
38456 `GRUB_DISK_DEVICE_HOST_ID'.
38457
38458 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38459
e5dfe777 384602007-07-24 Jerone Young <jerone@gmail.com>
38461
f19dbdb7 38462 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38463 modules for compilation.
38464 * conf/powerpc-ieee1275.rmk: Likewise.
38465
38466 * include/multiboot.h: Move multiboot definitions to one file. Rename
38467 many definitions to not get grub specific.
38468 * include/multiboot2.h: Create header with multiboot 2 definitions.
38469 * include/grub/multiboot.h: Header for grub specific function
38470 prototypes and definitions.
38471 * include/grub/multiboot2.h: Likewise.
38472 * include/grub/multiboot_loader.h: Likewise.
38473 * include/grub/i386/pc/multiboot.h: Removed.
38474 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38475
38476 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38477 and 2 to allow for one multiboot and module commands.
38478 * loader/multiboot2.c: Add multiboot2 functionality.
38479 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38480 and definition names.
38481 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38482 2 functions.
38483 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38484 ieee1275 specific multiboot2 code.
38485
38486 * kern/i386/pc/startup.S: Change headers and definition names for
38487 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38488
daf0f0ba 384892007-07-22 Robert Millan <rmh@aybabtu.com>
38490
38491 * geninitheader.sh: Process file specified in first parameter rather
38492 than hardcoding grub_modules_init.lst.
fe6b695a 38493 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38494 than hardcoding grub_modules_init.h.
38495
38496 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38497 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38498 grub_probe_init.[ch] and grub_setup_init.[ch].
38499
38500 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38501 grub_modules_init.h with grub_emu_init.h.
38502 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38503 grub_probe_init.[ch] files.
38504 * conf/i386-efi.rmk: Likewise.
38505 * conf/i386-pc.rmk: Likewise.
38506 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38507 grub_setup_init.[ch] files.
38508
38509 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38510 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38511 to initialize modules rather than a list of hardcoded functions.
38512 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38513 grub_init_all() to initialize modules rather than a list of hardcoded
38514 functions.
38515
54cdc1cc 385162007-07-22 Robert Millan <rmh@aybabtu.com>
38517
38518 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38519 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38520
ad0686cc 385212007-07-22 Robert Millan <rmh@aybabtu.com>
38522
38523 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38524 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38525 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38526 flag when running on SmartFirmware.
38527 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38528 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38529 was set.
38530
38531 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38532 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38533 rather than decreasing it.
38534
38535 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38536 there's not enough space to do it, fail in the same way as when it
38537 can't be done because there are no partitions.
38538
38539 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38540 when nvsetenv failed.
38541
969c02ec 385422007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38543
38544 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38545 because this rule is automatically generated.
38546 (grub-mkrescue): Removed for the same reason as above.
38547
5a79f472 385482007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38549
38550 Migrate to GNU General Public License Version 3.
f19dbdb7 38551
5a79f472 38552 * COPYING: Replaced with the plain text version of GPLv3.
38553
38554 * config.guess: Updated from gnulib.
38555 * config.sub: Likewise.
38556
38557 * geninit.sh: Output a GPLv3 copyright notice.
38558 * geninitheader.sh: Likewise.
38559 * genmodsrc.sh: Likewise.
38560 * gensymlist.sh.in: Likewise.
38561
38562 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38563 * boot/i386/pc/diskboot.S: Likewise.
38564 * boot/i386/pc/pxeboot.S: Likewise.
38565 * commands/blocklist.c: Likewise.
38566 * commands/boot.c: Likewise.
38567 * commands/cat.c: Likewise.
38568 * commands/cmp.c: Likewise.
38569 * commands/configfile.c: Likewise.
38570 * commands/echo.c: Likewise.
38571 * commands/help.c: Likewise.
38572 * commands/ls.c: Likewise.
38573 * commands/search.c: Likewise.
38574 * commands/terminal.c: Likewise.
38575 * commands/test.c: Likewise.
38576 * commands/videotest.c: Likewise.
38577 * commands/i386/cpuid.c: Likewise.
38578 * commands/i386/pc/halt.c: Likewise.
38579 * commands/i386/pc/play.c: Likewise.
38580 * commands/i386/pc/reboot.c: Likewise.
38581 * commands/i386/pc/vbeinfo.c: Likewise.
38582 * commands/i386/pc/vbetest.c: Likewise.
38583 * commands/ieee1275/halt.c: Likewise.
38584 * commands/ieee1275/reboot.c: Likewise.
38585 * commands/ieee1275/suspend.c: Likewise.
38586 * disk/loopback.c: Likewise.
38587 * disk/lvm.c: Likewise.
38588 * disk/raid.c: Likewise.
38589 * disk/efi/efidisk.c: Likewise.
38590 * disk/i386/pc/biosdisk.c: Likewise.
38591 * disk/ieee1275/ofdisk.c: Likewise.
38592 * font/manager.c: Likewise.
38593 * fs/affs.c: Likewise.
38594 * fs/ext2.c: Likewise.
38595 * fs/fat.c: Likewise.
38596 * fs/fshelp.c: Likewise.
38597 * fs/hfs.c: Likewise.
38598 * fs/hfsplus.c: Likewise.
38599 * fs/iso9660.c: Likewise.
38600 * fs/jfs.c: Likewise.
38601 * fs/minix.c: Likewise.
38602 * fs/sfs.c: Likewise.
38603 * fs/ufs.c: Likewise.
38604 * fs/xfs.c: Likewise.
38605 * hello/hello.c: Likewise.
38606 * include/grub/acorn_filecore.h: Likewise.
38607 * include/grub/arg.h: Likewise.
38608 * include/grub/bitmap.h: Likewise.
38609 * include/grub/boot.h: Likewise.
38610 * include/grub/cache.h: Likewise.
38611 * include/grub/device.h: Likewise.
38612 * include/grub/disk.h: Likewise.
38613 * include/grub/dl.h: Likewise.
38614 * include/grub/elfload.h: Likewise.
38615 * include/grub/env.h: Likewise.
38616 * include/grub/err.h: Likewise.
38617 * include/grub/file.h: Likewise.
38618 * include/grub/font.h: Likewise.
38619 * include/grub/fs.h: Likewise.
38620 * include/grub/fshelp.h: Likewise.
38621 * include/grub/gzio.h: Likewise.
38622 * include/grub/hfs.h: Likewise.
38623 * include/grub/kernel.h: Likewise.
38624 * include/grub/loader.h: Likewise.
38625 * include/grub/lvm.h: Likewise.
38626 * include/grub/misc.h: Likewise.
38627 * include/grub/mm.h: Likewise.
38628 * include/grub/net.h: Likewise.
38629 * include/grub/normal.h: Likewise.
38630 * include/grub/parser.h: Likewise.
38631 * include/grub/partition.h: Likewise.
38632 * include/grub/pc_partition.h: Likewise.
38633 * include/grub/raid.h: Likewise.
38634 * include/grub/rescue.h: Likewise.
38635 * include/grub/script.h: Likewise.
38636 * include/grub/setjmp.h: Likewise.
38637 * include/grub/symbol.h: Likewise.
38638 * include/grub/term.h: Likewise.
38639 * include/grub/terminfo.h: Likewise.
38640 * include/grub/tparm.h: Likewise.
38641 * include/grub/types.h: Likewise.
38642 * include/grub/video.h: Likewise.
38643 * include/grub/efi/api.h: Likewise.
38644 * include/grub/efi/chainloader.h: Likewise.
38645 * include/grub/efi/console.h: Likewise.
38646 * include/grub/efi/console_control.h: Likewise.
38647 * include/grub/efi/disk.h: Likewise.
38648 * include/grub/efi/efi.h: Likewise.
38649 * include/grub/efi/pe32.h: Likewise.
38650 * include/grub/efi/time.h: Likewise.
38651 * include/grub/i386/linux.h: Likewise.
38652 * include/grub/i386/setjmp.h: Likewise.
38653 * include/grub/i386/types.h: Likewise.
38654 * include/grub/i386/efi/kernel.h: Likewise.
38655 * include/grub/i386/efi/loader.h: Likewise.
38656 * include/grub/i386/efi/time.h: Likewise.
38657 * include/grub/i386/pc/biosdisk.h: Likewise.
38658 * include/grub/i386/pc/boot.h: Likewise.
38659 * include/grub/i386/pc/chainloader.h: Likewise.
38660 * include/grub/i386/pc/console.h: Likewise.
38661 * include/grub/i386/pc/init.h: Likewise.
38662 * include/grub/i386/pc/kernel.h: Likewise.
38663 * include/grub/i386/pc/loader.h: Likewise.
38664 * include/grub/i386/pc/memory.h: Likewise.
38665 * include/grub/i386/pc/multiboot.h: Likewise.
38666 * include/grub/i386/pc/serial.h: Likewise.
38667 * include/grub/i386/pc/time.h: Likewise.
38668 * include/grub/i386/pc/vbe.h: Likewise.
38669 * include/grub/i386/pc/vbeblit.h: Likewise.
38670 * include/grub/i386/pc/vbefill.h: Likewise.
38671 * include/grub/i386/pc/vbeutil.h: Likewise.
38672 * include/grub/i386/pc/vga.h: Likewise.
38673 * include/grub/ieee1275/ieee1275.h: Likewise.
38674 * include/grub/ieee1275/ofdisk.h: Likewise.
38675 * include/grub/powerpc/libgcc.h: Likewise.
38676 * include/grub/powerpc/setjmp.h: Likewise.
38677 * include/grub/powerpc/types.h: Likewise.
38678 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38679 * include/grub/powerpc/ieee1275/console.h: Likewise.
38680 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38681 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38682 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38683 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38684 * include/grub/powerpc/ieee1275/time.h: Likewise.
38685 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38686 * include/grub/sparc64/libgcc.h: Likewise.
38687 * include/grub/sparc64/setjmp.h: Likewise.
38688 * include/grub/sparc64/types.h: Likewise.
38689 * include/grub/sparc64/ieee1275/console.h: Likewise.
38690 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38691 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38692 * include/grub/sparc64/ieee1275/time.h: Likewise.
38693 * include/grub/util/biosdisk.h: Likewise.
38694 * include/grub/util/getroot.h: Likewise.
38695 * include/grub/util/lvm.h: Likewise.
38696 * include/grub/util/misc.h: Likewise.
38697 * include/grub/util/raid.h: Likewise.
38698 * include/grub/util/resolve.h: Likewise.
38699 * io/gzio.c: Likewise.
38700 * kern/device.c: Likewise.
38701 * kern/disk.c: Likewise.
38702 * kern/dl.c: Likewise.
38703 * kern/elf.c: Likewise.
38704 * kern/env.c: Likewise.
38705 * kern/err.c: Likewise.
38706 * kern/file.c: Likewise.
38707 * kern/fs.c: Likewise.
38708 * kern/loader.c: Likewise.
38709 * kern/main.c: Likewise.
38710 * kern/misc.c: Likewise.
38711 * kern/mm.c: Likewise.
38712 * kern/parser.c: Likewise.
38713 * kern/partition.c: Likewise.
38714 * kern/rescue.c: Likewise.
38715 * kern/term.c: Likewise.
38716 * kern/efi/efi.c: Likewise.
38717 * kern/efi/init.c: Likewise.
38718 * kern/efi/mm.c: Likewise.
38719 * kern/i386/dl.c: Likewise.
38720 * kern/i386/efi/init.c: Likewise.
38721 * kern/i386/efi/startup.S: Likewise.
38722 * kern/i386/pc/init.c: Likewise.
38723 * kern/i386/pc/lzo1x.S: Likewise.
38724 * kern/i386/pc/startup.S: Likewise.
38725 * kern/ieee1275/ieee1275.c: Likewise.
38726 * kern/powerpc/cache.S: Likewise.
38727 * kern/powerpc/dl.c: Likewise.
38728 * kern/powerpc/ieee1275/cmain.c: Likewise.
38729 * kern/powerpc/ieee1275/crt0.S: Likewise.
38730 * kern/powerpc/ieee1275/init.c: Likewise.
38731 * kern/powerpc/ieee1275/openfw.c: Likewise.
38732 * kern/sparc64/cache.S: Likewise.
38733 * kern/sparc64/dl.c: Likewise.
38734 * kern/sparc64/ieee1275/init.c: Likewise.
38735 * kern/sparc64/ieee1275/openfw.c: Likewise.
38736 * loader/efi/chainloader.c: Likewise.
38737 * loader/efi/chainloader_normal.c: Likewise.
38738 * loader/i386/efi/linux.c: Likewise.
38739 * loader/i386/efi/linux_normal.c: Likewise.
38740 * loader/i386/pc/chainloader.c: Likewise.
38741 * loader/i386/pc/chainloader_normal.c: Likewise.
38742 * loader/i386/pc/linux.c: Likewise.
38743 * loader/i386/pc/linux_normal.c: Likewise.
38744 * loader/i386/pc/multiboot.c: Likewise.
38745 * loader/i386/pc/multiboot_normal.c: Likewise.
38746 * loader/powerpc/ieee1275/linux.c: Likewise.
38747 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38748 * normal/arg.c: Likewise.
38749 * normal/cmdline.c: Likewise.
38750 * normal/command.c: Likewise.
38751 * normal/completion.c: Likewise.
38752 * normal/execute.c: Likewise.
38753 * normal/function.c: Likewise.
38754 * normal/lexer.c: Likewise.
38755 * normal/main.c: Likewise.
38756 * normal/menu.c: Likewise.
38757 * normal/menu_entry.c: Likewise.
38758 * normal/misc.c: Likewise.
38759 * normal/parser.y: Likewise.
38760 * normal/script.c: Likewise.
38761 * normal/i386/setjmp.S: Likewise.
38762 * normal/powerpc/setjmp.S: Likewise.
38763 * normal/sparc64/setjmp.S: Likewise.
38764 * partmap/acorn.c: Likewise.
38765 * partmap/amiga.c: Likewise.
38766 * partmap/apple.c: Likewise.
38767 * partmap/gpt.c: Likewise.
38768 * partmap/pc.c: Likewise.
38769 * partmap/sun.c: Likewise.
38770 * term/gfxterm.c: Likewise.
38771 * term/terminfo.c: Likewise.
38772 * term/efi/console.c: Likewise.
38773 * term/i386/pc/console.c: Likewise.
38774 * term/i386/pc/serial.c: Likewise.
38775 * term/i386/pc/vesafb.c: Likewise.
38776 * term/i386/pc/vga.c: Likewise.
38777 * term/ieee1275/ofconsole.c: Likewise.
38778 * util/biosdisk.c: Likewise.
38779 * util/console.c: Likewise.
38780 * util/genmoddep.c: Likewise.
38781 * util/getroot.c: Likewise.
38782 * util/grub-emu.c: Likewise.
38783 * util/grub-mkdevicemap.c: Likewise.
38784 * util/grub-probe.c: Likewise.
38785 * util/lvm.c: Likewise.
38786 * util/misc.c: Likewise.
38787 * util/raid.c: Likewise.
38788 * util/resolve.c: Likewise.
38789 * util/update-grub.in: Likewise.
38790 * util/update-grub_lib.in: Likewise.
38791 * util/grub.d/00_header.in: Likewise.
38792 * util/grub.d/10_hurd.in: Likewise.
38793 * util/grub.d/10_linux.in: Likewise.
38794 * util/i386/efi/grub-install.in: Likewise.
38795 * util/i386/efi/grub-mkimage.c: Likewise.
38796 * util/i386/pc/grub-install.in: Likewise.
38797 * util/i386/pc/grub-mkimage.c: Likewise.
38798 * util/i386/pc/grub-mkrescue.in: Likewise.
38799 * util/i386/pc/grub-setup.c: Likewise.
38800 * util/i386/pc/misc.c: Likewise.
38801 * util/powerpc/ieee1275/grub-install.in: Likewise.
38802 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38803 * util/powerpc/ieee1275/misc.c: Likewise.
38804 * video/bitmap.c: Likewise.
38805 * video/video.c: Likewise.
38806 * video/i386/pc/vbe.c: Likewise.
38807 * video/i386/pc/vbeblit.c: Likewise.
38808 * video/i386/pc/vbefill.c: Likewise.
38809 * video/i386/pc/vbeutil.c: Likewise.
38810 * video/readers/tga.c: Likewise.
38811
3572d015 388122007-07-02 Robert Millan <rmh@aybabtu.com>
38813
38814 * conf/i386-efi.rmk: Replace obsolete reference to
38815 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38816 with util/getroot.c.
38817 * conf/powerpc-ieee1275.rmk: Likewise.
38818 * conf/sparc64-ieee1275.rmk: Likewise.
38819
38820 * util/grub-emu.c (main): Fix unchecked pointer handling.
38821
2c2a681b 388222007-07-02 Robert Millan <rmh@aybabtu.com>
38823
38824 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38825 invocation to fail, in order to support partition-less media.
38826
38827 * util/i386/pc/grub-install.in: Likewise.
38828
38829 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38830 which fs or partmap modules are needed (akin to its sister scripts).
38831
38832 Also use grub-probe to get rid of unportable /proc/mounts check.
38833
38834 Print the same informational message that the other scripts do, before
fe6b695a 38835 exiting.
2c2a681b 38836
6193defe 388372007-06-23 Robert Millan <rmh@aybabtu.com>
38838
fe6b695a 38839 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38840 a font file can be found and, if so, echo the GRUB path to it.
38841
38842 * util/update-grub.in: Handle multiple terminals depending on user
38843 input, platform availability and font file presence. Propagate
38844 variables of our findings to /etc/grub.d/ children.
38845
38846 * util/grub.d/00_header.in: Handle multiple terminals, based on
38847 environment setup by update-grub.
38848
eface1dc 388492007-06-23 Robert Millan <rmh@aybabtu.com>
38850
ba50d28f 38851 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38852
bf697e28 388532007-06-21 Robert Millan <rmh@aybabtu.com>
38854
38855 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38856 indicate end of data section in kernel image.
38857 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38858 GRUB_KERNEL_MACHINE_DATA_END.
38859
38860 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38861 space for it.
38862 * kern/i386/efi/startup.S: Likewise.
38863
38864 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38865 during image generation. Implement --prefix option to override this
38866 patch.
38867 * util/i386/efi/grub-mkimage.c: Likewise.
38868
38869 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38870 code to make path relative to its root into a separate function.
38871
38872 * util/i386/pc/grub-install.in: Use newly provided
38873 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38874 pass the result to grub-install --prefix.
38875
baa574b4 388762007-06-13 Robert Millan <rmh@aybabtu.com>
38877
38878 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38879 DEFAULT_DEVICE_MAP.
38880 * util/grub-emu.c: Use above definitions from misc.h instead of
38881 defining them.
38882 * util/grub-mkdevicemap.c: Likewise.
38883 * util/i386/pc/grub-setup.c: Likewise.
38884 * util/grub-probe.c: Likewise.
38885 (probe): Abort with grub_util_error() when either
38886 grub_guess_root_device or grub_util_get_grub_dev fails.
38887
0215dcbf 388882007-06-12 Robert Millan <rmh@aybabtu.com>
38889
38890 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38891 "pager" assignment.
38892 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38893 "pcdata".
38894 * util/grub-probe.c (probe): Likewise for "drive_name".
38895
8af2ab7b 388962007-06-11 Robert Millan <rmh@aybabtu.com>
38897
38898 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38899 not just the cdrom one.
38900
59d31694 389012007-06-11 Robert Millan <rmh@aybabtu.com>
38902
38903 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38904 Add --pkglibdir=DIR option to override pkglibdir.
38905 Mention --image-type=TYPE in help output.
38906 Fix --grub-mkimage (it was a no-op).
fe6b695a 38907 Abort gracefully when no parameter is given.
59d31694 38908
7ee367e4 389092007-06-11 Robert Millan <rmh@aybabtu.com>
38910
38911 * util/i386/pc/grub-mkrescue.in: New file.
38912 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38913 * Makefile.in: Handle bin_SCRIPTS.
38914
29b0ed46 389152007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38916
38917 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38918 list of video modes.
38919
c0f90770 389202007-06-06 Robert Millan <rmh@aybabtu.com>
38921
38922 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38923 file doesn't exist, or if it is in a filesystem grub can't read.
38924
38925 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38926 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38927 header comment to fit in 80 columns when the variables are resolved.
38928
38929 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38930 could be identified by update-grub. Remove redundant check for
fe6b695a 38931 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38932 handles that).
38933
fb36dc26 389342007-06-04 Robert Millan <rmh@aybabtu.com>
38935
38936 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38937
38938 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38939
38940 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38941
0c68c93e 389422007-06-04 Robert Millan <rmh@aybabtu.com>
38943
38944 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38945
38946 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38947 grub_apple_partition_map_fini.
38948
38949 * util/biosdisk.c
38950 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38951 to access >2 TiB disks).
38952
38953 Print disk->total_sectors with %llu instead of %lu, since this
38954 variable is always 64-bit (prevents wrong disk size from being displayed
38955 on either >2 TiB disk or big-endian CPU).
38956
38957 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38958 into a generic case that supports all (sane) partition maps.
38959
38960 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38961 breaks big-endian.
38962
38963 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38964 and grub_apple_partition_map_fini() after that.
38965
0f23eb74 389662007-06-01 Robert Millan <rmh@aybabtu.com>
38967
38968 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38969
38970 * util/grub.d/00_header.in: Only enable gfxterm when
38971 convert_system_path_to_grub_path() succeeds.
38972
42c71976 389732007-05-20 Robert Millan <rmh@aybabtu.com>
38974
38975 * util/update-grub_lib.in: New file.
38976 * DISTLIST: Add update-grub_lib.in.
38977 * conf/common.rmk: Generate update-grub_lib and install it in
38978 $(lib_DATA).
38979 * Makefile.in: Add install routine for $(lib_DATA).
38980
38981 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38982 function provided by update-grub_lib to support arbitrary paths of
38983 unifont.pff.
38984 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38985 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38986
5beb2291 389872007-05-19 Robert Millan <rmh@aybabtu.com>
38988
38989 * commands/i386/cpuid.c: New module.
38990 * DISTLIST: Add it.
38991 * conf/i386-efi.rmk: Enable cpuid.mod.
38992 * conf/i386-pc.rmk: Likewise.
38993
7262eca1 389942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38995
38996 * kern/disk.c (grub_disk_read): Check return value of
38997 grub_realloc().
38998
260ba823 389992007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39000
39001 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39002 arrays.
39003 * disk/raid.c (grub_raid_open): Likewise.
39004
1ecb6cf2 390052007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39006
39007 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39008 stack instead of on the heap.
39009
39010 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39011 before doing a read on it.
39012
39013 * configure.ac: Only use -fno-stack-protector for the target
39014 environment.
f19dbdb7 39015
21c8cbb1 390162007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39017
39018 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39019 __attribute_ ((unused)) to mode_type argument.
39020
39021 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39022
21c8cbb1 39023 * kern/misc.c (memcmp): Fix prototype.
39024
39025 * include/grub/partition.h [GRUB_UTIL]
39026 (grub_gpt_partition_map_init): Add prototype.
39027 (grub_gpt_partition_map_fini): Likewise.
39028
39029 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39030 at the right place.
39031
39032 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39033 (grub_fat_read_data): Likewise.
39034 (grub_fat_find_dir): Likewise.
39035
39036 * font/manager.c (find_glyph): Make table a const.
39037 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39038
849d55d3 390392007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39040
39041 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39042 code, first search for device in /dev/mapper, then in /dev.
39043 (grub_util_get_grub_dev): New function.
39044 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39045 prototype.
39046 * util/grub-probe.c (probe): Remove check for RAID, call
39047 grub_util_get_grub_dev() instead of
39048 grub_util_biosdisk_get_grub_dev().
39049 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39050 grub_util_biosdisk_get_grub_dev().
39051 * util/i386/pc/grub-setup.c (main): Likewise.
39052
8fff7c2f 390532007-05-16 Robert Millan <rmh@aybabtu.com>
39054
39055 * DISTLIST: Update for the latest changes.
39056 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39057 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39058 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39059 grub/util/biosdisk.h.
39060 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39061 grub/util/biosdisk.h.
39062
48e12b52 390632007-05-16 Robert Millan <rmh@aybabtu.com>
39064
39065 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39066
46b9d128 390672007-05-16 Robert Millan <rmh@aybabtu.com>
39068
39069 * util/i386/efi/grub-install.in: New.
39070 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39071 newly added grub-install.
39072 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39073 include.
39074 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39075 grub/util/biosdisk.h.
39076 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39077 grub/util/biosdisk.h.
39078
2d1a40a9 390792007-05-16 Robert Millan <rmh@aybabtu.com>
39080
39081 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39082 * include/grub/util/biosdisk.h: ... here.
39083 * util/i386/pc/biosdisk.c: Moved to ...
39084 * util/biosdisk.c: ... here.
39085 * util/i386/pc/getroot.c: Moved to ...
39086 * util/getroot.c: ... here.
39087 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39088 * util/grub-mkdevicemap.c: ... here.
39089 * util/i386/pc/grub-probe.c: Moved to ...
39090 * util/grub-probe.c: ... here.
39091
9e26e3bc 390922007-05-15 Robert Millan <rmh@aybabtu.com>
39093
39094 * util/update-grub.in: Remove duplicated line in grub.cfg header
39095 message.
39096
57f96397 390972007-05-13 Robert Millan <rmh@aybabtu.com>
39098
39099 * util/update-grub.in: Fix a few assumptions about the devices holding
39100 /, /boot and /boot/grub being the same.
39101 * util/grub.d/00_header.in: Likewise.
39102 * util/grub.d/10_hurd.in: Likewise.
39103 * util/grub.d/10_linux.in: Likewise.
39104
39105 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39106 patterns. Use that to define the `.old' suffix as older than `'.
39107
39108 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39109
39110 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39111 the grub.cfg header message.
39112
2e610d62 391132007-05-11 Robert Millan <rmh@aybabtu.com>
39114
39115 * util/update-grub.in: Create device.map if it doesn't already exist,
39116 before attempting to run grub-probe.
39117 Check for grub-probe and grub-mkdevicemap with the same code
39118 grub-install is using.
39119 Remove test mode.
39120
3f6a10ef 391212007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39122
39123 * Makefile.in: Add the datarootdir autoconf variable.
39124
02e7b75e 391252007-05-09 Robert Millan <rmh@aybabtu.com>
39126
39127 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39128 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39129
75f396cc 391302007-05-07 Robert Millan <rmh@aybabtu.com>
39131
39132 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39133 determine partition map module.
39134 * util/i386/pc/grub-install.in: Use this feature to decide which
39135 partition module to load, instead of hardcoding pc and gpt.
39136
da65cb36 391372007-05-07 Robert Millan <rmh@aybabtu.com>
39138
39139 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39140 source directory differs from build directory.
39141
b57d6a91 391422007-05-05 Robert Millan <rmh@aybabtu.com>
39143
39144 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39145 initialisation.
39146
509d00f1 391472007-05-05 Robert Millan <rmh@aybabtu.com>
39148
39149 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39150
c48f23ef 391512007-05-05 Robert Millan <rmh@aybabtu.com>
39152
39153 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39154 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39155
20b97658 391562007-05-05 Robert Millan <rmh@aybabtu.com>
39157
39158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39159 (grub_probe_SOURCES): Likewise.
39160 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39161 GPT and initialize dos_part and bsd_part accordingly.
39162 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39163 install_bsd_part.
39164 (main): Activate gpt module for use during partition identification,
39165 and deactivate it afterwards.
39166 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39167 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39168 partition identification, and deactivate it afterwards.
39169
99123174 391702007-05-05 Robert Millan <rmh@aybabtu.com>
39171
39172 * term/i386/pc/console.c (grub_console_fini): Call
39173 grub_term_set_current() before grub_term_unregister().
39174
ebd97f6e 391752007-05-04 Robert Millan <rmh@aybabtu.com>
39176
39177 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39178 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39179 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39180 and update-grub_DATA.
39181 * conf/common.rmk: Build and install update-grub components.
39182 * conf/common.mk: Regenerate.
39183 * util/update-grub.in: New. Core of update-grub.
39184 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39185 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39186 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39187 * util/grub.d/README: New. Document grub.d directory layout.
39188
b06a264d 391892007-05-01 Robert Millan <rmh@aybabtu.com>
39190
39191 * util/grub-emu.c: Move initialization functions
39192 grub_util_biosdisk_init() and grub_init_all() before
39193 grub_util_biosdisk_get_grub_dev(), which relies on them.
39194
41f0050e 391952007-04-19 Robert Millan <rmh@aybabtu.com>
39196
39197 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39198 it is used later.
39199
04582bb3 392002007-04-18 Jerone Young <jerone@gmail.com>
39201
f19dbdb7 39202 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39203 stanza.
39204
08db4632 392052007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39206
08db4632 39207 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39208 continue on and look for device node with real device name.
39209
801b76be 392102007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39211
fe6b695a 39212 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39213 ability.
39214 * Makefile.in: Add autoconf package transformation code.
39215 * util/i386/pc/grub-install.in: Likewise.
39216 * util/powerpc/ieee1275/grub-install.in: Likewise.
39217
6795c4e1 392182007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39219
39220 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39221 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39222 (EXT2_REVISION): Likewise.
39223 (EXT2_INODE_SIZE): Likewise.
39224 (struct grub_ext2_block_group): Added a missing member
39225 "used_dirs".
39226 (grub_ext2_read_inode): Divide by the inode size in a superblock
39227 instead of 128 to obtain INODES_PER_BLOCK.
39228 Use the macro EXT2_INODE_SIZE instead of directly using
39229 SBLOCK->INODE_SIZE.
39230
d70af616 392312007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39232
39233 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39234 superblock instead of the structure size to compute an
39235 offset. This fixes the problem that GRUB could not read a
39236 filesystem when inode size is different from 128-byte.
39237
3b801603 392382007-03-05 Marco Gerards <marco@gnu.org>
39239
39240 * normal/main.c (read_config_file): When "menu" is not set, create
39241 an initial context.
39242
4785bfe4 392432007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39244
39245 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39246 (HEAP_LIMIT): New macro.
39247 (grub_claim_heap): Claim memory up to `heaplimit'.
39248
a0cbb023 392492007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39250
39251 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39252 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39253 (_start): Likewise.
39254 (grub_arch_modules_addr): Return address after `_end'.
39255 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39256 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39257 (add_segments): Calculate `_end' from phdr size and location.
39258 (ALIGN_UP): Moved to ...
39259 * include/grub/misc.h: here.
39260 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39261 New macro.
39262 (GRUB_IEEE1275_MODULE_BASE): Removed.
39263
fd7d8eba 392642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39265
39266 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39267 loop boundary.
39268
9b09e6fc 392692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39270
39271 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39272 All users updated.
39273 (grub_elf64_load_hook_t): Likewise.
39274 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39275 debug output.
39276
3ce27299 392772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39278
39279 * kern/mm.c: Update copyright.
39280 (grub_mm_debug): Correct syntax error.
39281 (grub_mm_dump_free): New function.
39282 (grub_debug_free): Call `grub_free'.
39283 * include/grub/mm.h: Update copyright.
39284 (grub_mm_dump_free): Add declaration.
39285
077d5fee 392862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39287
39288 * include/grub/ieee1275/ieee1275.h: Update copyright.
39289 * kern/powerpc/ieee1275/init.c: Likewise.
39290 * kern/powerpc/ieee1275/openfw.c: Likewise.
39291
39292 * loader/powerpc/ieee1275/linux.c: Likewise.
39293 * include/grub/elfload.h: Likewise.
39294 * kern/elf.c: Likewise.
39295 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39296 callers.
39297 (grub_elf64_load): Likewise.
39298 (grub_elf32_load_segment): Move to a nested function.
39299 (grub_elf64_load_segment): Likewise.
39300
dc946850 393012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39302
39303 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39304 prototype.
39305 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39306 (grub_heap_len): Likewise.
39307 (HEAP_SIZE): New macro.
39308 (grub_claim_heap): New function.
39309 (grub_machine_init): Don't claim heap directly. Call
39310 `grub_claim_heap'.
39311 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39312 (grub_available_iterate): New function.
39313
baa2a121 393142007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39315
39316 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39317 * configure.ac: Use it for testing the HOST and TARGET compilers.
39318
4fe9862e 393192006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39320
39321 * Makefile.in (enable_grub_emu): New variable.
39322 * configure.ac (--enable-grub-emu): New option.
39323 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39324 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39325 * conf/i386-pc.rmk: Likewise.
39326 * conf/powerpc-ieee1275.rmk: Likewise.
39327 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39328
a8aa5762 393292006-12-12 Marco Gerards <marco@gnu.org>
39330
39331 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39332
39333 * kern/env.c (grub_env_unset): Don't free the member `value' when
39334 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39335 pointer.
39336
39337 * normal/main.c (current_menu): Removed.
39338 (free_menu): Unset the `menu' environment variable.
39339 (grub_normal_menu_addentry): Make use of the environment variable
39340 `menu', instead of using the global `current_menu'. Allocate
39341 memory for the sourcecode of this entry.
39342 (read_config_file): New argument `nested', changed all callers.
39343 Only in the case of a new context, initialize a new menu. Set the
39344 `menu' environment variable.
39345 (grub_normal_execute): Don't set and unset the environment
39346 variable `menu' here anymore. Only free the menu when leaving the
39347 context.
39348
39349 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39350 leak.
39351
957b3a3e 393522006-12-11 Marco Gerards <marco@gnu.org>
39353
39354 * normal/menu_entry.c (run): Fix off by one bug so the last line
39355 is executed. Move the loader check to outside the loop.
39356
ef875714 393572006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39358
39359 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39360
4e739985 393612006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39362
39363 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39364 the number of sectors. Reported by Andrey Shuvikov
39365 <mr_hyro@yahoo.com>.
f19dbdb7 39366
790707f2 393672006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39368
39369 * kern/disk.c (grub_disk_read): When there is a read error, always
39370 try to read only the necessary data.
f19dbdb7 39371
790707f2 39372 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39373 disk/raid.c.
39374 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39375 prototype.
39376 [GRUB_UTIL] (grub_raid_fini): Likewise.
39377 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39378 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39379 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39380 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39381 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39382 and grub_raid_fini().
f19dbdb7 39383
03e58196 393842006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39385
39386 * include/grub/types.h (__unused): Rename to UNUSED.
39387 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39388 (grub_elf64_size): Likewise.
f19dbdb7 39389
ae4f23bf 393902006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39391
39392 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39393 grub_error_push and grub_error_pop in the error-handling path.
39394 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39395 length.
39396
2166cc83 393972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39398
39399 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39400 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39402 (kernel_elf_SOURCES): Likewise.
39403 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39404 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39405 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39406 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39407 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39408 (elf_mod_SOURCES): New variable.
39409 (elf_mod_CFLAGS): Likewise.
39410 (elf_mod_LDFLAGS): Likewise.
39411 * include/grub/types.h (__unused): New macro.
39412 * include/grub/elfload.h: New file.
39413 * kern/elf.c: Likewise.
39414 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39415 (ELF32_LOADMASK): New macro.
39416 (ELF64_LOADMASK): Likewise.
39417 (vmlinux): Removed.
39418 (grub_linux_load32): New function.
39419 (grub_linux_load64): Likewise.
39420 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39421 Use grub_elf_t instead of grub_file_t.
39422
a09d5aa5 394232006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39424
39425 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39426 `catch_result' to struct set_color_args.
39427
d976fc51 394282006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39429
39430 * normal/menu.c: Include grub/script.h.
39431 * normal/menu_entry.c: Likewise.
39432 * include/grub/normal.h: Do not include grub/script.h.
39433
67507549 394342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39435
39436 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39437
69203a99 394382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39439
39440 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39441 disk.
39442 (grub_disk_close): Print debug messages when closing a disk.
39443 (grub_disk_read): Print debug messages when disk read fails.
39444 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39445 filesystem type.
39446 * kern/partition.c: Include misc.h.
39447 (grub_partition_iterate): Print debug messages when detecting
39448 partition type.
39449
e2b8278c 394502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39451
39452 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39453 is negative.
39454 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39455
97b2f2ff 394562006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39457
39458 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39459 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39460
6555d655 394612006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39462
39463 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39464 instead of sizeof(lv). Patch by Michael Guntsche.
39465
4d42b77f 394662006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39467
39468 * disk/lvm.c: Rename VGS to VG_LIST.
39469 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39470 (grub_lvm_open): Likewise.
39471 Thanks to Michael Guntsche for finding this bug.
39472
5d74d927 394732006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39474
39475 * configure.ac (AC_INIT): Bumped to 1.95.
39476
a1bb27e4 394772006-10-14 Robert Millan <rmh@aybabtu.com>
39478
39479 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39480 with "/dev/.static/dev/md".
39481
e0994b8b 394822006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39483
39484 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39485 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39486 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39487 DRIVE_NAME are always freed.
39488
39489 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39490 DOS_PART, as a DOS partition is counted from one instead of zero
39491 now. Reported by Robert Millan.
39492
ddd5cee9 394932006-10-14 Robert Millan <rmh@aybabtu.com>
39494
39495 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39496 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39497 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39498 string returned by grub_guess_root_device.
39499 * util/i386/pc/grub-setup.c: Likewise.
39500 * util/i386/pc/grub-probefs.c: Likewise.
39501
39502 * util/i386/pc/grub-probefs.c: Rename to ...
39503 * util/i386/pc/grub-probe.c: ... this.
39504 * DISTLIST: Remove grub-probefs, add grub-probe.
39505 * conf/i386-efi.rmk: Likewise.
39506 * conf/i386-pc.rmk: Likewise.
39507 * util/i386/pc/grub-install.in: Likewise.
39508
39509 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39510 choose which information we want to print.
39511
2b002173 395122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39513
39514 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39515 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39516 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39517 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39518 video/readers/tga.c and video/i386/pc/vbeutil.c.
39519
395202006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39521
39522 Added support for RAID and LVM.
f19dbdb7 39523
2b002173 39524 * disk/lvm.c: New file.
39525 * disk/raid.c: Likewise.
39526 * include/grub/lvm.h: Likewise.
f19dbdb7 39527 * include/grub/raid.h: Likewise.
2b002173 39528 * include/grub/util/lvm.h: Likewise.
39529 * include/grub/util/raid.h: Likewise.
39530 * util/lvm.c: Likewise.
39531 * util/raid.c: Likewise.
39532
39533 * include/grub/disk.h (grub_disk_dev_id): Add
39534 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39535 (grub_disk_get_size): New prototype.
39536 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39537 returns a partition.
39538 (grub_disk_get_size): New function.
f19dbdb7 39539
2b002173 39540 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39541 verbatim if grub_install_dos_part is -2.
39542
39543 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39544 and LVM devices.
39545
39546 * util/i386/pc/grub-setup.c (setup): New argument
39547 MUST_EMBED. Force embedding of GRUB when the argument is
39548 true. Close FILE before returning.
39549 (main): Add support for RAID and LVM.
f19dbdb7 39550
2b002173 39551 * conf/common.rmk: Add RAID and LVM modules.
39552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39553 util/lvm.c.
39554 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39555
39556 * kern/misc.c (grub_strstr): New function.
39557 * include/grub/misc.h (grub_strstr): New prototype.
39558
050548d0 395592006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39560
39561 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39562
da849d2d 395632006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39564
39565 * kern/misc.c (grub_strtoull): Guess the base only if not
39566 specified.
39567
97b2f2ff 395682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39569
39570 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39571 PowerMac support.
39572
97b2f2ff 395732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39574
39575 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39576
39577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39578 Remove `flags' argument. All callers changed.
39579 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39580 (IEEE1275_IHANDLE_INVALID): New variable.
39581 (IEEE1275_CELL_INVALID): New variable.
39582 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39583 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39584 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39585 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39586 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39587 codes from Open Firmware. All callers updated.
39588 (grub_ieee1275_next_property): Directly return Open Firmware return
39589 code.
39590 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39591 Standardize error checking from `grub_ieee1275_get_property'.
39592 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39593 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39594
97b2f2ff 395952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39596
39597 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39598 `instance_to_package_args' to `instance_to_path_args'.
39599
39600 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39601 `grub_ieee1275_chosen'.
39602
39603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39604 `grub_ieee1275_interpret'.
39605
97b2f2ff 396062006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39607
39608 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39609
97b2f2ff 396102006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39611
39612 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39613 (__cmpdi): Likewise.
39614
39615 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39616 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39617 `grub_ssize_t'.
39618
02bb8acc 39619 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39620
39621 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39622 to type `grub_ssize_t'.
39623 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39624
7f9a8531 396252006-09-22 Marco Gerards <marco@gnu.org>
39626
39627 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39628 newlines.
39629
b5ef1102 396302006-09-22 Marco Gerards <marco@gnu.org>
39631
39632 * commands/echo.c: New file.
39633
39634 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39635
39636 * conf/common.rmk (echo_mod_SOURCES): New variable.
39637 (echo_mod_CFLAGS): Likewise.
39638 (echo_mod_LDFLAGS): Likewise.
39639
2cff3677 396402006-09-22 Marco Gerards <marco@gnu.org>
39641
39642 * normal/main.c (get_line): Malloc memory instead of using
39643 preallocated memory. Removed the arguments `cmdline' and
39644 `max_len'. Updated all callers.
39645
6ba4688b 396462006-09-22 Marco Gerards <marco@gnu.org>
39647
39648 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39649 (normal_mod_DEPENDENCIES): Likewise.
39650
39651 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39652 (normal_mod_DEPENDENCIES): Likewise.
39653
39654 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39655
e02ac02c 396562006-09-22 Johan Rydberg <jrydberg@gnu.org>
39657
39658 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39659 programs.
39660 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39661 (normal_mod_DEPENDENCIES): Likewise.
39662 * conf/i386-pc.mk: Regenerate.
39663 * conf/i386-efi.mk: Likewise
39664 * conf/common.mk: Likewise.
39665 * conf/powerpc-ieee1275.mk: Likewise.
39666 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39667
8d252e44 396682006-09-22 Robert Millan <rmh@aybabtu.com>
39669
39670 Sync with i386 version.
39671 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39672 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39673
209bf7ac 396742006-09-21 Robert Millan <rmh@aybabtu.com>
39675
39676 Import from GRUB Legacy (lib/device.c):
39677 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39678 (init_device_map) [__linux__]: Add support for I2O devices.
39679
6b146090 396802006-09-14 Marco Gerards <marco@gnu.org>
39681
39682 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39683 `-melf_i386'.
39684
e38600a8 396852006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39686
39687 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39688 /boot/grub/*.lst.
78fa1790 39689
2952da5d 39690 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39691
2952da5d 39692 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39693 before adding it to device.map.
39694
01b82a64 396952006-08-15 Johan Rydberg <jrydberg@gnu.org>
39696
fe6b695a 39697 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39698 compiles a file; using the -MD option.
39699 * conf/common.mk: Regenerate.
39700 * conf/i386-pc.mk: Likewise.
39701 * conf/i386-efi.mk: Likewise.
39702 * conf/powerpc-ieee1275.mk: Likewise.
39703 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39704
1064790d 397052006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39706
39707 Move the prototypes of grub_setjmp and grub_longjmp to
39708 cpu/setjmp.h, so that each architecture may specify different
39709 attributes.
f19dbdb7 39710
1064790d 39711 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39712 (grub_longjmp): Likewise.
39713 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39714 (grub_longjmp): Likewise.
39715 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39716 (grub_longjmp): Likewise.
39717
39718 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39719 [!GRUB_UTIL] (grub_longjmp): Removed.
39720
29dda3ed 397212006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39722
39723 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39724 "color!" method does not return any value.
39725
ad2a06ed 397262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39727
39728 * include/grub/bitmap.h: New file.
39729
39730 * include/grub/i386/pc/vbeutil.h: Likewise.
39731
39732 * video/bitmap.c: Likewise.
39733
39734 * video/readers/tga.c: Likewise.
39735
39736 * video/i386/pc/vbeutil.c: Likewise.
39737
39738 * commands/videotest.c: Code cleanup and updated to reflect to new
39739 video API.
39740
39741 * term/gfxterm.c: Likewise.
39742
39743 * video/video.c: Likewise.
39744
39745 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39746 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39747 (bitmap_mod_SOURCES): New entry.
39748 (bitmap_mod_CFLAGS): Likewise.
39749 (bitmap_mod_LDFLAGS): Likewise.
39750 (tga_mod_SOURCES): Likewise.
39751 (tga_mod_CFLAGS): Likewise.
39752 (tga_mod_LDFLAGS): Likewise.
39753
39754 * include/grub/video.h (grub_video_blit_operators): New enum type.
39755 (grub_video_render_target): Changed as forward declaration and moved
39756 actual definition to be video driver specific.
39757 (grub_video_adapter.blit_bitmap): Added blitting operator.
39758 (grub_video_adapter.blit_render_target): Likewise.
39759 (grub_video_blit_bitmap): Likewise.
39760 (grub_video_blit_render_target): Likewise.
39761
39762 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39763 driver specific render target definition.
39764 (grub_video_vbe_map_rgba): Added driver internal helper.
39765 (grub_video_vbe_unmap_color): Updated to use
39766 grub_video_i386_vbeblit_info.
39767 (grub_video_vbe_get_video_ptr): Likewise.
39768
39769 * include/grub/i386/pc/vbeblit.h
39770 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39771 grub_video_i386_vbeblit_info.
39772 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39773 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39774 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39775 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39776 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39777 (grub_video_i386_vbeblit_index_index): Likewise.
39778 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39779 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39780 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39781 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39782 operator.
39783 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39784 operator.
39785
39786 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39787 include/grub/i386/pc/vbeblit.h.
39788
39789 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39790 Updated to use grub_video_i386_vbeblit_info.
39791 (grub_video_i386_vbefill_R8G8B8): Likewise.
39792 (grub_video_i386_vbefill_index): Likewise.
39793 (grub_video_i386_vbefill): Added generic filler.
39794
39795 * video/i386/pc/vbefill.c: Updated to reflect changes on
39796 include/grub/i386/pc/vbefill.h.
39797
39798 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39799 grub_video_i386_vbeblit_info.
39800 (grub_video_vbe_unmap_color): Likewise.
39801 (grub_video_vbe_blit_glyph): Likewise.
39802 (grub_video_vbe_scroll): Likewise.
39803 (grub_video_vbe_draw_pixel): Removed function.
39804 (grub_video_vbe_get_pixel): Likewise.
39805 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39806 updated code to use it.
39807 (common_blitter): Added common blitter for render target and bitmap.
39808 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39809 (grub_video_vbe_blit_render_target): Likewise.
39810
bc8c036d 398112006-07-30 Johan Rydberg <jrydberg@gnu.org>
39812
39813 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39814 is in text mode if there is no console control protocol instance
39815 available.
39816
684a8eff 398172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39818
39819 * include/grub/video.h: Code cleanup.
39820
39821 * include/grub/i386/pc/vbe.h: Likewise.
39822
39823 * video/i386/pc/vbe.c: Likewise.
39824
39825 * video/i386/pc/vbeblit.c: Likewise.
39826
39827 * video/i386/pc/vbefill.c: Likewise.
39828
39829 * video/video.c: Likewise. Also added more comments.
39830
5915059b 398312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39832
39833 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39834 (struct grub_biosdisk_dap): Likewise.
39835
39836 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39837 linkage settings for all functions.
39838
90ce5d56 398392006-07-12 Marco Gerards <marco@gnu.org>
39840
39841 * configure.ac (--enable-mm-debug): Fix typo.
39842
39843 * genkernsyms.sh.in: Use proper quoting for `CC'.
39844
43e7f879 398452006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39846
39847 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39848 (normal_mod_ASFLAGS): Remove "-m32".
39849
4889bdec 398502006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39851
39852 * util/misc.c: Include config.h.
39853 [!HAVE_MEMALIGN]: Do not include malloc.h.
39854 (grub_memalign): Use posix_memalign, if present. Then, use
39855 memalign, if present. Otherwise, emit an error.
39856
39857 * util/grub-emu.c: Do not include malloc.h.
39858
39859 * include/grub/util/misc.h: Include unistd.h. This is required for
39860 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39861 D. Eades III <hde@foobar-qux.org>.
39862
39863 * configure.ac (AC_GNU_SOURCE): Added.
39864 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39865 type.
39866
fd39d4da 398672006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39868
39869 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39870 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39871
b786f3b5 398722006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39873
39874 * include/grub/types.h (grub_host_addr_t): Rename to
39875 grub_target_addr_t.
39876 (grub_host_off_t): Rename to grub_target_off_t.
39877 (grub_host_size_t): Rename to grub_target_size_t.
39878 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39879 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39880
39881 * include/grub/kernel.h (struct grub_module_header): Change type
39882 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39883 (grub_module_info): Likewise.
f19dbdb7 39884
051988bb 398852006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39886
39887 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39888 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39889 Velazquez <jesus.velazquez@gmail.com>.
39890
deae281b 398912006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39892
39893 Count partitions from 1 instead of 0 in the string representation
39894 of partitions. Still use 0-based internally.
f19dbdb7 39895
deae281b 39896 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39897 (sun_partition_map_iterate): Use grub_partition_t instead of
39898 struct grub_partition *. Cast DESC->START_CYLINDER to
39899 grub_uint64_t after converting the endian.
39900 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39901 (sun_partition_map_get_name): Add 1 to P->INDEX.
39902
39903 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39904 PCDATA->DOS_PART.
39905 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39906
39907 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39908 zero instead of one.
39909 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39910 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39911
39912 * partmap/apple.c (apple_partition_map_iterate): Change the type
39913 of POS to unsigned.
39914 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39915 (apple_partition_map_get_name): Add 1 into P->INDEX.
39916
39917 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39918 of POS to unsigned.
39919 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39920 calculate the offset of a partition.
39921 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39922 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39923
39924 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39925 SECTOR to grub_disk_addr_t.
39926 (acorn_partition_map_iterate): Likewise.
39927 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39928 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39929 top.
39930 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39931
39932 * kern/i386/pc/init.c (make_install_device): Add 1 into
39933 GRUB_INSTALL_DOS_PART.
39934
39935 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39936 conditional.
39937
524a1e6a 399382006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39939
39940 Clean up the code to support 64-bit addressing in disks and
39941 files. This change is not enough for filesystems yet.
f19dbdb7 39942
524a1e6a 39943 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39944 type of "start" to grub_uint64_t.
39945 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39946 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39947 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39948 convert addresses.
39949
39950 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39951 to grub_disk_addr_t.
39952
39953 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39954 string.
39955
39956 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39957
39958 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39959 to char *.
39960
39961 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39962
39963 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39964
39965 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39966
39967 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39968 to grub_off_t, to detect an error from grub_file_seek.
39969 (grub_multiboot_load_elf32): Likewise.
39970
39971 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39972 maximum unsigned long value when an overflow is detected.
39973 (grub_strtoull): New function.
39974 (grub_divmod64): Likewise.
39975 (grub_lltoa): use grub_divmod64.
39976
39977 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39978 grub_disk_addr_t.
39979 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39980 the pointer to next character. Use grub_strtoull instead of
39981 grub_strtoul.
39982 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39983 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39984 respectively.
39985
fe6b695a 39986 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39987 return value is signed.
39988 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39989 test if OFFSET is less than zero, as OFFSET is unsigned now.
39990
39991 * kern/disk.c (struct grub_disk_cache): Change the type of
39992 "sector" to grub_disk_addr_t.
39993 (grub_disk_cache_get_index): Change the type of SECTOR to
39994 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39995 unsigned after shifting.
39996 (grub_disk_cache_invalidate): Change the type of SECTOR to
39997 grub_disk_addr_t.
39998 (grub_disk_cache_unlock): Likewise.
39999 (grub_disk_cache_store): Likewise.
40000 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40001 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40002 grub_disk_addr_t and grub_uint64_t, respectively.
40003 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40004 body, as the value of OFFSET is tweaked by
40005 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40006 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40007 respectively.
40008 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40009 body, as the value of OFFSET is tweaked by
40010 grub_disk_check_range. Change the types of LEN and N to
40011 grub_size_t.
40012
40013 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40014 and "saved_offset" to grub_off_t.
40015 (test_header): Cast BUF to char *.
40016 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40017 to char *.
40018 (grub_gzio_read): Change the types of OFFSET and SIZE to
40019 grub_off_t and grub_size_t, respectively.
40020
40021 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40022 Removed.
40023 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40024 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40025 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40026 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40027 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40028
40029 * include/grub/types.h (grub_off_t): Unconditionally set to
40030 grub_uint64_t.
40031 (grub_disk_addr_t): Changed to grub_uint64_t.
40032
40033 * include/grub/partition.h (struct grub_partition): Change the
40034 types of "start", "len" and "offset" to grub_disk_addr_t,
40035 grub_uint64_t and grub_disk_addr_t, respectively.
40036 (grub_partition_get_start): Return grub_disk_addr_t.
40037 (grub_partition_get_len): Return grub_uint64_t.
40038
40039 * include/grub/misc.h (grub_strtoull): New prototype.
40040 (grub_divmod64): Likewise.
40041
40042 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40043 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40044 grub_off_t, respectively.
40045 All callers and references changed.
40046
40047 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40048 grub_size_t in "read".
40049 All callers and references changed.
40050
40051 * include/grub/file.h (struct grub_file): Change the types of
40052 "offset" and "size" to grub_off_t and grub_off_t,
40053 respectively. Change the type of SECTOR to grub_disk_addr_t in
40054 "read_hook".
40055 (grub_file_read): Change the type of LEN to grub_size_t.
40056 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40057 grub_off_t.
40058 (grub_file_size): Return grub_off_t.
40059 (grub_file_tell): Likewise.
40060 All callers and references changed.
40061
40062 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40063 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40064 "write".
40065 (struct grub_disk): Change the type of "total_sectors" to
40066 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40067 "read_hook".
524a1e6a 40068 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40069 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40070 (grub_disk_write): Likewise.
40071 All callers and references changed.
40072
40073 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40074 char * for grub_strncmp to silence gcc.
40075 (grub_iso9660_mount): Likewise.
40076 (grub_iso9660_mount): Likewise.
40077 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40078 return statement.
40079 (grub_iso9660_iterate_dir): Likewise.
40080 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40081
40082 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40083 LEN to grub_disk_addr_t and grub_size_t, respectively.
40084
40085 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40086
40087 * fs/jfs.c (grub_jfs_read_file): Likewise.
40088
40089 * fs/minix.c (grub_jfs_read_file): Likewise.
40090
40091 * fs/sfs.c (grub_jfs_read_file): Likewise.
40092
40093 * fs/ufs.c (grub_jfs_read_file): Likewise.
40094
40095 * fs/xfs.c (grub_jfs_read_file): Likewise.
40096
40097 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40098 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40099 respectively.
40100
40101 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40102 BLKNR to -1 instead of returning GRUB_ERRNO.
40103 (grub_ext2_read_file): Change the types of SECTOR and
40104 LEN to grub_disk_addr_t and grub_size_t, respectively.
40105
40106 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40107 LEN to grub_disk_addr_t and grub_size_t, respectively.
40108
40109 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40110 grub_file_read.
40111
40112 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40113 string. Do not cast SECTOR explicitly.
40114
40115 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40116 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40117 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40118 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40119 over 2TB and LBA mode is not supported, raise an error.
40120 (get_safe_sectors): New function.
40121 (grub_biosdisk_read): Use get_safe_sectors.
40122 (grub_biosdisk_write): Likewise.
40123
40124 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40125 (grub_efidisk_write): Likewise.
40126
40127 * disk/loopback.c (delete_loopback): Cosmetic changes.
40128 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40129 correctly.
40130 (grub_loopback_open): Likewise.
40131 (grub_loopback_read): Likewise. Also, change the type of POS to
40132 grub_off_t, and fix the usage of grub_memset.
40133
40134 * commands/i386/pc/play.c: Include grub/machine/time.h.
40135
40136 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40137 print FILE->SIZE.
40138
40139 * commands/configfile.c: Include grub/env.h.
40140
40141 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40142 GRUB_ERRNO directly instead. Change the type of POS to
40143 grub_off_t. Follow the coding standard.
40144
40145 * commands/blocklist.c: Include grub/partition.h.
40146 (grub_cmd_blocklist): Return an error if the underlying device is
40147 not a disk. Take the starting sector of a partition into account,
40148 if a partition is used.
40149
40150 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40151 a length field.
40152 (lba_mode): Support 64-bit addresses.
40153 (chs_mode): Likewise.
40154 (copy_buffer): Adapted to the new offsets of a length field and a
40155 segment field.
40156 (blocklist_default_start): Allocate 64-bit space.
40157
40158 * boot/i386/pc/boot.S (force_lba): Removed.
40159 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40160 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40161 space.
40162 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40163 is useless.
40164 (lba_mode): Refactored to support a 64-bit address. More size
40165 optimization.
40166 (setup_sectors): Likewise.
40167
53af98ad 401682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40169
40170 * DISTLIST: Added include/grub/i386/linux.h. Removed
40171 include/grub/i386/pc/linux.h
40172
40173 * configure.ac (AC_INIT): Bumped to 1.94.
40174
40175 * config.guess: Updated from gnulib.
40176 * config.sub: Likewise.
40177 * install-sh: Likewise.
40178 * mkinstalldirs: Likewise.
40179
b4c1940a 401802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40181
40182 * conf/common.rmk (grub_modules_init.lst): Depended on
40183 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40184 MODSRCFILES.
40185
40186 * genmk.rb (PModule::rule): Reverted the previous change.
40187
cfca1cfd 401882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40189
40190 * conf/common.rmk (grub_modules_init.lst): Depends on
40191 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40192 that the target does not exist before producing.
40193 (grub_modules_init.h): Remove the target before generating.
40194 (grub_emu_init.c): Likewise.
40195
40196 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40197
aa6d7826 401982006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40199
40200 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40201 for the target-specific tests. Make sure that we also have the
40202 up-to-date target variables for those tests.
40203
26c607b9 402042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40205
40206 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40207 (PModule::rule): Likewise.
40208
0162321a 402092006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40210
40211 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40212 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40213 target-specific flags should be prefixed.
40214 (PModule::rule): Likewise.
40215
6c826348 402162006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40217
40218 * configure.ac (CMP): Check if cmp is available explicitly.
40219
b977bf01 402202006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40221
40222 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40223 (target_cpu): New variable.
40224 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40225
b977bf01 40226 * util/i386/pc/grub-install.in (host_cpu): Removed.
40227 (target_cpu): New variable.
40228 (pkglibdir): Use target_cpu instead of host_cpu.
40229
40230 * util/genmoddep.c: Removed.
f19dbdb7 40231
b977bf01 40232 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40233 instead of GRUB_HOST_SIZEOF_VOID_P.
40234 * kern/dl.c: Likewise.
40235
40236 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40237 ...
40238 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40239 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40240 (GRUB_TARGET_SIZEOF_LONG): ... this.
40241 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40242 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40243 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40244 to ...
40245 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40246 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40247 (GRUB_TARGET_SIZEOF_LONG): ... this.
40248 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40249 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40250 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40251 to ...
40252 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40253 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40254 (GRUB_TARGET_SIZEOF_LONG): ... this.
40255 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40256 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40257
40258 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40259 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40260 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40261 instead of GRUB_HOST_SIZEOF_LONG.
40262 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40263 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40264 GRUB_CPU_WORDS_BIGENDIAN.
40265 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40266 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40267 grub_host_ssize_t.
40268
40269 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40270 (genmoddep_SOURCES): Likewise.
40271 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40272 (genmoddep_SOURCES): Likewise.
40273 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40274 (genmoddep_SOURCES): Likewise.
40275 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40276 Likewise.
40277 (genmoddep_SOURCES): Likewise.
40278
40279 * genmoddep.awk: New file.
40280
40281 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40282 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40283 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40284 (PModule::rule): Likewise.
40285 (Program::rule): Likewise.
40286 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40287 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40288 respectively.
40289
40290 * configure.ac: Rewritten intensively to use host and target
40291 instead of build and host, respectively.
40292
40293 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40294 (host_cpu): Removed.
40295 (target_cpu): New variable.
40296 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40297 (BUILD_CC): Removed.
40298 (BUILD_CFLAGS): Likewise.
40299 (BUILD_CPPFLAGS): Likewise.
40300 (TARGET_CC): New variable.
40301 (TARGET_CFLAGS): Likewise.
40302 (TARGET_CPPFLAGS): Likewise.
40303 (TARGET_LDFLAGS): Likewise.
40304 (AWK): Likewise.
40305 (include): Use target_cpu instead of host_cpu.
40306 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40307
b977bf01 40308 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40309
f09771a1 403102006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40311
40312 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40313 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40314 field 'false' to 'exec_on_false'.
40315 (grub_script_create_cmdif): Renamed argument names to reflect above
40316 changes.
40317
40318 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40319
40320 * normal/script.c (grub_script_create_cmdif): Likewise.
40321
118f4fb3 403222006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40323
40324 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40325 top.
40326 (grub_hfsplus_btree_recptr): Likewise.
40327 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40328 FILEBLOCK both to pass a block number and store next block
40329 number.
40330 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40331 overflow file correctly. Specify errors appropriately, because
40332 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40333 grub_hfsplus_btree_recptr to get the pointer to a found key.
40334 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40335 is found.
40336
40337 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40338 linux.mod.
40339 (_linux_mod_SOURCES): New variable.
40340 (_linux_mod_CFLAGS): Likewise.
40341 (_linux_mod_LDFLAGS): Likewise.
40342 (linux_mod_SOURCES): Likewise.
40343 (linux_mod_CFLAGS): Likewise.
40344 (linux_mod_LDFLAGS): Likewise.
40345
40346 * DISTLIST: Added loader/i386/efi/linux.c,
40347 loader/i386/efi/linux_normal.c and
40348 include/grub/i386/efi/loader.h.
40349
40350 * loader/i386/efi/linux.c: New file.
40351 * loader/i386/efi/linux_normal.c: Likewise.
40352 * include/grub/i386/efi/loader.h: Likewise.
40353
89a7d726 403542006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40355
40356 * commands/blocklist.c: New file.
40357
40358 * DISTLIST: Added commands/blocklist.c.
40359
40360 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40361 color for the background, and a darker color for the foreground.
89a7d726 40362 (grub_console_checkkey): Return READ_KEY.
40363 (grub_console_cls): Set the background to
40364 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40365
40366 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40367
40368 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40369 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40370
40371 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40372 prototype.
40373
40374 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40375 BG. The spec is wrong again.
40376
40377 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40378 prototype.
40379 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40380
40381 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40382 commands/blocklist.c.
40383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40384
89a7d726 40385 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40386 (blocklist_mod_SOURCES): New variable.
40387 (blocklist_mod_CFLAGS): Likewise.
40388 (blocklist_mod_LDFLAGS): Likewise.
40389
75c8f258 403902006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40391
40392 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40393 duplication.
40394 (lba_mode): Use %eax more intensively to reduce the code size.
40395
da2eb181 403962006-05-20 Marco Gerards <marco@gnu.org>
40397
40398 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40399
40400 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40401 for `menuentry'.
40402 (script): Accept leading newlines.
40403 (newlines): New rule to describe 0 or more newlines.
40404 (commands): Accept `command' with trailing newline. Fixed the
40405 order in which arguments were passed to `grub_script_add_cmd'.
40406 Accept commands separated by newlines.
40407 (function): Changed to accept newlines.
40408 (menuentry) Rewritten.
40409
40410 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40411 front of the list, instead of to the end.
40412
577b4050 404132006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40414
40415 * util/i386/pc/grub-install.in (bindir): New variable.
40416 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40417 Shaver <lbgwjl@gmail.com>.
40418
0d6e1189 404192006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40420
40421 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40422 grub/machine/linux.h
40423 * loader/i386/pc/linux.c: Likewise.
40424
40425 * include/grub/i386/pc/linux.h: Moved to ...
40426 * include/grub/i386/linux.h: ... here.
40427
40428 * include/grub/i386/linux.h (struct linux_kernel_params): New
40429 struct.
f19dbdb7 40430
31b86e9f 404312006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40432
40433 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40434 checking.
40435 (grub_video_vbe_blit_glyph): Likewise.
40436 (grub_video_vbe_blit_bitmap): Likewise.
40437 (grub_video_vbe_blit_render_target): Likewise.
40438
83b984de 404392006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40440
40441 * configure.ac (--with-platform): Properly quote the square
40442 brackets.
40443
5f0413bd 404442006-05-08 Marco Gerards <marco@gnu.org>
40445
40446 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40447 this...
40448 (kernel_elf_HEADERS): ...to this. Updated all users.
40449 (grubof_symlist.c): Renamed from this...
40450 (kernel_elf_symlist.c): ...to this. Updated all users.
40451 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40452 (grubof_SOURCES): Renamed from this...
40453 (kernel_elf_SOURCES): ...to this.
40454 (grubof_HEADERS): Renamed from this...
40455 (kernel_elf_HEADERS): ...to this.
40456 (grubof_CFLAGS): Renamed from this...
40457 (kernel_elf_CFLAGS): ...to this.
40458 (grubof_ASFLAGS): Renamed from this...
40459 (kernel_elf_ASFLAGS): ...to this.
40460 (grubof_LDFLAGS): Renamed from this...
40461 (kernel_elf_LDFLAGS): ...to this.
40462
40463 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40464 this...
40465 (kernel_elf_HEADERS): ...to this. Updated all users.
40466 (grubof_symlist.c): Renamed from this...
40467 (kernel_elf_symlist.c): ...to this. Updated all users.
40468 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40469 (grubof_SOURCES): Renamed from this...
40470 (kernel_elf_SOURCES): ...to this.
40471 (grubof_HEADERS): Renamed from this...
40472 (kernel_elf_HEADERS): ...to this.
40473 (grubof_CFLAGS): Renamed from this...
40474 (kernel_elf_CFLAGS): ...to this.
40475 (grubof_ASFLAGS): Renamed from this...
40476 (kernel_elf_ASFLAGS): ...to this.
40477 (grubof_LDFLAGS): Renamed from this...
40478 (kernel_elf_LDFLAGS): ...to this.
40479
40480 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40481 `kernel.elf' instead of `grubof'.
40482
05568c2e 404832006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40484
40485 Add --with-platform to configure. Use pkglibdir instead of
40486 pkgdatadir. This is reported by Roger Leigh.
40487
40488 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40489 (host_vendor): Likewise.
40490 (host_os): Likewise.
40491 (pkgdatadir): Likewise.
40492 (platform): New variable.
40493 (pkglibdir): Likewise.
40494 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40495
05568c2e 40496 * util/i386/pc/grub-install.in (datadir): Removed.
40497 (host_vendor): Likewise.
40498 (host_os): Likewise.
40499 (pkgdatadir): Likewise.
40500 (platform): New variable.
40501 (pkglibdir): Likewise.
40502 Use PKGLIBDIR instead of PKGDATADIR.
40503
40504 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40505 instead of GRUB_DATADIR.
40506 (main): Likewise.
40507 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40508 (main): Likewise.
40509 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40510 (main): Likewise.
40511
40512 * configure.ac (--with-platform): New option.
40513 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40514
40515 * Makefile.in: Include a makefile based on PLATFORM instead of
40516 HOST_VENDOR.
40517 (pkgdatadir): Not appended by the machine type.
40518 (pkglibdir): Appended by the machine type.
40519 (host_vendor): Removed.
40520 (platform): New variable.
40521 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40522 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40523 (uninstall): Likewise.
40524
4e93851c 405252006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40526
40527 Use the environment context in the menu. Remove the commands
40528 "default" and "timeout", and use variables instead.
f19dbdb7 40529
4e93851c 40530 * normal/menu.c: Include grub/env.h.
40531 (print_entry): Cast TITLE to silence gcc.
40532 (get_timeout): New function.
40533 (set_timeout): Likewise.
40534 (get_entry_number): Likewise.
40535 (run_menu): Use a default entry, a fallback entry and a timeout
40536 in the environment variables "default", "fallback" and
40537 "timeout". Also, tweak the default entry if it is not within the
40538 current menu entries.
40539 (grub_menu_run): Use a fallback entry in the environment variable
40540 "fallback".
40541
40542 * normal/main.c (read_config_file): Do not initialize
40543 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40544 NEWMENU->TIMEOUT.
40545 (grub_normal_execute): Use a data slot to store the menu.
40546
40547 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40548 fallback_entry and timeout.
40549 (struct grub_menu_list): Removed.
40550 (grub_menu_list_t): Likewise.
40551 (struct grub_context): Likewise.
40552 (grub_context_t): Likewise.
40553 (grub_context_get): Likewise.
40554 (grub_context_get_current_menu): Likewise.
40555 (grub_context_push_menu): Likewise.
40556 (grub_context_pop_menu): Likewise.
40557 (grub_default_init): Likewise.
40558 (grub_default_fini): Likewise.
40559 (grub_timeout_init): Likewise.
40560 (grub_timeout_fini): Likewise.
40561
40562 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40563 and timeout.mod.
40564 (normal_mod_SOURCES): Removed normal/context.c.
40565
40566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40567 commands/default.c, commands/timeout.c and normal/context.c.
40568 (normal_mod_SOURCES): Removed normal/context.c.
40569
40570 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40571 commands/timeout.c and normal/context.c.
40572 (normal_mod_SOURCES): Removed normal/context.c.
40573
40574 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40575 commands/default.c, commands/timeout.c and normal/context.c.
40576 (normal_mod_SOURCES): Removed normal/context.c.
40577
40578 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40579 timeout.mod.
40580 (default_mod_SOURCES): Removed.
40581 (default_mod_CFLAGS): Likewise.
40582 (default_mod_LDFLAGS): Likewise.
40583 (timeout_mod_SOURCES): Removed.
40584 (timeout_mod_CFLAGS): Likewise.
40585 (timeout_mod_LDFLAGS): Likewise.
40586
40587 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40588 normal/context.c.
40589
40590 * commands/default.c: Removed.
40591 * commands/timeout.c: Likewise.
40592 * normal/context.c: Likewise.
40593
1eb9cc1d 405942006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40595
40596 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40597
385bd9c1 405982006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40599
40600 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40601 "next" to "prev" for readability.
40602 (struct grub_env_sorted_var): New struct.
40603 (grub_env_context): Renamed to ...
40604 (initial_context): ... this.
40605 (grub_env_var_context): Renamed to ...
40606 (current_context): ... this.
40607 (grub_env_find): Look only at CURRENT_CONTEXT.
40608 (grub_env_context_open): Rewritten to copy exported variables from
40609 previous context.
40610 (grub_env_context_close): Rewritten according to the new
40611 scheme. Also, add an assertion to prevent the initial context from
40612 removed.
40613 (grub_env_insert): Removed the code for the sorted list.
40614 (grub_env_remove): Likewise.
40615 (grub_env_export): Simply mark the variable with
40616 GRUB_ENV_VAR_GLOBAL.
40617 (grub_env_set): A cosmetic change for naming consistency.
40618 (grub_env_get): Likewise.
40619 (grub_env_unset): Likewise.
40620 (grub_env_iterate): Rewritten to sort variables within this
40621 function.
40622 (grub_register_variable_hook): Fixed for naming consistency. Call
40623 grub_env_find again, only if NAME is not found at the first time.
40624 (mangle_data_slot_name): New function.
40625 (grub_env_set_data_slot): Likewise.
40626 (grub_env_get_data_slot): Likewise.
40627 (grub_env_unset_data_slot): Likewise.
40628
40629 * include/grub/env.h (grub_env_var_type): New enum.
40630 (GRUB_ENV_VAR_LOCAL): New constant.
40631 (GRUB_ENV_VAR_GLOBAL): Likewise.
40632 (GRUB_ENV_VAR_DATA): Likewise.
40633 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40634 "type".
40635 (grub_env_set): Replace VAR with NAME for consistency.
40636 (grub_register_variable_hook): Likewise.
40637 (grub_env_export): Specify the name of the argument.
40638 (grub_env_set_data_slot): New prototype.
40639 (grub_env_get_data_slot): Likewise.
40640 (grub_env_unset_data_slot): Likewise.
40641
7f362539 406422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40643
40644 Extend the loader so that GRUB can accept a loader which comes
40645 back to GRUB when a loaded image exits. Also, this change adds
40646 support for a chainloader on EFI.
f19dbdb7 40647
7f362539 40648 * term/efi/console.c: Include grub/misc.h.
40649 (grub_console_checkkey): Display a scan code on the top for
40650 debugging. This will be removed once the EFI port gets stable.
40651 Correct the scan code mapping.
40652
40653 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40654 allocate memory from larger regions, in order to reduce the number
40655 of allocated regions. Otherwise, the MacOSX loader panics.
40656 (filter_memory_map): Avoid less than 1MB for compatibility with
40657 other loaders.
40658 (add_memory_regions): Allocate from the tail of a region, if
40659 possible, to avoid allocating a region near to 1MB, for the MacOSX
40660 loader.
40661
40662 * kern/efi/init.c (grub_efi_set_prefix): Specify
40663 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40664
40665 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40666 argument IMAGE_HANDLE and specify it to get a loaded image.
40667 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40668 grub_efi_get_loaded_image.
fe6b695a 40669 (grub_efi_get_filename): Divide the length by the size of
7f362539 40670 grub_efi_char16_t.
40671 (grub_efi_get_device_path): New function.
40672 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40673 the length by the size of grub_efi_char16_t for a file path device
40674 path node.
40675
40676 * kern/loader.c (grub_loader_noreturn): New variable.
40677 (grub_loader_set): Accept a new argument NORETURN. Set
40678 GRUB_LOADER_NORETURN to NORETURN.
40679 All callers changed.
40680 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40681 grub_machine_fini.
40682
40683 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40684 prototype.
40685 (grub_efi_get_loaded_image): Take an argument to specify an image
40686 handle.
40687
40688 * include/grub/loader.h (grub_loader_set): Added one more argument
40689 NORETURN.
40690
40691 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40692 instead of grub_efi_open_protocol.
40693 (grub_efidisk_get_device_name): Likewise.
40694 (grub_efidisk_close): Print a newline.
40695 (grub_efidisk_get_device_handle): Fixed to use
40696 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40697 GRUB_EFI_DEVICE_PATH_TYPE.
40698
40699 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40700 * kern/efi/efi.c (device_path_guid): ... here.
40701
40702 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40703 chain.mod.
40704 (kernel_mod_HEADERS): Added efi/disk.h.
40705 (_chain_mod_SOURCES): New variable.
40706 (_chain_mod_CFLAGS): Likewise.
40707 (_chain_mod_LDFLAGS): Likewise.
40708 (chain_mod_SOURCES): Likewise.
40709 (chain_mod_CFLAGS): Likewise.
40710 (chain_mod_LDFLAGS): Likewise.
40711
40712 * DISTLIST: Added include/grub/efi/chainloader.h,
40713 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40714
40715 * include/grub/efi/chainloader.h: New file.
40716 * loader/efi/chainloader.c: Likewise.
40717 * loader/efi/chainloader_normal.c: Likewise.
40718
c0111d6e 407192006-04-30 Marco Gerards <marco@gnu.org>
40720
40721 * commands/configfile.c (grub_cmd_source): New function.
40722 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40723 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40724
df5341da 407252006-04-30 Marco Gerards <marco@gnu.org>
40726
40727 * normal/execute.c (grub_script_execute_cmd): Change the return
40728 type to `grub_err_t'. Correctly return the error.
40729 (grub_script_execute_cmdline): In case a command line is not a
40730 command or a function, try to interpret it as an assignment.
40731
f85934bd 407322006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40733
40734 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40735 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40736 skip a node whose name is obviously invalid as UTF-16,
40737 i.e. contains a NUL character. Stop the iteration when the last
40738 directory entry is found. Instead of using the return value of
40739 grub_hfsplus_btree_iterate_node, store the value in RET and use
40740 it, because the iterator can be stopped by the last directory
40741 entry.
40742
8f8a2cf8 407432006-04-30 Marco Gerards <marco@gnu.org>
40744
40745 * include/grub/env.h (grub_env_export): New prototype. Reported
40746 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40747
a27e84ce 407482006-04-30 Marco Gerards <marco@gnu.org>
40749
40750 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40751 size of the extents in a catalog file record.
40752
eaef0553 407532006-04-29 Marco Gerards <marco@gnu.org>
40754
40755 * commands/configfile.c (grub_cmd_configfile): Execute the
40756 configfile within its own context.
40757
40758 * include/grub/env.h (grub_env_context_open): New prototype.
40759 (grub_env_context_close): Likewise.
40760
40761 * kern/env.c (grub_env): Removed.
40762 (grub_env_sorted): Likewise.
40763 (grub_env_context): New variable.
40764 (grub_env_var_context): Likewise.
40765 (grub_env_find): Search both the active context and the global
40766 context.
40767 (grub_env_context_open): New function.
40768 (grub_env_context_close): Likewise.
40769 (grub_env_insert): Likewise.
40770 (grub_env_remove): Likewise.
40771 (grub_env_export): Likewise.
40772 (grub_env_set): Changed to use helper functions to avoid code
40773 duplication.
40774 (grub_env_iterate): Rewritten so both the current context and the
40775 global context are being used.
40776
40777 * normal/command.c (export_command): New function.
40778 (grub_command_init): Register the `export' function.
40779
7b455f4d 407802006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40781
40782 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40783 explicitly to suppress gcc's warnings.
40784 * fs/fat.c (grub_fat_find_dir): Likewise.
40785 (grub_fat_label): Likewise.
40786 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40787 (grub_xfs_mount): Likewise.
40788 (grub_xfs_label): Likewise.
40789 * fs/affs.c (grub_affs_mount): Likewise.
40790 (grub_affs_label): Likewise.
40791 (grub_affs_iterate_dir): Likewise.
40792 * fs/sfs.c (grub_sfs_mount): Likewise.
40793 (grub_sfs_iterate_dir): Likewise.
40794 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40795 * fs/hfs.c (grub_hfs_mount): Likewise.
40796 (grub_hfs_cmp_catkeys): Likewise.
40797 (grub_hfs_find_dir): Likewise.
40798 (grub_hfs_dir): Likewise.
40799 (grub_hfs_label): Likewise.
40800 * fs/jfs.c (grub_jfs_mount): Likewise.
40801 (grub_jfs_opendir): Likewise.
40802 (grub_jfs_getent): Likewise.
40803 (grub_jfs_lookup_symlink): Likewise.
40804 (grub_jfs_label): Likewise.
40805 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40806 (grub_hfsplus_iterate_dir): Likewise.
40807 (grub_hfsplus_btree_iterate_node): Made static.
40808
40809 * util/grub-emu.c (prefix): New variable.
40810 (grub_machine_set_prefix): New function.
40811 (main): Do not set the environment variable "prefix" here. Only
40812 set PREFIX, which is used later by grub_machine_set_prefix.
40813
40814 * include/grub/video.h: Do not include grub/symbol.h.
40815 (grub_video_register): Not exported. This symbol is not defined in
40816 the kernel.
40817 (grub_video_unregister): Likewise.
40818 (grub_video_iterate): Likewise.
40819 (grub_video_setup): Likewise.
40820 (grub_video_restore): Likewise.
40821 (grub_video_get_info): Likewise.
40822 (grub_video_get_blit_format): Likewise.
40823 (grub_video_set_palette): Likewise.
40824 (grub_video_get_palette): Likewise.
40825 (grub_video_set_viewport): Likewise.
40826 (grub_video_get_viewport): Likewise.
40827 (grub_video_map_color): Likewise.
40828 (grub_video_map_rgb): Likewise.
40829 (grub_video_map_rgba): Likewise.
40830 (grub_video_fill_rect): Likewise.
40831 (grub_video_blit_glyph): Likewise.
40832 (grub_video_blit_bitmap): Likewise.
40833 (grub_video_blit_render_target): Likewise.
40834 (grub_video_scroll): Likewise.
40835 (grub_video_swap_buffers): Likewise.
40836 (grub_video_create_render_target): Likewise.
40837 (grub_video_delete_render_target): Likewise.
40838 (grub_video_set_active_render_target): Likewise.
40839
40840 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40841 Undefined.
40842 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40843
40844 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40845 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40846 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40847 instead of $(srcdir)/genkernsyms.sh.
40848
40849 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40850 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40851 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40852 instead of $(srcdir)/genkernsyms.sh.
40853
40854 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40855 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40856 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40857 instead of $(srcdir)/genkernsyms.sh.
40858
40859 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40860 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40861 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40862 instead of $(srcdir)/genkernsyms.sh.
40863
40864 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40865 genkernsyms.sh.
40866
40867 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40868 genkernsyms.sh.
40869 (gensymlist.sh): New target.
40870 (genkernsyms.sh): Likewise.
40871
40872 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40873 genkernsyms.sh.in and gensymlist.sh.in.
40874
40875 * genkernsyms.sh: Removed.
40876 * gensymlist.sh: Likewise.
f19dbdb7 40877
7b455f4d 40878 * genkernsyms.sh.in: New file.
40879 * gensymlist.sh.in: Likewise.
40880
1885bb27 408812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40882
40883 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40884 clobber "prefix", since we may have already set it manually.
40885
71538dff 408862006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40887
40888 * kern/misc.c (abort): New alias for grub_abort.
40889
2965c7cc 408902006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40891
40892 A new machine-specific function "grub_machine_set_prefix" is
40893 defined. This is called after loading modules, so that a prefix
40894 initialization can use modules. Also, this change adds an
40895 intensive debugging feature for the memory manager via the
40896 configure option "--enable-mm-debug".
f19dbdb7 40897
2965c7cc 40898 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40899 PART.LEN.
40900
40901 * kern/sparc64/ieee1275/init.c (abort): Removed.
40902 (grub_stop): Likewise.
40903 (grub_exit): New function.
40904 (grub_set_prefix): Renamed to ...
40905 (grub_machine_set_prefix): ... this.
40906 (grub_machine_init): Do not call grub_set_prefix.
40907
40908 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40909 (grub_machine_set_prefix): ... this.
40910 (grub_machine_init): Do not call grub_set_prefix.
40911
40912 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40913 (grub_machine_init): Do not set the prefix here.
40914
40915 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40916
40917 * kern/efi/init.c: Include grub/mm.h.
40918 (grub_efi_set_prefix): New function.
40919
40920 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40921 (grub_efi_get_filename): New function.
40922 (grub_print_device_path): Renamed to ...
40923 (grub_efi_print_device_path): ... this.
40924
40925 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40926 [MM_DEBUG] (grub_realloc): Likewise.
40927 [MM_DEBUG] (grub_free): Likewise.
40928 [MM_DEBUG] (grub_memalign): Likewise.
40929 [MM_DEBUG] (grub_mm_debug): New variable.
40930 [MM_DEBUG] (grub_debug_malloc): New function.
40931 [MM_DEBUG] (grub_debug_free): New function.
40932 [MM_DEBUG] (grub_debug_realloc): New function.
40933 [MM_DEBUG] (grub_debug_memalign): New function.
40934
40935 * kern/misc.c (grub_abort): Print a newline to distinguish
40936 the message.
40937
40938 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40939 grub_set_root_dev after loading modules. This is necessary when
40940 setting a prefix depends on modules.
40941
40942 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40943 (grub_efi_print_device_path): ... this.
40944 (grub_efi_get_filename): New prototype.
40945 (grub_efi_set_prefix): Likewise.
40946
40947 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40948 and grub/disk.h.
40949 (grub_efidisk_get_device_handle): New prototype.
40950 (grub_efidisk_get_device_name): Likewise.
40951
40952 * include/grub/mm.h: Include config.h.
40953 (MM_DEBUG): Removed.
40954 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40955 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40956 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40957 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40958 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40959 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40960 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40961 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40962 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40963
40964 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40965
40966 * disk/efi/efidisk.c: Include grub/partition.h.
40967 (iterate_child_devices): New function.
40968 (add_device): First, compare only last device path nodes, so that
40969 devices are sorted by the types.
40970 (grub_efidisk_get_device_handle): New function.
40971 (grub_efidisk_get_device_name): Likewise.
40972
40973 * configure.ac (--enable-mm-debug): New option to enable the
40974 memory manager debugging feature. This makes the binary much
40975 bigger, so is disabled by default.
40976
9cacaa17 409772006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40978
40979 Use grub_abort instead of grub_stop, and grub_exit must be
40980 define in each architecture now. Also, this change adds support
40981 for EFI disks.
f19dbdb7 40982
9cacaa17 40983 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40984 (grub_getkey): New function.
40985 (grub_term_get_current): Likewise.
40986
40987 * util/i386/pc/grub-setup.c: Include grub/term.h.
40988 (grub_getkey): New function.
40989 (grub_term_get_current): Likewise.
40990
40991 * util/misc.c (grub_stop): Renamed to ...
40992 (grub_exit): ... this.
40993
40994 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40995 (grub_exit): ... this.
40996 (grub_machine_init): Use grub_abort instead of abort.
40997 (grub_stop): Removed.
40998
40999 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41000 abort.
41001
41002 * kern/i386/pc/startup.S (grub_exit): New function.
41003 (cold_reboot): New label.
41004
41005 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41006 (grub_efi_init): Call grub_efidisk_init.
41007 (grub_efi_fini): Call grub_efidisk_fini.
41008
41009 * kern/efi/efi.c: Include grub/mm.h.
41010 (grub_efi_console_control_guid): Renamed to ...
41011 (console_control_guid): ... this.
41012 (grub_efi_loaded_image_guid): Renamed to ...
41013 (loaded_image_guid): ... this.
41014 (grub_efi_locate_handle): New function.
41015 (grub_efi_open_protocol): Likewise.
41016 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41017 GRUB_EFI_CONSOLE_CONTROL_GUID.
41018 (grub_efi_exit): Removed.
41019 (grub_stop): Likewise.
41020 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41021 (grub_exit): New function.
41022 (grub_print_device_path): Likewise.
41023
41024 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41025 (grub_enter_rescue_mode): Register "exit".
41026
41027 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41028 (grub_abort): New function.
41029
41030 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41031
41032 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41033
41034 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41035
41036 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41037 (grub_print_device_path): New prototype.
41038 (grub_efi_locate_handle): Likewise.
41039 (grub_efi_open_protocol): Likewise.
41040
41041 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41042 * disk/efi/efidisk.c: Likewise.
41043
41044 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41045
41046 * include/grub/efi/console_control.h
41047 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41048
41049 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41050 last 8 bytes as an array.
41051 (GRUB_EFI_DISK_IO_GUID): New macro.
41052 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41053 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41054 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41055 grub_uint8_t.
41056 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41057 (struct grub_efi_device_path): Rename the member "sub_type" to
41058 "subtype".
41059 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41060 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41061 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41062 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41063 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41064 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41065 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41066 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41067 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41068 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41069 (struct grub_efi_pci_device_path): New structure.
41070 (grub_efi_pci_device_path_t): New type.
41071 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41072 (struct grub_efi_pccard_device_path): New structure.
41073 (grub_efi_pccard_device_path_t): New type.
41074 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41075 (struct grub_efi_memory_mapped_device_path): New structure.
41076 (grub_efi_memory_mapped_device_path_t): New type.
41077 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41078 (struct grub_efi_vendor_device_path): New structure.
41079 (grub_efi_vendor_device_path_t): New type.
41080 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41081 (struct grub_efi_controller_device_path): New structure.
41082 (grub_efi_controller_device_path_t): New type.
41083 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41084 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41085 (struct grub_efi_acpi_device_path): New structure.
41086 (grub_efi_acpi_device_path_t): New type.
41087 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41088 (struct grub_efi_expanded_acpi_device_path): New structure.
41089 (grub_efi_expanded_acpi_device_path_t): New type.
41090 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41091 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41092 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41093 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41094 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41095 (struct grub_efi_atapi_device_path): New structure.
41096 (grub_efi_atapi_device_path_t): New type.
41097 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41098 (struct grub_efi_fibre_channel_device_path): New structure.
41099 (grub_efi_fibre_channel_device_path_t): New type.
41100 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41101 (struct grub_efi_1394_device_path): New structure.
41102 (grub_efi_1394_device_path_t): New type.
41103 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41104 (struct grub_efi_usb_device_path): New structure.
41105 (grub_efi_usb_device_path_t): New type.
41106 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41107 (struct grub_efi_usb_class_device_path): New structure.
41108 (grub_efi_usb_class_device_path_t): New type.
41109 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41110 (struct grub_efi_i2o_device_path): New structure.
41111 (grub_efi_i2o_device_path_t): New type.
41112 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41113 (struct grub_efi_mac_address_device_path): New structure.
41114 (grub_efi_mac_address_device_path_t): New type.
41115 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41116 (struct grub_efi_ipv4_device_path): New structure.
41117 (grub_efi_ipv4_device_path_t): New type.
41118 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41119 (struct grub_efi_ipv6_device_path): New structure.
41120 (grub_efi_ipv6_device_path_t): New type.
41121 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41122 (struct grub_efi_infiniband_device_path): New structure.
41123 (grub_efi_infiniband_device_path_t): New type.
41124 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41125 (struct grub_efi_uart_device_path): New structure.
41126 (grub_efi_uart_device_path_t): New type.
41127 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41128 (struct grub_efi_vendor_messaging_device_path): New structure.
41129 (grub_efi_vendor_messaging_device_path_t): New type.
41130 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41131 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41132 (struct grub_efi_hard_drive_device_path): New structure.
41133 (grub_efi_hard_drive_device_path_t): New type.
41134 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41135 (struct grub_efi_cdrom_device_path): New structure.
41136 (grub_efi_cdrom_device_path_t): New type.
41137 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41138 (struct grub_efi_vendor_media_device_path): New structure.
41139 (grub_efi_vendor_media_device_path_t): New type.
41140 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41141 (struct grub_efi_file_path_device_path): New structure.
41142 (grub_efi_file_path_device_path_t): New type.
41143 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41144 (struct grub_efi_protocol_device_path): New structure.
41145 (grub_efi_protocol_device_path_t): New type.
41146 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41147 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41148 (struct grub_efi_bios_device_path): New structure.
41149 (grub_efi_bios_device_path_t): New type.
41150 (struct grub_efi_disk_io): New structure.
41151 (grub_efi_disk_io_t): New type.
41152 (struct grub_efi_block_io_media): New structure.
41153 (grub_efi_block_io_media_t): New type.
41154 (struct grub_efi_block_io): New structure.
41155 (grub_efi_block_io_t): New type.
41156
41157 * include/grub/misc.h (grub_stop): Removed.
41158 (grub_exit): New prototype.
41159 (grub_abort): Likewise.
41160
41161 * include/grub/disk.h (enum grub_disk_dev_id): Added
41162 GRUB_DISK_DEVICE_EFIDISK_ID.
41163
41164 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41165 disk/efi/efidisk.c.
41166 (kernel_syms.lst): Remove the target if an error occurs.
41167
49986a9f 411682006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41169
41170 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41171 as it was simply too buggy.
41172
970d3b8a 411732006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41174
41175 * kern/misc.c (grub_lltoa): New function.
41176 (grub_vsprintf): Added support for the long long suffix,
41177 i.e. "ll".
41178
ff04ec24 411792006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41180
41181 * Makefile.in (LDFLAGS): Add variable.
41182 (LD): Remove variable.
41183 * configure.ac: Add -m32 to LDFLAGS.
41184 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41185 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41186 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41187 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41188 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41189 variables.
41190 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41191 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41192 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41193
37e5e1a4 411942006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41195
41196 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41197 length for unknown glyph.
41198
c352d8dd 411992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41200
2eab1c0d 41201 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41202
2eab1c0d 41203 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41204 completely. Accept one more argument DIR. The caller has changed.
41205
41206 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41207
41208 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41209 (grub_efi_loaded_image_guid): New variable.
41210 (grub_efi_get_loaded_image): New function.
41211 (grub_arch_modules_addr): Likewise.
41212
41213 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41214 prototype.
41215
41216 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41217 (struct grub_efi_loaded_image): New structure.
41218 (grub_efi_loaded_image_t): New type.
41219
412202006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41221
c352d8dd 41222 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41223 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41224 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41225
6d01d6b4 412262006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41227
41228 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41229
976a4ea0 412302006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41231
41232 * DISTLIST: Added include/grub/efi/console.h,
41233 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41234 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41235
41236 * include/grub/efi/console.h: New file.
41237 * include/grub/efi/time.h: Likewise.
41238 * include/grub/i386/efi/kernel.h: Likewise.
41239 * kern/efi/init.c: Likewise.
41240 * kern/efi/mm.c: Likewise.
41241 * term/efi/console.c: Likewise.
f19dbdb7 41242
976a4ea0 41243 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41244 (grub_stop): Removed.
41245 (grub_get_rtc): Likewise.
41246 (grub_machine_init): Simply call grub_efi_init.
41247 (grub_machine_fini): Call grub_efi_fini.
41248
41249 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41250 (grub_efi_output_string): Removed.
41251 (grub_efi_stall): New function.
41252 (grub_stop): Likewise.
41253 (grub_get_rtc): Likewise.
41254
41255 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41256 (grub_efi_stall): New prototype.
41257 (grub_efi_allocate_pages): Likewise.
41258 (grub_efi_free_pages): Likewise.
41259 (grub_efi_get_memory_map): Likewise.
41260 (grub_efi_mm_init): Likewise.
41261 (grub_efi_mm_fini): Likewise.
41262 (grub_efi_init): Likewise.
41263 (grub_efi_fini): Likewise.
41264
41265 * include/grub/i386/efi/time.h: Do not include
41266 grub/symbol.h. Include grub/efi/time.h.
41267 (GRUB_TICKS_PER_SECOND): Removed.
41268 (grub_get_rtc): Likewise.
41269
41270 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41271 Added padding. The EFI spec is buggy.
41272 (GRUB_EFI_BLACK): New macro.
41273 (GRUB_EFI_BLUE): Likewise.
41274 (GRUB_EFI_GREEN): Likewise.
41275 (GRUB_EFI_CYAN): Likewise.
41276 (GRUB_EFI_RED): Likewise.
41277 (GRUB_EFI_MAGENTA): Likewise.
41278 (GRUB_EFI_BROWN): Likewise.
41279 (GRUB_EFI_LIGHTGRAY): Likewise.
41280 (GRUB_EFI_BRIGHT): Likewise.
41281 (GRUB_EFI_DARKGRAY): Likewise.
41282 (GRUB_EFI_LIGHTBLUE): Likewise.
41283 (GRUB_EFI_LIGHTGREEN): Likewise.
41284 (GRUB_EFI_LIGHTCYAN): Likewise.
41285 (GRUB_EFI_LIGHTRED): Likewise.
41286 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41287 (GRUB_EFI_YELLOW): Likewise.
41288 (GRUB_EFI_WHITE): Likewise.
41289 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41290 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41291 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41292 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41293 (GRUB_EFI_BACKGROUND_RED): Likewise.
41294 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41295 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41296 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41297 (GRUB_EFI_TEXT_ATTR): Likewise.
41298
41299 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41300 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41301 (kernel_mod_HEADERS): Added efi/time.h.
41302
83709125 413032006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41304
41305 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41306 include/grub/efi/api.h, include/grub/efi/console_control.h,
41307 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41308 include/grub/i386/efi/time.h, kern/efi/efi.c,
41309 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41310 and util/i386/efi/grub-mkimage.c.
41311
41312 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41313
41314 * genmk.rb (PModule#rule): Do not export symbols if
41315 #{prefix}_EXPORTS is set to "no".
41316
41317 * conf/i386-efi.mk: New file.
41318 * conf/i386-efi.rmk: Likewise.
41319 * include/grub/efi/api.h: Likewise.
41320 * include/grub/efi/console_control.h: Likewise.
41321 * include/grub/efi/efi.h: Likewise.
41322 * include/grub/efi/pe32.h: Likewise.
41323 * include/grub/i386/efi/time.h: Likewise.
41324 * kern/efi/efi.c: Likewise.
41325 * kern/i386/efi/init.c: Likewise.
41326 * kern/i386/efi/startup.S: Likewise.
41327 * util/i386/efi/grub-mkimage.c: Likewise.
41328
413292006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41330
41331 * include/grub/script.h: Include <grub/parser.h> and
41332 "grub_script.tab.h".
41333 (struct grub_lexer_param): New struct.
41334 (struct grub_parser_param): Likewise.
41335 (grub_script_create_arglist): Pass the state in an argument.
41336 (grub_script_add_arglist): Likewise.
41337 (grub_script_create_cmdline): Likewise.
41338 (grub_script_create_cmdblock): Likewise.
41339 (grub_script_create_cmdif): Likewise.
41340 (grub_script_create_cmdmenu): Likewise.
41341 (grub_script_add_cmd): Likewise.
41342 (grub_script_arg_add): Likewise.
41343 (grub_script_lexer_ref): Likewise.
41344 (grub_script_lexer_deref): Likewise.
41345 (grub_script_lexer_record_start): Likewise.
41346 (grub_script_lexer_record_stop): Likewise.
41347 (grub_script_mem_record): Likewise.
41348 (grub_script_mem_record_stop): Likewise.
41349 (grub_script_malloc): Likewise.
41350 (grub_script_yylex): Likewise.
41351 (grub_script_yyparse): Likewise.
41352 (grub_script_yyerror): Likewise.
41353 (grub_script_yylex): Likewise.
41354 (grub_script_lexer_init): Return the state.
41355
41356 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41357 (grub_script_lexer_done): Likewise.
41358 (grub_script_lexer_getline): Likewise.
41359 (grub_script_lexer_refs): Likewise.
41360 (script): Likewise.
41361 (newscript): Likewise.
41362 (record): Likewise.
41363 (recording): Likewise.
41364 (recordpos): Likewise.
41365 (recordlen): Likewise.
41366 (grub_script_lexer_init): Return the state instead of setting
41367 global variables.
41368 (grub_script_lexer_ref): Use the newly added argument for state
41369 instead of globals.
41370 (grub_script_lexer_deref): Likewise.
41371 (grub_script_lexer_record_start): Likewise.
41372 (grub_script_lexer_record_stop): Likewise.
41373 (recordchar): Likewise.
41374 (nextchar): Likewise.
41375 (grub_script_yylex2): Likewise.
41376 (grub_script_yylex): Likewise.
41377 (grub_script_yyerror): Likewise.
41378
41379 * normal/parser.y (func_mem): Removed variable.
41380 (menu_entry): Likewise.
41381 (err): Likewise.
41382 (%lex-param): New parser option.
41383 (%parse-param): Likewise.
41384 (script): Always return the AST.
41385 (argument): Pass the state around.
41386 (arguments): Likewise.
41387 (grubcmd): Likewise.
41388 (commands): Likewise.
41389 (function): Likewise.
41390 (menuentry): Likewise.
41391 (if_statement): Likewise.
41392 (if): Likewise.
41393
41394 * normal/script.c (grub_script_memused): Removed variable.
41395 (grub_script_parsed): Likewise.
41396 (grub_script_malloc): Added a state argument. Use that instead of
41397 global variables.
41398 (grub_script_mem_record): Likewise.
41399 (grub_script_mem_record_stop): Likewise.
41400 (grub_script_arg_add): Likewise.
41401 (grub_script_add_arglist): Likewise.
41402 (grub_script_create_cmdline): Likewise.
41403 (grub_script_create_cmdif): Likewise.
41404 (grub_script_create_cmdmenu): Likewise.
41405 (grub_script_add_cmd): Likewise.
41406 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41407
e2a8c904 414082006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41409
41410 * normal/command.c (grub_command_init): Remove the title command.
41411
41412 * normal/lexer.c (grub_script_yylex): Renamed from this...
41413 (grub_script_yylex2): ... to this.
41414 (grub_script_yylex): New function. Temporary
41415 introduced to filter some tokens.
41416 (grub_script_yyerror): Print a newline.
41417
41418 * normal/main.c (read_config_file): Output information about the
41419 lines that contain errors. Wait for a key after all lines have
41420 been processed. Don't return an empty menu.
41421
41422 * normal/parser.y (func_mem): Don't initialize.
41423 (menu_entry): Likewise.
41424 (err): New variable.
41425 (script): Don't return anything when an error was encountered.
41426 (ws, returns): Removed rules.
41427 (argument): Disabled concatenated variable support.
41428 (arguments): Remove explicit separators.
41429 (grubcmd): Likewise.
41430 (function): Likewise.
41431 (menuentry): Likewise.
41432 (if): Likewise.
41433 (commands): Likewise. Add error handling.
41434
41435 * normal/script.c (grub_script_create_cmdline): If
41436 `grub_script_parsed' is 0, assume the parser encountered an error.
41437
c9a86192 414382006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41439
41440 * configure.ac: Add support for EFI. Fix the typo
41441 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41442
70f3b243 414432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41444
41445 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41446 foreign multibyte characters should be shown correctly.
41447
65f201ad 414482006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41449
41450 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41451 calculation.
41452 (read_config_file): Made it to close file before returning.
41453
b4b93674 414542006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41455
41456 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41457 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41458 video/i386/pc/vbefill.c.
41459
41460 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41461 video/i386/pc/vbefill.c.
41462
41463 * include/grub/video.h (grub_video_blit_format): New enum.
41464 (grub_video_mode_info): Added new member blit_format.
41465 (grub_video_get_blit_format): New function prototype.
41466
41467 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41468 function prototype.
41469 (grub_video_vbe_map_rgb): Likewise.
41470 (grub_video_vbe_unmap_color): Likewise.
41471
41472 * include/grub/i386/pc/vbeblit.h: New file.
41473
41474 * include/grub/i386/pc/vbefill.h: New file.
41475
41476 * video/video.c (grub_video_get_blit_format): New function.
41477 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41478 (grub_video_vbe_map_rgb): Likewise.
41479 (grub_video_vbe_unmap_color): Likewise.
41480
41481 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41482 optimized fills.
41483 (grub_video_vbe_blit_render_target): Changed to use more optimized
41484 blits.
41485 (grub_video_vbe_setup): Added detection for optimized settings.
41486 (grub_video_vbe_create_render_target): Likewise.
41487
41488 * video/i386/pc/vbeblit.c: New file.
41489
41490 * video/i386/pc/vbefill.c: New file.
41491
c2379b9c 414922006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41493
41494 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41495 here...
41496
41497 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41498 parsing to support both hex and dec ranges. If filename was missing
41499 show usage information.
41500
bd0d7896 415012006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41502
41503 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41504 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41505
41506 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41507 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41508 (video_mod_SOURCES): Added.
41509 (video_mod_CFLAGS): Likewise.
41510 (video_mod_LDFLAGS): Likewise.
41511 (gfxterm_mod_SOURCES): Likewise.
41512 (gfxterm_mod_CFLAGS): Likewise.
41513 (gfxterm_mod_LDFLAGS): Likewise.
41514 (videotest_mod_SOURCES): Likewise.
41515 (videotest_mod_CFLAGS): Likewise.
41516 (videotest_mod_LDFLAGS): Likewise.
41517 (vesafb_mod_SOURCES): Removed.
41518 (vesafb_mod_CFLAGS): Likewise.
41519 (vesafb_mod_LDFLAGS): Likewise.
41520 (vga_mod_SOURCES): Likewise.
41521 (vga_mod_CFLAGS): Likewise.
41522 (vga_mod_LDFLAGS): Likewise.
41523
41524 * commands/videotest.c: New file.
41525
41526 * font/manager.c (fill_with_default_glyph): Modified to use
41527 grub_font_glyph.
41528 (grub_font_get_glyph): Likewise.
41529 (fontmanager): Renamed from this...
41530 (font_manager): ... to this.
41531
41532 * include/grub/font.h (grub_font_glyph): Added new structure.
41533 (grub_font_get_glyph): Modified to use grub_font_glyph.
41534
41535 * include/grub/misc.h (grub_abs): Added as inline function.
41536
41537 * include/grub/video.h: New file.
41538
41539 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41540 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41541 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41542 (grub_vbe_get_controller_info): Renamed from this...
41543 (grub_vbe_bios_get_controller_info): ... to this.
41544 (grub_vbe_get_mode_info): Renamed from this...
41545 (grub_vbe_bios_get_mode_info): ... to this.
41546 (grub_vbe_set_mode): Renamed from this...
41547 (grub_vbe_bios_set_mode): ... to this.
41548 (grub_vbe_get_mode): Renamed from this...
41549 (grub_vbe_bios_get_mode): ... to this.
41550 (grub_vbe_set_memory_window): Renamed from this...
41551 (grub_vbe_bios_set_memory_window): ... to this.
41552 (grub_vbe_get_memory_window): Renamed from this...
41553 (grub_vbe_bios_get_memory_window): ... to this.
41554 (grub_vbe_set_scanline_length): Renamed from this...
41555 (grub_vbe_set_scanline_length): ... to this.
41556 (grub_vbe_get_scanline_length): Renamed from this...
41557 (grub_vbe_bios_get_scanline_length): ... to this.
41558 (grub_vbe_set_display_start): Renamed from this...
41559 (grub_vbe_bios_set_display_start): ... to this.
41560 (grub_vbe_get_display_start): Renamed from this...
41561 (grub_vbe_bios_get_display_start): ... to this.
41562 (grub_vbe_set_palette_data): Renamed from this...
41563 (grub_vbe_bios_set_palette_data): ... to this.
41564 (grub_vbe_set_pixel_rgb): Removed.
41565 (grub_vbe_set_pixel_index): Likewise.
41566
41567 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41568 from this...
41569 (grub_vbe_bios_get_controller_info): ... to this.
41570 (grub_vbe_get_mode_info): Renamed from this...
41571 (grub_vbe_bios_get_mode_info): ... to this.
41572 (grub_vbe_set_mode): Renamed from this...
41573 (grub_vbe_bios_set_mode): ... to this.
41574 (grub_vbe_get_mode): Renamed from this...
41575 (grub_vbe_bios_get_mode): ... to this.
41576 (grub_vbe_set_memory_window): Renamed from this...
41577 (grub_vbe_bios_set_memory_window): ... to this.
41578 (grub_vbe_get_memory_window): Renamed from this...
41579 (grub_vbe_bios_get_memory_window): ... to this.
41580 (grub_vbe_set_scanline_length): Renamed from this...
41581 (grub_vbe_set_scanline_length): ... to this.
41582 (grub_vbe_get_scanline_length): Renamed from this...
41583 (grub_vbe_bios_get_scanline_length): ... to this.
41584 (grub_vbe_set_display_start): Renamed from this...
41585 (grub_vbe_bios_set_display_start): ... to this.
41586 (grub_vbe_get_display_start): Renamed from this...
41587 (grub_vbe_bios_get_display_start): ... to this.
41588 (grub_vbe_set_palette_data): Renamed from this...
41589 (grub_vbe_bios_set_palette_data): ... to this.
41590 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41591 getting corrupted after calling it. Added more pushes and pops.
41592 (grub_vbe_bios_set_mode): Likewise.
41593 (grub_vbe_bios_get_mode): Likewise.
41594 (grub_vbe_bios_get_memory_window): Likewise.
41595 (grub_vbe_bios_set_scanline_length): Likewise.
41596 (grub_vbe_bios_get_scanline_length): Likewise.
41597 (grub_vbe_bios_get_display_start): Likewise.
41598 (grub_vbe_bios_set_palette_data): Likewise.
41599
41600 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41601 (cl_insert): Likewise.
41602 (cl_delete): Likewise.
41603
41604 * term/gfxterm.c: New file.
41605
41606 * term/i386/pc/vesafb.c: Removed file.
41607
41608 * video/video.c: New file.
41609
41610 * video/i386/pc/vbe.c (real2pm): Added new function.
41611 (grub_video_vbe_draw_pixel): Likewise.
41612 (grub_video_vbe_get_video_ptr): Likewise.
41613 (grub_video_vbe_get_pixel): Likewise
41614 (grub_video_vbe_init): Likewise.
41615 (grub_video_vbe_fini): Likewise.
41616 (grub_video_vbe_setup): Likewise.
41617 (grub_video_vbe_get_info): Likewise.
41618 (grub_video_vbe_set_palette): Likewise.
41619 (grub_video_vbe_get_palette): Likewise.
41620 (grub_video_vbe_set_viewport): Likewise.
41621 (grub_video_vbe_get_viewport): Likewise.
41622 (grub_video_vbe_map_color): Likewise.
41623 (grub_video_vbe_map_rgb): Likewise.
41624 (grub_video_vbe_map_rgba): Likewise.
41625 (grub_video_vbe_unmap_color): Likewise.
41626 (grub_video_vbe_fill_rect): Likewise.
41627 (grub_video_vbe_blit_glyph): Likewise.
41628 (grub_video_vbe_blit_bitmap): Likewise.
41629 (grub_video_vbe_blit_render_target): Likewise.
41630 (grub_video_vbe_scroll): Likewise.
41631 (grub_video_vbe_swap_buffers): Likewise.
41632 (grub_video_vbe_create_render_target): Likewise.
41633 (grub_video_vbe_delete_render_target): Likewise.
41634 (grub_video_vbe_set_active_render_target): Likewise.
41635 (grub_vbe_set_pixel_rgb): Remove function.
41636 (grub_vbe_set_pixel_index): Likewise.
41637 (index_color_mode): Remove static variable.
41638 (active_mode): Likewise.
41639 (framebuffer): Likewise.
41640 (bytes_per_scan_line): Likewise.
41641 (grub_video_vbe_adapter): Added new static variable.
41642 (framebuffer): Likewise.
41643 (render_target): Likewise.
41644 (initial_mode): Likewise.
41645 (mode_in_use): Likewise.
41646 (mode_list): Likewise.
41647
5f97350b 416482006-03-10 Marco Gerards <marco@gnu.org>
41649
41650 * configure.ac (AC_INIT): Bumped to 1.93.
41651
41652 * DISTLIST: Added `include/grub/hfs.h'.
41653
a3c5c6f8 416542006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41655
41656 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41657 18H, which might help the BIOS falling back to next boot media.
41658
6de53d26 416592006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41660
41661 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41662 Poe Chen <poe.poechen@gmail.com>.
41663
77c4a393 416642006-01-17 Marco Gerards <marco@gnu.org>
41665
41666 * include/grub/normal.h: Include <grub/script.h>.
41667 (grub_command_list): Removed struct.
41668 (grub_command_list_t): Removed type.
41669 (grub_menu_entry): Remove members `num' and `command_list'. Add
41670 members `commands' and `sourcecode'.
41671 * include/grub/script.h: Add inclusion guards.
41672 (grub_script_cmd_menuentry): New struct.
41673 (grub_script_execute_menuentry): New prototype.
41674 (grub_script_lexer_record_start): Likewise.
41675 (grub_script_lexer_record_stop): Likewise.
41676 * normal/execute.c (grub_script_execute_menuentry): New function.
41677 * normal/lexer.c (record, recording, recordpos, recordlen): New
41678 variables.
41679 (grub_script_lexer_record_start): New function.
41680 (grub_script_lexer_record_stop): Likewise.
41681 (recordchar): Likewise.
41682 (nextchar): Likewise.
41683 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41684 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41685 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41686 (current_menu): New variable.
41687 (free_menu): Mainly rewritten.
41688 (grub_normal_menu_addentry): New function.
41689 (read_config_file): Rewritten.
41690 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41691 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41692 the menu entry.
41693 (run): Mainly rewritten.
41694 * normal/parser.y (menu_entry): New variable.
41695 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41696 (menuentry): New rule.
41697 (command): Add `menuentry'.
41698 (if_statement): Allow additional returns before `fi'.
41699 * normal/script.c (grub_script_create_cmdmenu): New function.
41700
144f1f98 417012006-01-03 Marco Gerards <marco@gnu.org>
41702
41703 * INSTALL: GNU Bison is required.
41704 * configure.ac: Rewritten the test to detect Bison.
41705 * Makefile.in (YACC): New variable. Reported by Xun Sun
41706 <xun.sun.cn@gmail.com>.
41707
af4b2d89 417082006-01-03 Marco Gerards <marco@gnu.org>
41709
41710 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41711 the HFS+ filesystem to filesystem blocks.
41712 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41713 GCC warning is silenced.
41714
15643b71 417152006-01-03 Marco Gerards <marco@gnu.org>
41716
41717 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41718 read from disk from big endian to host byte order.
41719
00905879 417202006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41721
41722 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41723 documentation.
41724 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41725 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41726 embedded HFS+ filesystem.
41727 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41728 (grub_hfs_sblock): Move from here...
41729 * include/grub/hfs.h: To here... New file.
41730 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41731 documentation.
41732 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41733 New macros.
41734 (grub_hfsplus_volheader): Change type of member `magic' to
41735 `grub_uint16_t'.
41736 (grub_hfsplus_data): Add new member `embedded_offset'.
41737 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41738 returned block.
41739 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41740 Calculate the offset.
41741
8899bc3e 417422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41743
41744 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41745 Removed.
41746 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41747
ae8c0277 417482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41749
41750 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41751 ENV->NAME is NULL after allocating ENV->VALUE.
41752
07084456 417532005-12-25 Marco Gerards <marco@gnu.org>
41754
41755 * kern/env.c (grub_env_set): Rewritten the error handling code.
41756
4750f5f1 417572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41758
41759 * geninit.sh: Made more robust, and more portable.
41760
50214199 417612005-12-25 Marco Gerards <marco@gnu.org>
41762
41763 Add support for Apple HFS+ filesystems.
f19dbdb7 41764
50214199 41765 * fs/hfsplus.c: New file.
41766
41767 * DISTLIST: Added `fs/hfsplus.c'.
41768
41769 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41770 (hfsplus_mod_SOURCES): New variable.
41771 (hfsplus_mod_CFLAGS): Likewise.
41772 (hfsplus_mod_LDFLAGS): Likewise.
41773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41774 (grub_setup_SOURCES): Likewise.
41775 (grub_mkdevicemap_SOURCES): Likewise.
41776 (grub_emu_SOURCES): Likewise.
41777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41778
41779 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41780
41781 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41782
befaed6c 417832005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41784
41785 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41786 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41787 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41788 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41789 normal/lexer.c, normal/parser.y, normal/script.c, and
41790 partmap/gpt.c.
41791 Removed kern/sparc64/cache.c.
41792
41793 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41794 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41795 grub_emu_init.c.
41796
41797 * configure.ac (AC_INIT): Bumped to 1.92.
41798
6a124103 417992005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41800
41801 * kern/err.c (grub_error_push): Added new function to support error
41802 stacks.
41803 (grub_error_pop): Likewise.
41804 (grub_error_stack_items): New local variable to support error stacks.
41805 (grub_error_stack_pos): Likewise.
41806 (grub_error_stack_assert): Likewise.
41807 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41808 stack depth.
41809 (grub_print_error): Added support to print errors from error stack.
41810
41811 * include/grub/err.h (grub_error_push): Added function prototype.
41812 (grub_error_pop): Likewise.
41813
be973c1b 418142005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41815
41816 * configure.ac: Accept `powerpc64' as host_cpu.
41817 (amd64): Rename to `biarch32'.
41818
41819 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41820 non-cacheline-aligned addresses.
41821
41822 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41823 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41824 if `size' is non-zero.
41825
b04216ab 418262005-12-03 Marco Gerards <mgerards@xs4all.nl>
41827
41828 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41829 and `cd' to make sure the filename is not prefixed with a
41830 directory name.
41831 (pkgdata_MODULES): Add `gpt.mod'.
41832 (gpt_mod_SOURCES): New variable.
41833 (gpt_mod_CFLAGS): Likewise.
41834 (gpt_mod_LDFLAGS): Likewise.
41835
41836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41837
41838 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41839 New macro.
41840
41841 * partmap/gpt.c: New file.
41842
41843 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41844 GPT partition map is detected.
41845
41730ed9 418462005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41847
41848 * commands/i386/pc/play.c: New file.
41849 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41850 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41851 macros.
f19dbdb7 41852
95dc3643 418532005-11-27 Marco Gerards <mgerards@xs4all.nl>
41854
41855 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41856 ((unused))' to silence gcc warning.
41857
1569ec51 418582005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41859
41860 * configure.ac: Correct `AC_PROG_YACC' test.
41861
9abde152 418622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41863
41864 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41865 check before installing files.
41866
44b83271 418672005-11-22 Mike Small <smallm@panix.com>
41868
41869 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41870 number regex so multidigit numbers are recognized correctly.
41871
418722005-11-22 Mike Small <smallm@panix.com>
41873
41874 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41875 debugging message before attempting to claim memory.
41876 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41877 multiple addresses in case of failure.
41878
9c12956b 418792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41880
41881 * term/tparm.c (get_space): Remove empty `if' statement.
41882
41883 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41884
41885 * kern/parser.c (check_varstate): Rename `state' to 's'.
41886
aeaf81d9 418872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41888
41889 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41890 variable definitions to the beginning of each function. Sort stack
41891 variables by size.
41892 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41893 `buf' argument to `char *'.
41894
79bbb63f 418952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41896
41897 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41898 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41899 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41900 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41901 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41902 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41903 configfile.mod, search.mod, gzio.mod and test.mod.
41904 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41905 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41906 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41907 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41908 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41909 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41910 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41911 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41912 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41913 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41914 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41915 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41916 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41917 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41918 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41919 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41920 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41921 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41922 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41923 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41924 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41925 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41926 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41927
41928 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41929 `grep --include'.
41930 (pkgdata_MODULES): Add test.mod.
41931
233b1628 419322005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41933
41934 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41935 appending to variables with "+=".
41936 (PModule): Use full pathname to generate *.lst filenames.
41937
41938 * Makefile.in: Fixed list rules moved from genmk.rb.
41939 (.DELETE_ON_ERROR): New special target.
41940 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41941
41942 * conf/i386-pc.rmk: Include conf/common.mk.
41943 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41944 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41945 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41946 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41947 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41948 configfile.mod, search.mod, gzio.mod and test.mod.
41949 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41950 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41951 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41952 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41953 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41954 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41955 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41956 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41957 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41958 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41959 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41960 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41961 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41962 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41963 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41964 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41965 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41966 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41967 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41968 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41969 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41970 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41971 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41972 here...
41973 * conf/common.rmk: ... to here. New file.
41974
41975 * conf/common.mk: New file.
41976
16f820c8 419772005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41978
41979 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41980 (grub_script.tab.c): ... here.
41981
41982 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41983 (grub_script.tab.c): ... here.
41984
41985 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41986 (grub_script.tab.c): ... here.
41987
41988 * normal/command.c (grub_command_find): Fixed a memory leak of
41989 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41990
63ba1554 419912005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41992
41993 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41994 "@" which marks the start of a comment on ARM.
41995 (VARIABLE): Likewise.
41996
7f67dc13 419972005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41998
79bbb63f 41999 Add support for Linux/ADFS partition tables.
7f67dc13 42000
42001 * partmap/acorn.c: New file.
42002
42003 * include/grub/acorn_filecore.h: Likewise.
42004
42005 * DISTLIST: Added `partmap/acorn.c' and
42006 `include/grub/acorn_filecore.h'.
f19dbdb7 42007
7f67dc13 42008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42009 `partmap/acorn.c'.
42010 (pkgdata_MODULES): Add `acorn.mod'.
42011 (acorn_mod_SOURCES): New variable.
42012 (acorn_mod_CFLAGS): Likewise.
42013
42014 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42015 `partmap/acorn.c'.
42016 (pkgdata_MODULES): Add `acorn.mod'.
42017 (acorn_mod_SOURCES): New variable.
42018 (acorn_mod_CFLAGS): Likewise.
42019
42020 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42021 (pkgdata_MODULES): Add `acorn.mod'.
42022 (acorn_mod_SOURCES): New variable.
42023 (acorn_mod_CFLAGS): Likewise.
42024 (acorn_mod_LDFLAGS): Likewise.
42025
42026 * include/types.h (grub_disk_addr_t): New typedef.
42027
6d099807 420282005-11-13 Marco Gerards <mgerards@xs4all.nl>
42029
42030 * geninit.sh: New file.
42031
42032 * geninitheader.sh: Likewise.
42033
42034 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42035 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42036 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42037 * commands/configfile.c (grub_configfile_init)
42038 (grub_configfile_fini): Likewise.
42039 * commands/default.c (grub_default_init, grub_default_fini):
42040 Likewise.
42041 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42042 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42043 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42044 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42045 Likewise.
42046 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42047 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42048 Likewise.
42049 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42050 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42051 Likewise.
42052 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42053 Likewise.
fe6b695a 42054 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42055 Likewise.
42056 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42057 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42058 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42059 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42060 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42061 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42062 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42063 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42064 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42065 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42066 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42067 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42068 * partmap/amiga.c (grub_amiga_partition_map_init)
42069 (grub_amiga_partition_map_fini): Likewise.
42070 * partmap/apple.c (grub_apple_partition_map_init)
42071 (grub_apple_partition_map_fini): Likewise.
42072 * partmap/pc.c (grub_pc_partition_map_init)
42073 (grub_pc_partition_map_fini): Likewise.
42074 * partmap/sun.c (grub_sun_partition_map_init,
42075 grub_sun_partition_map_fini): Likewise.
42076 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42077 Likewise.
42078
42079 * util/grub-emu.c: Include <grub_modules_init.h>.
42080 (main): Don't initialize and de-initialize any modules directly,
42081 use `grub_init_all' and `grub_fini_all' instead.
42082
42083 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42084 `grub_vesafb_mod_init'.
42085 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42086 all users.
42087 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42088 `grub_vga_mod_init'. Updated all users.
42089 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42090
6d099807 42091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42092 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42093 rules.
42094
42095 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42096 Generate a function to initialize the module in utilities.
42097 Updated all callers.
42098 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42099 initialize the module in utilities. Updated all callers.
42100
9046bcf0 421012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42102
42103 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42104 escape sequence and a literal ^L to clear the screen.
42105
42106 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42107 when returning from Open Firmware.
42108
d13ea639 421092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42110
42111 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42112 (grub_ofconsole_height): Likewise.
42113 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42114 manually insert a '\n'.
42115 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42116 `grub_ofconsole_height'. Return early if these are already set.
42117
a8fcf206 421182005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42119
42120 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42121 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42122 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42123 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42124 and `normal/script.c'.
42125 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42126 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42127 (test_mod_SOURCES): New variable.
42128 (test_mod_CFLAGS): Likewise.
42129 (test_mod_LDFLAGS): Likewise.
42130 (pkgdata_MODULES): Add `test.mod'.
42131 (grub_script.tab.c): New rule.
42132 (grub_script.tab.h): Likewise.
42133
b6b32745 421342005-11-07 Marco Gerards <mgerards@xs4all.nl>
42135
42136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42137 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42138 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42139 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42140 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42141 (test_mod_SOURCES): New variable.
42142 (test_mod_CFLAGS): Likewise.
42143 (pkgdata_MODULES): Add `test.mod'.
42144 (grub_script.tab.c): New rule.
42145 (grub_script.tab.h): Likewise.
42146
daac212a 421472005-11-06 Marco Gerards <mgerards@xs4all.nl>
42148
42149 Add initial scripting support.
42150
42151 * commands/test.c: New file.
42152 * include/grub/script.h: Likewise.
42153 * normal/execute.c: Likewise.
42154 * normal/function.c: Likewise.
42155 * normal/lexer.c: Likewise.
42156 * normal/parser.y: Likewise.
42157 * normal/script.c: Likewise.
42158
42159 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42160
daac212a 42161 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42162 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42163 `normal/function.c' and `normal/script.c'.
42164 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42165 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42166 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42167 variables.
daac212a 42168 (pkgdata_MODULES): Add `test.mod'.
42169 (grub_script.tab.c): New rule.
42170 (grub_script.tab.h): Likewise.
42171
42172 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42173
42174 * include/grub/normal.h (grub_test_init): New prototype.
42175 (grub_test_fini): Likewise.
f19dbdb7 42176
daac212a 42177 * normal/command.c: Include <grub/script.h>.
42178 (grub_command_execute): Rewritten.
f19dbdb7 42179
daac212a 42180 * util/grub-emu.c (main): Call `grub_test_init' and
42181 `grub_test_fini'.
42182
77500b2b 421832005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42184
42185 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42186 to 0.
42187 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42188 there are no pending characters.
42189
e45deb9e 421902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42191
42192 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42193 `grub_strndup' to drop device arguments. Replace unnecessary
42194 `grub_strndup' with `grub_strdup'.
42195
4ce32619 421962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42197
42198 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42199 `debug' environment variable has been set.
42200
422012005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42202
4ce32619 42203 * Makefile.in (install-local): Use $(DATA).
42204 (uninstall): Likewise.
42205 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42206 (sbin_UTILITIES): ... to here.
42207 (sbin_SCRIPTS): New variable.
42208 (grub_install_SOURCES): New variable.
42209 * util/powerpc/ieee1275/grub-install.in: New file.
42210 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42211 variable.
42212 (add_segments): Call `grub_util_get_path'.
42213
25fe6f03 422142005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42215
42216 From Timothy Baldwin:
42217 * commands/ls.c (grub_ls_list_files): Close FILE with
42218 grub_file_close.
42219 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42220
04ccf3ec 422212005-10-24 Marco Gerards <mgerards@xs4all.nl>
42222
42223 * include/grub/parser.h: New file.
42224
42225 * kern/parser.c: Likewise.
42226
42227 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42228 (grub_setup_SOURCES): Likewise.
42229 (grub_probefs_SOURCES): Likewise.
42230 (grub_emu_SOURCES): Likewise.
42231 (kernel_img_HEADERS): Add `parser.h'.
42232
42233 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42234 (grub_emu_SOURCES): Add `kern/parser.c'.
42235 (grubof_SOURCES): Likewise.
42236
42237 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42238 (grubof_SOURCES): Add `kern/parser.c'.
42239
42240 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42241
42242 * kern/misc.c (grub_split_cmdline): Removed function.
42243
42244 * kern/rescue.c: Include <grub/parser.h>.
42245 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42246 of `grub_split_cmdline'.
42247
42248 * normal/command.c: Include <grub/parser.h>.
42249 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42250 of `grub_split_cmdline'.
42251
42252 * normal/completion.c: Include <grub/parser.h>.
42253 (cmdline_state): New variable.
42254 (iterate_dir): End the filename with a quote depending on the
42255 command line state.
42256 (get_state): new function.
42257 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42258 split the arguments and determine the current argument. When the
42259 argument string is not quoted, escape all spaces.
42260
6d8f4b0e 422612005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42262
42263 * normal/sparc64/setjmp.S: New file.
42264
15cf03ed 422652005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42266
42267 * include/grub/sparc64/libgcc.h: New file.
42268 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42269 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42270 normal/sparc64/setjmp.c.
42271
03e8661a 422722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42273
42274 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42275 * kern/sparc64/cache.S: New file.
42276 * kern/sparc64/cache.c: Removed.
42277 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42278 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42279 -mtune=ultrasparc.
42280 (COMMON_LDFLAGS): Add -melf64_sparc.
42281 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42282 (grubof_SOURCES): Use cache.S instead of cache.c.
42283 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42284 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42285 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42286 commented though.
42287 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42288 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42289 (linux_mod_CFLAGS): Commented out.
42290 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42291 out because module isn't built.
42292 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42293 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42294 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42295 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42296 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42297 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42298 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42299 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42300 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42301 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42302 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42303 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42304 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42305 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42306
34eeec8a 423072005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42308
42309 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42310 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42311 longer, because HFS should not be used on PC.
42312
708367a3 423132005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42314
42315 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42316 consistently within the loop.
42317
6fa1251a 423182005-10-15 Marco Gerards <mgerards@xs4all.nl>
42319
42320 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42321 directory can not be read.
42322
4801580b 423232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42324
42325 * configure.ac (AC_INIT): Increase the version number to 1.91.
42326
42327 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42328 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42329 term/i386/pc/serial.c.
42330
219ad426 423312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42332
42333 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42334 file size must be permitted.
42335
42336 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42337 between %ah and %al.
42338
688e5699 423392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42340
42341 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42342 grub_uint64_t.
42343 Call the hook with a NUL-terminated filename.
42344 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42345 grub_cpu_to_be32.
42346
42347 * kern/term.c (cursor_state): New variable.
42348 (grub_term_set_current): Reset the cursor state on a new
42349 terminal.
42350 (grub_setcursor): Rewritten to use CURSOR_STATE.
42351 (grub_getcursor): New function.
42352
42353 * include/grub/term.h (grub_getcursor): New prototype.
42354
42355 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42356 integers on ARM. Reported by Timothy Baldwin
42357 <T.E.Baldwin99@members.leeds.ac.uk>.
42358
bb34586c 423592005-10-11 Marco Gerards <mgerards@xs4all.nl>
42360
42361 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42362 allocated.
42363 (grub_sfs_dir): Likewise.
42364
9a909877 423652005-10-09 Marco Gerards <mgerards@xs4all.nl>
42366
42367 Add support for the SFS filesystem.
42368
42369 * fs/sfs.c: New file.
42370
42371 * DISTLIST: Added `fs/sfs.c'.
42372
42373 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42374 (grub_probefs_SOURCES): Likewise.
42375 (grub_emu_SOURCES): Likewise.
42376 (pkgdata_MODULES): Add `sfs.mod'.
42377 (sfs_mod_SOURCES): New variable.
42378 (sfs_mod_CFLAGS): Likewise.
42379 (sfs_mod_LDFLAGS): Likewise.
42380
42381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42382 (pkgdata_MODULES): Add `sfs.mod'.
42383 (sfs_mod_SOURCES): New variable.
42384 (sfs_mod_CFLAGS): Likewise.
42385
42386 * util/grub-emu.c (main): Call `grub_sfs_init' and
42387 `grub_sfs_fini'.
42388
42389 * include/grub/fs.h (grub_sfs_init): New prototype.
42390 (grub_sfs_fini): Likewise.
42391
57bdbde3 423922005-10-07 Marco Gerards <mgerards@xs4all.nl>
42393
42394 Add support for the AFFS filesystem.
42395
42396 * fs/affs.c: New file.
42397
42398 * DISTLIST: Added `fs/affs.c'.
42399
42400 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42401 (grub_probefs_SOURCES): Likewise.
42402 (grub_emu_SOURCES): Likewise.
42403 (pkgdata_MODULES): Add `affs.mod'.
42404 (affs_mod_SOURCES): New variable.
42405 (affs_mod_CFLAGS): Likewise.
42406 (affs_mod_LDFLAGS): Likewise.
42407
42408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42409 (pkgdata_MODULES): Add `affs.mod'.
42410 (affs_mod_SOURCES): New variable.
42411 (affs_mod_CFLAGS): Likewise.
42412
42413 * util/grub-emu.c (main): Call `grub_affs_init' and
42414 `grub_affs_fini'.
42415
42416 * include/grub/fs.h (grub_affs_init): New prototype.
42417 (grub_affs_fini): Likewise.
42418
047b67e0 424192005-10-01 Marco Gerards <mgerards@xs4all.nl>
42420
42421 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42422
59b8208a 424232005-10-01 Marco Gerards <mgerards@xs4all.nl>
42424
42425 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42426 `-m32' to CFLAGS.
42427
42428 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42429 linking.
f19dbdb7 42430
59b8208a 42431 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42432 (COMMON_LDFLAGS): New variable.
42433 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42434 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42435 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42436 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42437 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42438 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42439 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42440 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42441 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42442 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42443 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42444 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42445 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42446 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42447 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42448 variables.
42449 (normal_mod_ASFLAGS): Add `-m32'.
42450
42451 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42452 (grub_host_size_t, grub_host_ssize_t): New types.
42453 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42454 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42455 `GRUB_HOST_SIZEOF_VOID_P'.
42456
42457 * include/grub/kernel.h (struct grub_module_header): Type of
42458 member offset changed to `grub_host_off_t'. Type of member size
42459 changed to `grub_host_size_t'.
42460 (struct grub_module_info): Type of member offset changed to
42461 `grub_host_off_t'. Type of member size changed to
42462 `grub_host_size_t'.
42463
b4093103 424642005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42465
42466 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42467
b4093103 42468 * kern/i386/pc/startup.S (multiboot_header): New label.
42469 (multiboot_entry): Likewise.
42470 (multiboot_trampoline): Likewise.
42471
42472 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42473 Increased to 0x4A0.
42474
42475 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42476 put parentheses after a question mark.
42477 [!GRUB_UTIL] (my_mod): New variable.
42478
42479 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42480
b2499b29 424812005-09-28 Marco Gerards <mgerards@xs4all.nl>
42482
42483 Adds support for the XFS filesystem. Btrees are not supported
42484 yet.
42485
42486 * fs/xfs.c: New file.
42487
42488 * DISTLIST: Added `fs/xfs.c'.
42489
42490 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42491 (grub_probefs_SOURCES): Likewise.
42492 (grub_emu_SOURCES): Likewise.
42493 (pkgdata_MODULES): Add `xfs.mod'.
42494 (xfs_mod_SOURCES): New variable.
42495 (xfs_mod_CFLAGS): Likewise.
42496
42497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42498 (pkgdata_MODULES): Add `xfs.mod'.
42499 (xfs_mod_SOURCES): New variable.
42500 (xfs_mod_CFLAGS): Likewise.
42501
42502 * util/grub-emu.c (main): Call `grub_xfs_init' and
42503 `grub_xfs_fini'.
42504
42505 * include/grub/fs.h (grub_xfs_init): New prototype.
42506 (grub_xfs_fini): Likewise.
42507
f19dbdb7 42508
83d37a62 425092005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42510
42511 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42512 color modes, allow greater than 16 colors to be configured as
42513 a default palette.
42514
47d2d65e 425152005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42516
42517 * normal/completion.c (complete_arguments): Add the qualifier
42518 const into OPTIONS.
42519
42520 From Omniflux <omniflux+lists@omniflux.com>:
42521 * include/grub/terminfo.h: New file.
42522 * include/grub/tparm.h: Likewise.
42523 * include/grub/i386/pc/serial.h: Likewise.
42524 * term/terminfo.c: Likewise.
42525 * term/tparm.c: Likewise.
42526 * term/i386/pc/serial.c: Likewise.
42527 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42528 serial.mod.
42529 (terminfo_mod_SOURCES): New variable.
42530 (terminfo_mod_CFLAGS): Likewise.
42531 (serial_mod_SOURCES): Likewise.
42532 (serial_mod_CFLAGS): Likewise.
42533
48b671ff 425342005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42535
42536 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42537 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42538 and kern/powerpc/ieee1275/cmain.c, respectively.
42539
42540 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42541 * kern/powerpc/ieee1275/crt0.S: ... here.
42542
42543 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42544 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42545
48b671ff 42546 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42547 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42548 instead of boot/powerpc/ieee1275/crt0.S and
42549 boot/powerpc/ieee1275/cmain.c, respectively.
42550
42551 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42552 sectors. It was not used anyway.
42553
09fc77a7 425542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42555
42556 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42557 `unused parameter' warning.
42558
003789c7 425592005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42560
42561 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42562 function.
42563 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42564 getcharwidth.
42565
67f44c86 425662005-08-28 Marco Gerards <metgerards@student.han.nl>
42567
42568 * include/grub/normal.h (enum grub_completion_type): Added
42569 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42570
42571 * normal/cmdline.c (print_completion): Handle
42572 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42573 * normal/menu_entry.c (store_completion): Likewise.
42574
42575 * normal/completion.c (complete_arguments): New function.
42576 (grub_normal_do_completion): Call `complete_arguments' when the
42577 current words start with a dash.
42578
0b5abe02 425792005-08-27 Marco Gerards <metgerards@student.han.nl>
42580
42581 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42582 `gzio.mod' instead of `io.mod').
42583
d9864ee1 425842005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42585
42586 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42587 (DISTDIRS): Added io and video.
42588 Rewrite the search routine to make an output consistently.
42589
42590 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42591 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42592 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42593 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42594 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42595 util/powerpc/ieee1275/misc.c.
f19dbdb7 42596
d9864ee1 42597 * include/grub/gzio.h: New file.
42598 * io/gzio.c: Likewise.
f19dbdb7 42599
d9864ee1 42600 * kern/file.c (grub_file_close): Call grub_device_close only if
42601 FILE->DEVICE is not NULL.
42602
42603 * include/grub/mm.h [!NULL] (NULL): New macro.
42604
42605 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42606
42607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42608 (pkgdata_MODULES): Added gzio.mod.
42609 (gzio_mod_SOURCES): New variable.
42610 (gzio_mod_CFLAGS): Likewise.
42611
42612 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42613 (pkgdata_MODULES): Added gzio.mod.
42614 (gzio_mod_SOURCES): New variable.
42615 (gzio_mod_CFLAGS): Likewise.
42616
42617 * commands/cat.c: Include grub/gzio.h.
42618 (grub_cmd_cat): Use grub_gzfile_open instead of
42619 grub_file_open.
f19dbdb7 42620
d9864ee1 42621 * commands/cmp.c: Include grub/gzio.h.
42622 (grub_cmd_cmp): Use grub_gzfile_open instead of
42623 grub_file_open.
42624
42625 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42626 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42627 grub_file_open.
42628 (grub_rescue_cmd_module): Likewise.
42629
fa46f4b5 426302005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42631
42632 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42633 kern/sparc64/ieee1275/init.c because it contains _start.
42634 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42635
e9211b5d 426362005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42637
42638 * configure.ac: Add support for sparc64 host with ieee1275
42639 firmware.
42640 * configure: Generated from configure.ac.
42641 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42642 instead of int.
42643 (grub_ofdisk_read): Likewise.
42644 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42645 pointers as (void *) to remove a warning.
42646 (grub_ofdisk_close): Likewise.
42647 (grub_ofdisk_read): Likewise.
42648 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42649 returns, so make it return void to remove a warning.
42650 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42651 Corresponding prototype change.
42652 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42653 values, and cast the pointers as (void *) to remove a warning.
42654 (grub_mm_dump): Likewise.
42655 * conf/sparc64-ieee1275.mk: New file.
42656 * conf/sparc64-ieee1275.rmk: Likewise.
42657 * include/grub/sparc64/setjmp.h: Likewise.
42658 * include/grub/sparc64/types.h: Likewise.
42659 * include/grub/sparc64/ieee1275/console.h: Likewise.
42660 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42661 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42662 * include/grub/sparc64/ieee1275/time.h: Likewise.
42663 * kern/sparc64/cache.c: Likewise.
42664 * kern/sparc64/dl.c: Likewise.
42665 * kern/sparc64/ieee1275/init.c: Likewise.
42666 * kern/sparc64/ieee1275/openfw.c: Likewise.
42667
385c6a92 426682005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42669
42670 * util/console.c (grub_ncurses_putchar): If C is greater than
42671 0x7f, set C to a question mark.
42672 (grub_ncurses_getcharwidth): New function.
42673 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42674 getcharwidth.
42675
42676 * normal/menu.c (print_entry): Made aware of Unicode. First,
42677 convert TITLE to UCS-4, and predict the cursor position by
42678 grub_getcharwidth.
42679
42680 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42681 const to SRC.
42682 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42683
16ccb8b1 426842005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42685
42686 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42687 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42688 grub_strcat.
42689
42690 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42691 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42692 grub_strcpy and grub_strlen. Take it into account that a space
42693 character is inserted as a delimiter.
42694
6a85ce79 426952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42698 invalid magic in the error.
6a85ce79 42699
42700 * commands/search.c: New file.
f19dbdb7 42701
6a85ce79 42702 * util/grub-emu.c (main): Call grub_search_init and
42703 grub_search_fini.
42704
42705 * kern/rescue.c (grub_rescue_print_disks): Removed.
42706 (grub_rescue_print_devices): New function.
42707 (grub_rescue_cmd_ls): Use grub_device_iterate with
42708 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42709 grub_rescue_print_disks.
42710
42711 * kern/partition.c (grub_partition_iterate): Return the result of
42712 PARTMAP->ITERATE instead of GRUB_ERRNO.
42713
42714 * kern/device.c: Include grub/partition.h.
42715 (grub_device_iterate): New function.
42716
42717 * include/grub/partition.h (grub_partition_iterate): Return int
42718 instead of grub_err_t.
42719
42720 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42721 prototype.
42722 [GRUB_UTIL] (grub_search_fini): Likewise.
42723
42724 * include/grub/device.h (grub_device_iterate): New prototype.
42725
42726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42727 commands/search.c.
42728 (pkgdata_MODULES): Added search.mod.
42729 (search_mod_SOURCES): New variable.
42730 (search_mod_CFLAGS): Likewise.
42731
42732 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42733 (pkgdata_MODULES): Added search.mod.
42734 (search_mod_SOURCES): New variable.
42735 (search_mod_CFLAGS): Likewise.
42736
42737 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42738 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42739 All callers changed.
42740
42741 * DISTLIST: Added commands/search.c.
42742
ef095434 427432005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42744
42745 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42746 conversion.
42747 (grub_getcharwidth): New function.
42748
42749 * kern/misc.c (grub_utf8_to_ucs4): New function.
42750
42751 * include/grub/term.h (struct grub_term): Added a new member
42752 "getcharwidth".
42753 (grub_getcharwidth): New prototype.
42754
42755 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42756
42757 * term/i386/pc/console.c (map_char): New function. Segregated from
42758 grub_console_putchar.
42759 (grub_console_putchar): Use map_char.
42760 (grub_console_getcharwidth): New function.
42761 (grub_console_term): Specified grub_console_getcharwidth as
42762 getcharwidth.
42763
42764 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42765 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42766
42767 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42768 GRUB_ERRNO.
42769 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42770 on grub_strtoul completely.
42771 (write_char): Declare local variables in the beginning of the
42772 function.
42773 (grub_vesafb_getcharwidth): New function.
42774 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42775 getcharwidth.
42776
1f0a95e4 427772005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42778
42779 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42780 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42781 commands/i386/pc/vbetest.c.
42782
42783 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42784 call grub_vbe_get_controller_info again, because the returned
42785 information is volatile.
42786 (grub_vbe_set_video_mode): Mostly rewritten.
42787 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42788 grub_vbe_status_t correctly.
42789 (grub_vbe_get_video_mode_info): Likewise.
42790 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42791 several if statements.
42792
42793 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42794 * commands/i386/pc/vbeinfo.c: ... this.
42795
42796 * commands/i386/pc/vbe_test.c: Renamed to ...
42797 * commands/i386/pc/vbetest.c: ... this.
42798
42799 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42800 ...
42801 (grub_cmd_vbeinfo): ... this. Save video modes before
42802 iterating. Skip a video mode, if it is not available, not enough
42803 information is given or it is monochrome. Show the memory
42804 model. Leave the interpretation of MODEVAR to grub_strtoul
42805 completely.
42806 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42807 (GRUB_MOD_FINI): Likewise.
42808
42809 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42810 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42811 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42812 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42813 grub_strtoul completely.
42814 (real2pm): Removed.
42815 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42816 (GRUB_MOD_FINI): Likewise.
42817
42818 * normal/misc.c: Include grub/mm.h.
42819
42820 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42821 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42822 (vbe_list_modes_mod_SOURCES): Removed.
42823 (vbe_list_modes_mod_CFLAGS): Likewise.
42824 (vbe_test_mod_SOURCES): Likewise.
42825 (vbe_test_mod_CFLAGS): Likewise.
42826 (vbeinfo_mod_SOURCES): New variable.
42827 (vbeinfo_mod_CFLAGS): Likewise.
42828 (vbetest_mod_SOURCES): Likewise.
42829 (vbetest_mod_CFLAGS): Likewise.
42830
992ffbbe 428312005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42832
42833 * normal/misc.c: New file.
42834
42835 * DISTLIST: Added normal/misc.c.
f19dbdb7 42836
992ffbbe 42837 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42838 DISK to HOOK. Call HOOK with DISK.
42839 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42840 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42841 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42842
42843 * normal/menu_entry.c (struct screen): Added a new member
42844 "completion_shown".
42845 (completion_buffer): New global variable.
42846 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42847 (store_completion): New function.
42848 (complete): Likewise.
42849 (clear_completions): Likewise.
42850 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42851 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42852 a tab, call complete.
42853
42854 * normal/completion.c (disk_dev): Removed.
42855 (print_simple_completion): Likewise.
42856 (print_partition_completion): Likewise.
42857 (print_func): New global variable.
42858 (add_completion): Do not take the arguments WHAT or PRINT any
42859 longer. Added a new argument TYPE. Instead of printing directly,
42860 call PRINT_FUNC if not NULL.
42861 All callers changed.
42862 (complete_device): Use a local variable DEV instead of
42863 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42864 (grub_normal_do_completion): Take a new argument HOOK. Do not
42865 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42866 empty string, return NULL instead.
42867 All callers changed.
42868
42869 * normal/cmdline.c (print_completion): New function.
42870
42871 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42872 to HOOK.
42873 All callers changed.
42874
42875 * kern/disk.c (grub_print_partinfo): Removed.
42876
42877 * include/grub/partition.h (struct grub_partition_map): Add a new
42878 argument DISK into HOOK of ITERATE.
42879 (grub_partition_iterate): Add a new argument DISK to HOOK.
42880
42881 * include/grub/normal.h (enum grub_completion_type): New enum.
42882 (grub_completion_type_t): New type.
42883 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42884 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42885 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42886 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42887 (grub_normal_do_completion): Added a new argument HOOK.
42888 (grub_normal_print_device_info): New prototype.
42889
42890 * include/grub/disk.h (grub_print_partinfo): Removed.
42891
42892 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42893 (normal_mod_SOURCES): Likewise.
42894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42895 (normal_mod_SOURCES): Likewise.
42896
42897 * commands/ls.c (grub_ls_list_disks): Use
42898 grub_normal_print_device_info instead of grub_print_partinfo. Free
42899 PNAME.
42900 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42901 duplicating the code.
42902
0bd41162 429032005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42904
42905 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42906 follow GCS more precisely.
42907 * commands/i386/pc/vbe_test.c: Likewise.
42908 * include/grub/i386/pc/vbe.h: Likewise.
42909 * term/i386/pc/vesafb.c: Likewise.
42910 * video/i386/pc/vbe.c: Likewise.
0bd41162 42911
6323696a 429122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42913
42914 * DISTLIST: Added term/i386/pc/vesafb.c
42915 DISTLIST: Added video/i386/pc/vbe.c
42916 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42917 DISTLIST: Added commands/i386/pc/vbe_test.c.
42918 * commands/i386/pc/vbe_list_modes.c: New file.
42919 * commands/i386/pc/vbe_test.c: Likewise.
42920 * term/i386/pc/vesafb.c: Likewise.
42921 * video/i386/pc/vbe.c: Likewise.
42922 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42923 (grub_vbe_probe) Added prototype.
42924 (grub_vbe_set_video_mode) Likewise.
42925 (grub_vbe_get_video_mode) Likewise.
42926 (grub_vbe_get_video_mode_info) Likewise.
42927 (grub_vbe_set_pixel_rgb) Likewise.
42928 (grub_vbe_set_pixel_index) Likewise.
42929 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42930 (pkgdata_MODULES): Added vesafb.mod.
42931 (pkgdata_MODULES): Added vbe_list_modes.mod.
42932 (pkgdata_MODULES): Added vbe_test.mod.
42933 (vbe_mod_SOURCES): Added.
42934 (vbe_mod_CFLAGS): Likewise.
42935 (vesafb_mod_SOURCES): Likewise.
42936 (vesafb_mod_CFLAGS): Likewise.
42937 (vbe_list_modes_mod_SOURCES): Likewise.
42938 (vbe_list_modes_mod_CFLAGS): Likewise.
42939 (vbe_test_mod_SOURCES): Likewise.
42940 (vbe_test_mod_CFLAGS): Likewise.
42941
0a74e62f 429422005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42943
0a74e62f 42944 * normal/command.c (grub_command_execute): If INTERACTIVE is
42945 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42946 CMDLINE. Disable the pager if INTERACTIVE is true.
42947 All callers are changed.
42948
42949 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42950 before reading a config file.
42951 * normal/main.c (read_config_file): Even if a command is not
42952 found, register it if it is within an entry.
42953
42954 * util/grub-emu.c: Include sys/types.h and unistd.h.
42955 (options): Added --hold.
42956 (struct arguments): Added a new member "hold".
42957 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42958 missing.
42959 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42960 cleared by a debugger, if it is not zero.
42961
42962 * include/grub/normal.h (grub_command_execute): Add an argument
42963 INTERACTIVE.
42964
e51f85ae 429652005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42966
42967 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42968
e9c6f39b 429692005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42970
42971 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42972 program with another one, because the old one didn't detect a bug
42973 in gcc-3.4. Always use regparm 2, because the new test is still
42974 not enough for gcc-4.0. Someone must investigate a simple test
42975 case which detects a bug in gcc-4.0.
42976
8de3495c 429772005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42978
42979 * DISTLIST: Added normal/completion.c.
42980
42981 * normal/completion.c: New file.
f19dbdb7 42982
8de3495c 42983 * term/i386/pc/console.c (grub_console_getwh): New function.
42984 (grub_console_term): Assign grub_console_getwh to getwh.
42985
42986 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42987 function is defined in normal/completion.c as
42988 grub_normal_do_completion.
42989 (grub_cmdline_get): Use grub_normal_do_completion instead of
42990 grub_tab_complete.
42991
42992 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42993 returns non-zero, otherwise return 0.
42994 (grub_partition_iterate): First, probe the partition map. Then,
42995 call ITERATE only for this partition map.
42996
42997 * kern/misc.c (grub_strncmp): Rewritten.
42998
42999 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43000 returns non-zero. Otherwise return 0.
43001
43002 * include/grub/partition.h (grub_partition_map_iterate): Return
43003 int instead of void.
43004
43005 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43006
43007 * include/grub/misc.h (grub_strncmp): Change the type of N to
43008 grub_size_t.
43009
43010 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43011 of void.
43012
43013 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43014 unsigned explicitly before comparing it with I.
8de3495c 43015
43016 * kern/main.c (grub_env_write_root): Add the attribute unused into
43017 VAR.
43018
43019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43020 normal/completion.c.
43021 (normal_mod_SOURCES): Likewise.
43022 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43023 (normal_mod_SOURCES): Likewise.
43024
43025 * normal/command.c (grub_iterate_commands): If ITERATE returns
43026 non-zero, return one immediately.
43027
e85e144b 430282005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43029
43030 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43031 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43032 descriptions.
43033 (grub_vbe_get_controller_info): New function.
43034 (grub_vbe_get_mode_info): Likewise.
43035 (grub_vbe_set_mode): Likewise.
43036 (grub_vbe_get_mode): Likewise.
43037 (grub_vbe_set_memory_window): Likewise.
43038 (grub_vbe_get_memory_window): Likewise.
43039 (grub_vbe_set_scanline_length): Likewise.
43040 (grub_vbe_get_scanline_length): Likewise.
43041 (grub_vbe_set_display_start): Likewise.
43042 (grub_vbe_get_display_start): Likewise.
43043 (grub_vbe_set_palette_data): Likewise.
43044 * include/grub/i386/pc/vbe.h: New file.
43045
c46153d2 430462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43047
43048 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43049 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43050 * DISTLIST: Likewise.
43051 * kern/ieee1275/of.c: Moved to ...
43052 * kern/ieee1275/ieee1275.c: ... here.
43053
0cb90c45 430542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43055
43056 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43057 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43058 Pass 0 as `end' parameter to grub_strtoul().
43059
a19fb360 430602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43061
43062 * include/grub/powerpc/ieee1275/console.h: Do not include
43063 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43064 ifdef.
43065 (grub_console_cur_color): Remove i386-specific prototype.
43066 (grub_console_real_putchar): Likewise.
43067 (grub_console_checkkey): Likewise.
43068 (grub_console_getkey): Likewise.
43069 (grub_console_getxy): Likewise.
43070 (grub_console_gotoxy): Likewise.
43071 (grub_console_cls): Likewise.
43072 (grub_console_setcursor): Likewise.
43073 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43074 Include <grub/machine/console.h>.
43075 * term/ieee1275/ofconsole.c: Likewise.
43076
4ac9bd04 430772005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43078
43079 * Makefile.in (LIBLZO): New variable.
43080
43081 * configure.ac: Check for LZO version 2.
43082
43083 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43084 lzo/lzo1x.h instead of lzo1x.h.
43085
43086 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43087 of -llzo.
43088
43089 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43090 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43091
43092 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43093 copying the data from PARTITION to P.
43094
f4917dfd 430952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43096
43097 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43098 negative, unload the module.
43099
43100 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43101 map is "pc_partition_map" but not "pc".
43102 (usage): Fix the description. The options are --boot-image and
43103 --core-image but not --boot-file or --core-file.
43104 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43105 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43106 DEFAULT_DIRECTORY.
43107
43108 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43109 --core-file. Specify INSTALL_DEVICE as an argument.
43110
43111 * util/console.c: Include config.h.
43112 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43113 [HAVE_NCURSES_H]: Include ncurses.h.
43114 [HAVE_CURSES_H]: Include curses.h.
43115 [!A_NORMAL] (A_NORMAL): Defined as zero.
43116 [!A_STANDOUT] (A_STANDOUT): Likewise.
43117
43118 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43119 -lncurses.
43120 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43121
43122 * configure.ac: Check for curses libraries and headers.
43123
43124 * Makefile.in (LIBCURSES): New variable.
43125
43126 * genmk.rb (Script::rule): Set the executable bits.
43127
43128 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43129 name of the PC partition map is "pc_partition_map" but not "pc".
43130
0e143073 431312005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43132
43133 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43134 (modules): Likewise.
43135 (usage): Added descriptions for --modules and --grub-probefs.
43136 Handle --modules and --grub-probefs. Save the arguments in MODULES
43137 and GRUB_PROBEFS, respectively.
43138 Auto-detect a filesystem module against GRUBDIR. If the result is
43139 empty and modules are not specified explicitly, abort the
43140 installation. Add the result to MODULES.
43141
43142 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43143 disk/powerpc/ieee1275/ofdisk.c,
43144 include/grub/powerpc/ieee1275/init.h and
43145 term/powerpc/ieee1275/ofconsole.c.
43146 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43147 term/ieee1275/ofconsole.c.
43148
43149 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43150
43151 * COPYING: Upgraded to the latest version. Only the address of the
43152 FSF office has changed.
f19dbdb7 43153
efd6e6d5 431542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43155
43156 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43157 kern/ieee1275.c with kern/ieee1275/of.c.
43158
43159 * kern/ieee1275.c: Moved to ...
43160 * kern/ieee1275/of.c: ... here.
43161
8ceafda2 431622005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43163
43164 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43165 readability.
8ceafda2 43166
43167 * config.guess: Updated to the latest version from gnulib.
43168 * config.sub: Likewise.
43169 * install.sh: Likewise.
43170 * mkinstalldirs: Likewise.
43171
43172 * include/grub/console.h: Removed. This file is arch-specific. Do
43173 not put this in include/grub.
43174
43175 * include/grub/i386/pc/console.h: Resurrected.
43176
43177 * util/console.c: Include grub/machine/console.h instead of
43178 grub/console.h.
43179 * util/grub-emu.c: Likewise.
43180
267f6cd9 431812005-08-04 Marco Gerards <metgerards@student.han.nl>
43182
43183 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43184 hardcoded value.
f19dbdb7 43185
267f6cd9 43186 From Vincent Pelletier <subdino2004@yahoo.fr>
43187 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43188 Redefined to use grub_getwh.
43189 (grub_term): New member named getwh.
43190 (grub_getwh): New prototype.
43191 * kern/term.c (grub_getwh): New function.
43192 * term/i386/pc/console.c (grub_console_getwh): New function.
43193 (grub_console_term): New member `getwh'.
43194 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43195 (grub_vga_term): New member `getwh'.
0b5abe02 43196 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43197 grub_ssize_t.
43198 (grub_ofconsole_getw): New function.
43199 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43200 (grub_ofconsole_term): New field named getwh and new initial
43201 value.
43202
3be7266d 432032005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43204
43205 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43206 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43207 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43208 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43209 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43210 of <grub/machine/ieee1275.h>.
43211 * commands/ieee1275/reboot.c: Likewise.
43212 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43213 * kern/ieee1275.c: ... to here. All users updated. Change all
43214 parameter structs to use new type `grub_ieee1275_cell_t'.
43215 * term/powerpc/ieee1275/ofconsole.c: Move ...
43216 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43217 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43218 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43219 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43220 to return int.
43221 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43222 Remove unused prototypes. All users updated.
43223 * include/grub/powerpc/ieee1275/console.h: Removed.
43224 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43225 `grub_ieee1275_cell_t'.
43226 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43227 Cast comparisons with -1 to the correct type.
43228 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43229 type to match `grub_ieee1275_entry_fn'.
43230
8b5f3938 432312005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43232
43233 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43234
43235 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43236 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43237 partmap/sun.c.
43238 (grub_probefs_SOURCES): New variable.
43239
43240 * util/i386/pc/grub-probefs.c: New file.
43241
43242 * util/i386/pc/grub-setup.c (main): Call
43243 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43244 grub_hfs_init and grub_jfs_init to initialize the system. Call
43245 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43246 grub_pc_partition_map_fini to finish the system.
43247
ea409713 432482005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43249
43250 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43251 function.
43252 (grub_multiboot_load_elf32): Likewise.
43253 (grub_multiboot_is_elf64): Likewise.
43254 (grub_multiboot_load_elf64): Likewise.
43255 (grub_multiboot_load_elf): Likewise.
43256 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43257 an ELF32 or ELF64 file.
43258 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43259
43260 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43261 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43262 NULL before calling FS->LABEL.
43263 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43264 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43265 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43266 before calling FS->LABEL.
43267
141a288b 432682005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43269
43270 * util/i386/pc/grub-install.in (datadir): New variable.
43271 (libdir): Removed.
43272 (pkgdatadir): New variable.
43273 (pkglibdir): Removed.
43274
0d5f8a54 432752005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43276
43277 * DISTLIST: Added util/i386/pc/grub-install.in.
43278
43279 * util/i386/pc/grub-install.in: New file.
43280
43281 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43282 (grub_install_SOURCES): Likewise.
43283
43284 * genmk.rb: Added support for scripts.
43285 (Script): New class.
43286 (scripts): New variable.
43287
43288 * Makefile.in (install-local): Install sbin_SCRIPTS by
43289 INSTALL_SCRIPT.
43290 (uninstall): Remove sbin_SCRIPTS.
43291
43292 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43293 device, try to get a GRUB device by
43294 grub_util_biosdisk_get_grub_dev.
43295 Free DEST_DEV.
43296
43297 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43298 description for --device-map.
43299
5f968e1e 433002005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43301
43302 Change the semantics of variable hooks. They now return strings
43303 instead of error values.
f19dbdb7 43304
5f968e1e 43305 * util/i386/pc/grub-setup.c: Include grub/env.h.
43306 (setup): Use grub_device_set_root instead of grub_env_set.
43307
43308 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43309 grub_env_get instead of grub_device_set_root and
43310 grub_device_get_root, respectively.
43311
43312 * kern/main.c (grub_env_write_root): New function.
43313 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43314 grub_env_set instead of grub_device_set_root.
43315
43316 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43317 many variables.
43318 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43319 rather than calling ENV->WRITE_HOOK afterwards.
43320 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43321 passing a pointer of a pointer.
43322 (grub_register_variable_hook): Change the types of "read_hook" and
43323 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43324 respectively.
43325 Allocate the default empty string on the heap, because this string
43326 may be freed later.
43327
43328 * kern/device.c: Include grub/env.h.
43329 (grub_device_set_root): Removed.
43330 (grub_device_get_root): Likewise.
43331 (grub_device_open): Use grub_env_get instead of
43332 grub_device_get_root.
43333
43334 * include/grub/env.h (grub_env_read_hook_t): New type.
43335 (grub_env_write_hook_t): Likewise.
43336 (grub_env_var): Change the types of "read_hook" and "write_hook"
43337 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43338 (grub_register_variable_hook): Likewise.
43339
43340 * include/grub/device.h (grub_device_set_root): Removed.
43341 (grub_device_set_root): Likewise.
43342
43343 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43344 make sure that DIRNAME terminates with '/', so that
43345 grub_fat_find_dir will fail if PATH is not a directory.
43346
43347 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43348 from DIRNAME.
43349 Use the qualifier auto for print_files and print_files_long.
43350 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43351 as a regular file.
43352 Put a newline only if there is no error.
43353 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43354 used.
43355
896f0afd 433562005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43357
43358 * kern/partition.c (grub_partition_probe): Initialize PART to
43359 NULL. Otherwise, when no partition map is registered, this returns
43360 a garbage.
43361
b28b81b2 433622005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43363
43364 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43365 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43366 valid.
43367
5f3607e0 433682005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43369
43370 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43371 information on each device, if it does not have partitions. Print
43372 "Device" instead of "Disk", because this function is not specific
43373 to disk devices.
43374
43375 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43376 static to ensure that it is put on the memory rather than a
43377 register.
43378
502c87e8 433792005-07-17 Yoshinori Okuji <okuji@enbug.org>
43380
43381 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43382 (grub_cat_init): Likewise.
43383 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43384 (options): Likewise.
43385 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43386 (grub_configfile_init): Likewise.
43387 * font/manager.c (GRUB_MOD_INIT): Likewise.
43388 * commands/help.c (GRUB_MOD_INIT): Likewise.
43389 (grub_help_init): Likewise.
43390 * normal/command.c (grub_command_init): Likewise.
43391 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43392 * disk/loopback.c (grub_loop_init): Likewise.
43393 (GRUB_MOD_INIT): Likewise.
43394 * commands/ls.c (grub_ls_init): Likewise.
43395 (GRUB_MOD_INIT): Likewise.
43396 (options): Likewise.
43397 * commands/boot.c (grub_boot_init): Likewise.
43398 (GRUB_MOD_INIT): Likewise.
43399 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43400 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43401 (GRUB_MOD_INIT): Likewise.
43402 * commands/cmp.c (grub_cmp_init): Likewise.
43403 (GRUB_MOD_INIT): Likewise.
43404
43405 * normal/arg.c: Use <> instead of "" to include header files.
43406 (SHORT_ARG_HELP): New macro.
43407 (SHORT_ARG_USAGE): Likewise.
43408 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43409 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43410 descriptions.
43411 (find_short): Check if C is 'h' or 'u' explicitly.
43412 (grub_arg_show_help): Use space characters instead of tabs. Treat
43413 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43414 are shown with --help and --usage only if they are not used for
43415 the command itself.
43416 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43417 'h' and 'u'.
43418
43419 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43420 const into "longarg". Change the type of "shortarg" to int.
43421
f806d18e 434222005-07-17 Yoshinori Okuji <okuji@enbug.org>
43423
43424 * boot/i386/pc/boot.S (boot_drive_check): New label.
43425
43426 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43427 macro.
43428
43429 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43430 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43431
e293232b 434322005-07-17 Yoshinori Okuji <okuji@enbug.org>
43433
43434 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43435 When turning off Gate A20, skip the check and return immediately,
43436 because this is not fatal usually.
43437
ebedfd00 434382005-07-17 Yoshinori Okuji <okuji@enbug.org>
43439
43440 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43441 be 0x7C00 instead of 0x8000.
43442
43443 * boot/i386/pc/pxeboot.S: Rewritten.
43444
43445 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43446 EXT_C.
43447 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43448 result.
43449
654fc59f 434502005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43451
43452 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43453 robustness. This routine now supports a BIOS call and System
43454 Control Port A to modify the gate A20.
43455
43456 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43457 Increased to 0x440.
43458
09f9923f 434592005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43460
43461 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43462 device path and resulting ihandle.
43463 (grub_ofdisk_close): dprintf the ihandle being closed.
43464 (grub_ofdisk_read): dprintf function parameters.
43465 * kern/mm.c (grub_mm_init_region): Likewise.
43466 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43467 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43468 size, and boot arguments.
43469 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43470 before loading into memory.
43471 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43472 before loading into memory.
43473
7ef504d8 434742005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43475
43476 * kern/mm.c: Added much documentation.
43477 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43478 8, set to 5 instead of 8.
43479
e0f050c2 434802005-07-10 Yoshinori Okuji <okuji@enbug.org>
43481
43482 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43483
43484 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43485 (grub_mkdevicemap_SOURCES): New variable.
43486
43487 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43488 lib/device.c of GRUB Legacy.
43489
7224189a 434902005-07-10 Yoshinori Okuji <okuji@enbug.org>
43491
43492 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43493 instead of PATH is NULL.
43494
68c864eb 434952005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43496
43497 * commands/cmp.c (BUFFER_SIZE): New macro.
43498 (grub_cmd_cmp): Close the right file at the right time. Compare
43499 only data just read. Don't report files of different size as
43500 identical. Dynamically allocate buffers. Move variable
43501 declarations at the beginning of function.
43502
e6f3e614 435032005-07-09 Yoshinori Okuji <okuji@enbug.org>
43504
43505 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43506 reverse.
43507
f8f1559a 435082004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43509
43510 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43511 when backspace is pressed at beginning of line.
43512
39c9d41d 435132005-07-03 Yoshinori Okuji <okuji@enbug.org>
43514
43515 * DISTLIST: Added genfslist.sh.
43516
43517 * normal/main.c (fs_module_list): New variable.
43518 (autoload_fs_module): New function.
43519 (read_fs_list): Likewise.
43520 (grub_normal_execute): Call read_fs_list.
43521
43522 * kern/fs.c (grub_fs_autoload_hook): New variable.
43523 (grub_fs_probe): Added support for auto-loading.
43524
43525 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43526 (grub_fs_module_list_t): New type.
43527
43528 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43529 (grub_fs_autoload_hook): New prototype.
43530
43531 * genfslist.sh: New file.
f19dbdb7 43532
39c9d41d 43533 * genmk.rb: Added a rule to generate a filesystem list.
43534
121c1d83 435352005-06-30 Marco Gerards <metgerards@student.han.nl>
43536
43537 * configure.ac: Fix the test for cross-compiling.
43538
43539 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43540 define GRUB_UTIL anymore.
43541
43542 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43543 so this function works on other systems than just big endian.
43544 (load_modules): Likewise.
43545 (add_segments): Likewise.
43546
e75d76e1 435472005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43548
43549 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43550 contains `l' modifier, get a long from va_arg().
43551
50b5a0a7 435522005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43553
43554 * kern/mm.c (grub_free): If the next free block which is being
43555 merged is the first free block, set the first block to the block
43556 being freed.
43557 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43558
89371b20 435592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43560
43561 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43562 `grub_ieee1275_chosen'.
43563
168d6e58 435642005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43565
43566 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43567 (grub_ieee1275_chosen): New variable.
43568 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43569 `chosen'.
43570 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43571 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43572 Rename first argument to `phandle' for consistency.
43573 (grub_ieee1275_get_property_length): Likewise.
43574 (grub_ieee1275_next_property): Likewise. Change type of first argument
43575 to grub_ieee1275_phandle_t.
43576 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43577 Move export next to declaration.
43578 (grub_ieee1275_chosen): New variable.
43579 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43580 Correct cosmetic typo.
43581 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43582 `grub_ieee1275_chosen'.
43583 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43584 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43585 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43586 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43587 `grub_ieee1275_chosen'.
43588
ca5baa3f 435892005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43590
43591 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43592 /chosen/bootargs.
43593 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43594 /chosen/bootargs as "variable=value" pairs.
43595
708b345f 435962005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43597
43598 * include/grub/misc.h (grub_dprintf): New macro.
43599 (grub_real_dprintf): New prototype.
43600 (grub_strword): Likewise.
43601 (grub_iswordseparator): Likewise.
43602 * kern/misc.c (grub_real_dprintf): New function.
43603 (grub_strword): Likewise.
43604 (grub_iswordseparator): Likewise.
43605
f4c5e67c 436062005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43607
43608 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43609 (roundup): Remove macro.
43610 (grub_ieee1275_flags): Make static.
43611 (grub_ieee1275_realmode): Remove.
43612 (grub_ieee1275_test_flag): New function.
43613 (grub_ieee1275_set_flag): Likewise.
43614 (find_options): Rename to `grub_ieee1275_find_options'; update
43615 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43616 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43617 (cmain): New prototype.
43618 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43619 `grub_ieee1275_flags' directly.
43620 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43621 machine/biosdisk.h.
43622 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43623 Don't include grub/machine/init.h.
43624 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43625 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43626 Remove prototype.
43627 (grub_ieee1275_realmode): Likewise.
43628 (grub_ieee1275_flag): New enum.
43629 (grub_ieee1275_test_flag): New prototype.
43630 (grub_ieee1275_set_flag): New prototype.
43631 * include/grub/powerpc/ieee1275/init.h: Remove file.
43632 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43633 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43634 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43635 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43636 comment.
43637 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43638 `grub_ieee1275_test_flag'.
43639 (grub_ieee1275_encode_devname): Likewise.
43640
ed16607e 436412005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43642
43643 * include/grub/powerpc/ieee1275/ieee1275.h
43644 (grub_ieee1275_encode_devname): New prototype.
43645 (grub_ieee1275_get_filename): Likewise.
43646 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43647 function.
43648 (grub_set_prefix): Likewise.
43649 (grub_machine_init): Call grub_set_prefix.
43650 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43651 (grub_parse_type): New enum.
43652 (grub_ieee1275_get_devargs): New function.
43653 (grub_ieee1275_get_devname): Likewise.
43654 (grub_ieee1275_parse_args): Likewise.
43655 (grub_ieee1275_get_filename): Likewise.
43656 (grub_ieee1275_encode_devname): Likewise.
43657
be369920 436582005-03-30 Marco Gerards <metgerards@student.han.nl>
43659
43660 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43661 `grub_loader_unset'.
43662
a5ce3a4a 436632005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43664
43665 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43666 instead of grub_ieee1275_interpret.
43667 (grub_halt_init): New function.
43668 (grub_halt_fini): Likewise.
43669 (GRUB_MOD_INIT): Correct message grammar.
43670 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43671 instead of grub_ieee1275_interpret.
43672 (grub_reboot_init): New function.
43673 (grub_reboot_fini): Likewise.
43674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43675 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43676 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43677 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43678 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43679 function.
43680 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43681 Add prototype.
43682 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43683 prototype.
43684 (grub_halt): Likewise.
43685 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43686 (cmain): Remove __attribute__((unused)).
43687 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43688 (grub_heap_len): Likewise.
43689 (grub_machine_fini): New function.
43690 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43691 (grub_halt): Likewise.
43692 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43693 function.
43694 * util/powerpc/ieee1275/misc.c: New file.
43695
0058f771 436962005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43697
43698 * DISTLIST: New file.
43699 * gendistlist.sh: Likewise.
f19dbdb7 43700
0058f771 43701 * Makefile.in (COMMON_DISTFILES): Removed.
43702 (BOOT_DISTFILES): Likewise.
43703 (CONF_DISTFILES): Likewise.
43704 (DISK_DISTFILES): Likewise.
43705 (FS_DISTFILES): Likewise.
43706 (INCLUDE_DISTFILES): Likewise.
43707 (KERN_DISTFILES): Likewise.
43708 (LOADER_DISTFILES): Likewise.
43709 (TERM_DISTFILES): Likewise.
43710 (UTIL_DISTFILES): Likewise.
43711 (DISTFILES): Likewise.
43712 (uninstall): Uninstall files in $(pkgdata_DATA).
43713 (DISTLIST): New target.
43714 (distdir): Use the contents of the file DISTLIST to get a list of
43715 distributed files.
43716
46b3b8a5 437172005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43718
43719 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43720 descriptor. This is ported from GRUB Legacy.
43721
43722 * gencmdlist.sh: Added an extra semicolon to make it work with
43723 old sed versions. Reported by Robert Bihlmeyer
43724 <robbe@orcus.priv.at>.
43725
5822ff87 437262005-03-08 Yoshinori Okuji <okuji@enbug.org>
43727
43728 Automatic loading of commands is supported.
f19dbdb7 43729
5822ff87 43730 * normal/main.c (read_command_list): New function.
43731 (grub_normal_execute): Call read_command_list.
43732
43733 * normal/command.c (grub_register_command): Return zero or CMD.
43734 Allocate CMD->NAME from the heap.
43735 Initialize CMD->MODULE_NAME to zero.
43736 Find the same name as well. If the same command is found and it is
43737 a dummy command, overwrite members. If it is not a dummy command,
43738 return zero.
43739 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43740 (grub_command_find): If a dummy command is found, load a module
43741 and retry to find a command only once.
43742
43743 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43744 make sure that each command is loaded.
43745
43746 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43747 macro.
43748 (struct grub_command): Remove const from the member `name'.
43749 Add a new member `module_name'.
43750 (grub_register_command): Return grub_command_t.
43751
43752 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43753 sure that each command is loaded.
43754
43755 * genmk.rb (PModule::rule): Specify a module name without the
43756 suffix ".mod" to gencmdlist.sh.
43757
7b1f4b57 437582005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43759
43760 * gencmdlist.sh: New file.
f19dbdb7 43761
7b1f4b57 43762 * genmk.rb (PModule::rule): Generate a rule for a command list.
43763 Clean command.lst.
43764 Generate command.lst from $(COMMANDFILES).
43765
43766 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43767 (DATA): Added $(pkgdata_DATA).
43768 (install-local): Install files in $(pkgdata_DATA).
43769
062aaf39 437702005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43771
43772 * term/i386/pc/vga.c (debug_command): Removed.
43773 (GRUB_MOD_INIT): Do not register the command "debug".
43774
43775 From Hollis Blanchard:
43776 * commands/configfile.c: New file.
43777 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43778 commands/configfile.c.
43779 (pkgdata_MODULES): Added configfile.mod.
43780 (configfile_mod_SOURCES): New variable.
43781 (configfile_mod_CFLAGS): Likewise.
43782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43783 commands/configfile.c.
43784 (pkgdata_MODULES): Added configfile.mod.
43785 (configfile_mod_SOURCES): New variable.
43786 (configfile_mod_CFLAGS): Likewise.
43787 * util/grub-emu.c (main): Call grub_configfile_init and
43788 grub_configfile_fini.
43789 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43790 prototype.
43791 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43792
cee01aa6 437932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43794
43795 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43796 address.
43797
43798 * commands/help.c (grub_cmd_help): Do not print newlines after
43799 the last command in print_command_help.
43800
93f3a1d8 438012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43802
43803 * commands/default.h: New file.
43804 * commands/timeout.h: Likewise.
43805 * normal/context.c: Likewise.
f19dbdb7 43806
93f3a1d8 43807 * util/misc.c: Do not include sys/times.h.
43808 Include sys/time.h and grub/machine/time.h.
43809 (grub_get_rtc): Rewritten with gettimeofday.
43810
43811 * util/grub-emu.c (main): Call grub_default_init and
43812 grub_timeout_init before grub_normal_init, and call
43813 grub_timeout_fini and grub_default_fini after grub_main.
43814
43815 * util/console.c (grub_ncurses_checkkey): Return the read
43816 character or -1.
43817
43818 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43819 timeouts.
43820
43821 * normal/main.c (read_config_file): Push MENU. If this fails,
43822 print an error and wait for a user input.
43823 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43824 If a menu is empty or an error occurs, pop MENU.
43825 (grub_normal_execute): Pop and free MENU after grub_menu_run
43826 returns.
43827
43828 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43829
43830 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43831 include time.h.
43832 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43833 without GRUB_UTIL.
43834 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43835 time.h.
43836 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43837 without GRUB_UTIL.
43838
43839 * include/grub/normal.h (struct grub_menu_list): New struct.
43840 (grub_menu_list_t): New type.
43841 (struct grub_context): New struct.
43842 (grub_context_t): New type.
43843 (grub_register_command): Got rid of EXPORT_FUNC.
43844 (grub_unregister_command): Likewise.
43845 (grub_context_get): New prototype.
43846 (grub_context_get_current_menu): Likewise.
43847 (grub_context_push_menu): Likewise.
43848 (grub_context_pop_menu): Likewise.
43849 [GRUB_UTIL] (grub_default_init): Likewise.
43850 [GRUB_UTIL] (grub_default_fini): Likewise.
43851 [GRUB_UTIL] (grub_timeout_init): Likewise.
43852 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43853
43854 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43855 commands/timeout.c and normal/context.c.
43856 (pkgdata_MODULES): Added default.mod and timeout.mod.
43857 (normal_mod_SOURCES): Added normal/context.c.
43858 (default_mod_SOURCES): New variable.
43859 (default_mod_CFLAGS): Likewise.
43860 (timeout_mod_SOURCES): Likewise.
43861 (timeout_mod_CFLAGS): Likewise.
43862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43863 conf/i386-pc.rmk.
43864 (pkgdata_MODULES): Added default.mod and timeout.mod.
43865 (normal_mod_SOURCES): Added normal/context.c.
43866 (default_mod_SOURCES): New variable.
43867 (default_mod_CFLAGS): Likewise.
43868 (timeout_mod_SOURCES): Likewise.
43869 (timeout_mod_CFLAGS): Likewise.
43870
43871 * Makefile.in (all-local): Added $(MKFILES).
43872
4ed2e1dd 438732005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43874
43875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43876 (grub_emu_SOURCES): Likewise.
43877 (pkgdata_MODULES): Add `sun.mod'.
43878 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43880 `partmap/sun.c'.
43881 (pkgdata_MODULES): Add `sun.mod'.
43882 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43883 * include/grub/partition.h (grub_sun_partition_map_init): New
43884 prototype.
43885 (grub_sun_partition_map_fini): Likewise.
43886 * partmap/sun.c: New file.
43887 * util/grub-emu.c (main): Initialize and de-initialize the sun
43888 partitionmap support.
43889
4d4e372e 438902005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43891
43892 This implements an Emacs-like menu entry editor.
f19dbdb7 43893
4d4e372e 43894 * normal/menu_entry.c: New file.
f19dbdb7 43895
4d4e372e 43896 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43897 characters to ASCII.
43898 (saved_char): New variable.
43899 (grub_ncurses_checkkey): Rewritten completely.
43900 (grub_ncurses_getkey): Likewise.
43901 (grub_ncurses_init): Call raw instead of cbreak.
43902
43903 * normal/menu.c (print_entry): Do not put a space.
43904 (init_page): Renamed to ...
43905 (grub_menu_init_page): ... this. All callers changed.
43906 (edit_menu_entry): Removed.
43907 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43908
43909 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43910
43911 * kern/misc.c (grub_vprintf): Call grub_refresh.
43912
43913 * normal/menu.c (DISP_LEFT): Renamed to ...
43914 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43915 * normal/menu.c (DISP_UP): Renamed to ...
43916 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43917 * normal/menu.c (DISP_RIGHT): Renamed to ...
43918 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43919 * normal/menu.c (DISP_DOWN): Renamed to ...
43920 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43921 * normal/menu.c (DISP_HLINE): Renamed to ...
43922 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43923 * normal/menu.c (DISP_VLINE): Renamed to ...
43924 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43925 * normal/menu.c (DISP_UL): Renamed to ...
43926 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43927 * normal/menu.c (DISP_UR): Renamed to ...
43928 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43929 * normal/menu.c (DISP_LL): Renamed to ...
43930 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43931 * normal/menu.c (DISP_LR): Renamed to ...
43932 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43933 * normal/menu.c (TERM_WIDTH): Renamed to ...
43934 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43935 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43936 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43937 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43938 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43939 * normal/menu.c (TERM_MARGIN): Renamed to ...
43940 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43941 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43942 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43943 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43944 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43945 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43946 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43947 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43948 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43949 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43950 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43951 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43952 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43953 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43954 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43955 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43956 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43957 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43958 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43959 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43960 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43961 All callers changed.
43962
43963 * include/grub/normal.h: New prototype.
43964
43965 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43966 normal/menu_entry.c.
43967 (normal_mod_SOURCES): Likewise.
43968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43969 (normal_mod_SOURCES): Likewise.
43970
e6b92c8a 439712005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43972
43973 * include/grub/normal.h (grub_halt_init): New prototype.
43974 (grub_halt_fini): Likewise.
43975 (grub_reboot_init): Likewise.
43976 (grub_reboot_fini): Likewise.
43977
43978 * util/grub-emu.c: Include signal.h.
43979 (main_env): New global variable.
43980 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43981 catch C-c.
43982 (grub_machine_fini): New function.
43983 (main): Call grub_halt_init and grub_reboot_init before
43984 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43985 Call setjmp with MAIN_ENV to go back afterwards.
43986 Call grub_machine_fini right before return.
43987
43988 * include/grub/util/misc.h: Include setjmp.h.
43989 (main_env): New prototype.
43990
43991 * include/grub/kernel.h (grub_machine_fini): New prototype.
43992 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43993 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43994
43995 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43996 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43997 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43998
e6b92c8a 43999 * util/i386/pc/misc.c: New file.
f19dbdb7 44000
e6b92c8a 44001 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44002 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44003 commands/i386/pc/reboot.c.
44004
c642636f 440052005-02-14 Guillem Jover <guillem@hadrons.org>
44006
44007 * include/grub/dl.h (grub_dl_check_header): New prototype.
44008 (grub_arch_dl_check_header): Change return type to grub_err_t,
44009 remove size parameter and export function. Update all callers.
44010 * kern/dl.c (grub_dl_check_header): New function.
44011 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44012 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44013 are inside the core.
44014 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44015 independent ELF header checks.
44016 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44017 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44018 `grub_dl_check_header' instead of explicit checks. Check for the
44019 ELF type.
44020 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44021 `grub_dl_check_header' instead of explicit checks. Remove arch
44022 specific ELF header checks.
44023
e6b92c8a 44024 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44025 argument SIZE.
44026
5eabe94b 440272005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44028
44029 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44030 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44031
1b14a681 440322005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44033
44034 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44035 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44036 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44037 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44038 * partmap/amiga.c (amiga_partition_map_iterate): Return
44039 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44040 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44041
aca108aa 440422005-02-01 Guillem Jover <guillem@hadrons.org>
44043
44044 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44045 help info.
44046
c9f9c556 440472005-01-31 Marco Gerards <metgerards@student.han.nl>
44048
44049 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44050 Removed prototype.
44051 (grub_rescue_cmd_linux): New prototype.
44052 (grub_rescue_cmd_initrd): Likewise.
44053 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44054 `bi_rec'.
44055 (grub_linux_release_mem): Release the memory for the initrd.
44056 (grub_load_linux): Renamed from this...
44057 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44058 Changed `entry' not to be static. Loop over memory regions to
44059 find another one when the default fails.
44060 (grub_rescue_cmd_initrd): New function.
44061 (grub_linux_init): Remove function.
44062 (grub_linux_fini): Likewise.
44063 (GRUB_MOD_INIT): Register `initrd'.
44064 (GRUB_MOD_FINI): Unregister `initrd'.
44065 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44066 Function removed.
44067 (grub_linux_normal_fini): Likewise.
44068 (GRUB_MOD_INIT): Register `initrd'.
44069 (GRUB_MOD_FINI): Unregister `initrd'.
44070
990cf3aa 440712005-01-31 Marco Gerards <metgerards@student.han.nl>
44072
44073 * commands/help.c: New file.
44074 * normal/arg.c (show_help): Renamed to...
44075 (grub_arg_show_help): ... this.
44076 * commands/i386/pc/halt.c: New file.
44077 * commands/i386/pc/reboot.c: Likewise.
44078 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44079 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44080 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44081 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44082 variables.
44083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44084 `commands/help.c'.
44085 (pkgdata_MODULES): Add `help.mod'.
44086 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44087 * grub/i386/pc/init.h (grub_reboot): New prototype.
44088 (grub_halt): Likewise.
44089 * include/grub/normal.h (grub_arg_show_help): New prototype.
44090 (grub_help_init): Likewise.
44091 (grub_help_fini): Likewise.
44092 * util/grub-emu.c (main): Initialize and deinitialize the help
44093 command.
44094
44095 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44096
44097 * normal/command.c (grub_command_init): Fixed the description of
44098 the `set' and `unset' commands.
44099
441002005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44101
44102 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44103 function.
44104 * commands/ieee1275/halt.c: New file.
44105 * commands/ieee1275/reboot.c: Likewise.
44106 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44107 `__attribute__ ((unused))'. Some GCS related fixed.
44108 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44109 (grub_suspend_fini): Likewise.
44110 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44111 and `halt.mod'.
44112 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44113 (halt_mod_CFLAGS): New variables.
44114 * include/grub/powerpc/ieee1275/ieee1275.h
44115 (grub_ieee1275_interpret): New prototype.
44116
1ab09cc7 441172005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44118
44119 * include/grub/misc.h (memmove): New prototype.
44120 (memcpy): Likewise.
44121
8b8cbdb2 441222005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44123
44124 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44125 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44126
e3741a27 441272005-01-22 Marco Gerards <metgerards@student.han.nl>
44128
44129 * kern/misc.c (grub_strndup): Function rewritten.
44130
776bd780 441312005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44132
44133 * normal/menu.c (TERM_WIDTH): Macro redefined.
44134 (TERM_TOP_BORDER_Y): Likewise.
44135 (draw_border): Replaced while-loop by a for-loop. Make the number
44136 of lines consistent with the number of lines displayed in
44137 print_entries. Added a margin below the rectangle.
44138 (print_entry): Make the entry fit in the rectangle.
44139 (print_entries): Display the scroll arrows next to the right
44140 border.
44141
78026bce 441422005-01-21 Marco Gerards <metgerards@student.han.nl>
44143
44144 * fs/minix.c (grub_minix_find_file): Reserve more space for
44145 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44146 `grub_strncpy' to copy `path' into it.
44147
67bbaf0f 441482005-01-21 Marco Gerards <metgerards@student.han.nl>
44149
44150 Add the loopback device, a device via which files can be accessed
44151 as devices.
f19dbdb7 44152
67bbaf0f 44153 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44154 (pkgdata_MODULES): Add loopback.mod.
44155 (loopback_mod_SOURCES): New variable.
44156 (loopback_mod_CFLAGS): Likewise.
44157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44158 `disk/loopback.c'.
44159 (pkgdata_MODULES): Add loopback.mod.
44160 (loopback_mod_SOURCES): New variable.
44161 (loopback_mod_CFLAGS): Likewise.
44162 * disk/loopback.c: new file.
44163 * include/grub/normal.h (grub_loop_init): New prototype.
44164 (grub_loop_fini): New prototype.
44165 * util/grub-emu.c (main): Initialize and de-initialize loopback
44166 support.
44167 * include/grub/disk.h (grub_disk_dev_id): Add
44168 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44169
6f1c18bd 441702005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44171
44172 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44173 function.
44174 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44175 (suspend_mod_SOURCES): New variable.
44176 (suspend_mod_CFLAGS): Likewise.
44177 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44178 New prototype.
44179 * commands/ieee1275/suspend.c: New file.
44180
b38551da 441812005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44182
44183 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44184 ((unused))' to `__attribute__ ((used))'.
b38551da 44185 (GRUB_MOD_FINI): Likewise.
44186 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44187 * genmk.rb (PModule): Assign space to common symbols when linking
44188 modules.
44189
777aff39 441902005-01-20 Marco Gerards <metgerards@student.han.nl>
44191
44192 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44193 `unsigned' arguments to `grub_size_t'.
44194 (grub_malloc): Likewise.
44195 (grub_realloc): Likewise.
44196 (grub_memalign): Likewise.
44197 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44198 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44199 * util/misc.c (grub_malloc): Likewise.
44200 (grub_realloc): Likewise.
44201 * kern/mm.c (get_header_from_pointer): Change the casts to
44202 `unsigned' into a cast to `grub_size_t'.
44203
44204 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44205 point to `currnode' when `currnode' is changed.
44206
44207 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44208 Schottelius <nico-linux@schottelius.org>.
44209
d0ff18e1 442102005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44211
44212 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44213 (note_path): Remove variable.
44214 (GRUB_IEEE1275_NOTE_NAME): New macro.
44215 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44216 (grub_ieee1275_note_hdr): New structure.
44217 (grub_ieee1275_note_desc): Likewise.
44218 (grub_ieee1275_note): Likewise.
44219 (load_note): Remove `dir' argument. All callers updated. Remove
44220 `note_img' and `path'. Do not load a file from `note_path'.
44221 Initialize a struct grub_ieee1275_note and write that to `out'.
44222 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44223
4ca7004c 442242005-01-05 Marco Gerards <metgerards@student.han.nl>
44225
44226 * util/misc.c (grub_util_read_image): Revert last change. It
44227 called `grub_util_read_at', which seeks from the beginning of the
44228 file.
44229
0b412211 442302005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44231
44232 * TODO: Add note about endianness in grub-mkimage.
44233 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44234 section.
44235 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44236 (grub_mkimage_SOURCES): New target.
44237 * include/grub/kernel.h (grub_start_addr): Remove variable.
44238 (grub_end_addr): Likewise.
44239 (grub_total_module_size): Likewise.
44240 (grub_kernel_image_size): Likewise.
44241 (GRUB_MODULE_MAGIC): New constant.
44242 (grub_module_info): New structure.
44243 (grub_arch_modules_addr): New prototype.
44244 (grub_get_end_addr): Remove prototype.
44245 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44246 * include/grub/powerpc/ieee1275/kernel.h: New file.
44247 * include/grub/util/misc.h (grub_util_get_fp_size): New
44248 prototype.
44249 (grub_util_read_at): Likewise.
44250 (grub_util_write_image_at): Likewise.
44251 * kern/main.c (grub_get_end_addr): Remove function.
44252 (grub_load_modules): Call grub_arch_modules_addr instead of using
44253 grub_end_addr. Look for a grub_module_info struct in memory. Use
44254 the grub_module_info fields instead of calling grub_get_end_addr
44255 as loop conditions. Move grub_add_unused_region code here.
44256 (grub_add_unused_region): Remove function.
44257 * kern/i386/pc/init.c: Include grub/cache.h.
44258 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44259 one call to add_mem_region.
44260 (grub_arch_modules_addr): New function.
44261 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44262 (grub_total_module_size): Likewise.
44263 Include grub/machine/kernel.h.
44264 (grub_arch_modules_addr): New function.
44265 * util/grub-emu.c (grub_end_addr): Remove variable.
44266 (grub_total_module_size): Likewise.
44267 (grub_arch_modules_addr): New function.
44268 * util/misc.c: Include unistd.h.
44269 (grub_util_get_fp_size): New function.
44270 (grub_util_read_at): Likewise.
44271 (grub_util_write_image_at): Likewise.
44272 (grub_util_read_image): Call grub_util_read_at.
44273 (grub_util_write_image): Call grub_util_write_image_at.
44274 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44275 additional memory in kernel_img for a struct grub_module_info.
44276 Fill in that grub_module_info.
44277 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44278
458786f8 442792005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44280
44281 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44282 New function.
44283 * include/grub/powerpc/ieee1275/ieee1275.h
44284 (grub_ieee1275_milliseconds): New prototype.
44285 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44286 Change to 1000.
44287 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44288 grub_ieee1275_milliseconds.
44289
ac507d1b 442902005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44291
44292 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44293 variable.
44294 (find_options): New function.
44295 (cmain): Call find_options.
44296 * include/grub/powerpc/ieee1275/ieee1275.h
44297 (grub_ieee1275_realmode): New extern variable.
44298 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44299 grub_map if grub_ieee1275_realmode is false.
44300
6b8fd1c4 443012004-12-29 Marco Gerards <metgerards@student.han.nl>
44302
44303 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44304 lines are inserted and make it work like readline. Reported by
44305 Vincent Pelletier <subdino2004@yahoo.fr>.
44306
8514a1e0 443072004-12-28 Marco Gerards <metgerards@student.han.nl>
44308
44309 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44310
44311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44312 `kern/powerpc/cache.S'.
44313
924b6140 443142004-12-27 Marco Gerards <metgerards@student.han.nl>
44315
44316 * genmk.rb: Handle the `Program' class in the main loop. Written
44317 by Johan Rydberg <jrydberg@gnu.org>.
44318 (Program): New class.
44319 (programs): New variable.
44320 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44321 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44322 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44323 (help_arch): Function removed.
44324 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44325 `powerpc/libgcc.h' and `loader.h'.
44326 (pkgdata_PROGRAMS): New variable.
44327 (sbin_UTILITIES): Variable removed.
44328 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44329 (grubof_SOURCES): Variable re-defined so it only includes the
44330 core functionality.
44331 (grubof_CFLAGS): Remove `-DGRUBOF'.
44332 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44333 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44334 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44335 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44336 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44337 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44338 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44339 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44340 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44341 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44342 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44343 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44344 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44345 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44346 (pc_mod_CFLAGS): New variables.
44347 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44348 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44349 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44350 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44351 Moved from here...
44352 * include/grub/i386/pc/init.h (grub_os_area_addr)
44353 (rub_os_area_size): ... to here.
44354 * include/grub/powerpc/ieee1275/ieee1275.h
44355 (grub_ieee1275_entry_fn): Export symbol.
44356 * include/grub/powerpc/ieee1275/init.h: New file.
44357 * include/grub/powerpc/libgcc.h: Likewise.
44358 * include/grub/cache.h: Likewise.
44359 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44360 <hollis@penguinppc.org>.
44361 * kern/dl.c: Include <grub/cache.h>.
44362 (grub_dl_flush_cache): New function.
44363 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44364 for this module.
44365 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44366 (grub_console_init): Removed prototypes.
44367 (grub_machine_init): Don't initialize the modules anymore.
44368 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44369 static.
44370 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44371 Macro undef removed.
44372 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44373 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44374 relocation `R_PPC_REL32'. Return an error when the relocation is
44375 unknown.
44376 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44377 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44378 * util/misc.c (grub_arch_sync_caches): Likewise.
44379
e4b47e0c 443802004-12-19 Marco Gerards <metgerards@student.han.nl>
44381
44382 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44383 `symlist.c', add `grubof_symlist.c'.
44384 (symlist.c): Variable removed.
44385 (grubof_HEADERS): Variable added.
44386 (grubof_symlist.c): New target.
44387 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44388 `kernel_img_HEADERS'.
44389 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44390 * kern/powerpc/dl.c: New file.
44391 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44392 Function removed.
44393 (grub_arch_dl_relocate_symbols): Likewise.
44394 (grub_register_exported_symbols): Likewise.
44395
4ceb3636 443962004-12-13 Marco Gerards <metgerards@student.han.nl>
44397
44398 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44399 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44400 to fail instead. Reported by Vincent Pelletier
44401 <subdino2004@yahoo.fr>.
44402
44403 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44404 it is not allocated. Reported by Vincent Pelletier
44405 <subdino2004@yahoo.fr>.
44406
44407 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44408 output so the output looks better.
f19dbdb7 44409
3f1578fe 444102004-12-04 Marco Gerards <metgerards@student.han.nl>
44411
44412 Modulize the partition map support and add support for the amiga
44413 partition map.
f19dbdb7 44414
3f1578fe 44415 * commands/ls.c: Include <grub/partition.h> instead of
44416 <grub/machine/partition.h>.
44417 * kern/disk.c: Likewise.
44418 * kern/rescue.c: Likewise.
44419 * loader/i386/pc/chainloader.c: Likewise.
44420 * normal/cmdline.c: Likewise.
44421 * kern/powerpc/ieee1275/init.c: Likewise.
44422 (grub_machine_init): Call `grub_pc_partition_map_init',
44423 `grub_amiga_partition_map_init' and
44424 `grub_apple_partition_map_init'.
44425 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44426 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44427 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44428 `partition.h' and `pc_partition.h'.
44429 (grub_setup_SOURCES): Remove
44430 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44431 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44432 (grub_emu_SOURCES): Likewise.
44433 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44434 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44435 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44437 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44438 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44439 (grubof_SOURCES): Likewise.
44440 * disk/i386/pc/partition.c: File removed.
44441 * disk/powerpc/ieee1275/partition.c: Likewise.
44442 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44443 * include/grub/i386/pc/partition.h: Likewise.
44444 * kern/partition.c: New file.
44445 * partmap/amiga.c: Likewise.
44446 * partmap/apple.c: Likewise.
44447 * partmap/pc.c: Likewise.
44448 * include/grub/partition.h: Likewise..
44449 * include/grub/pc_partition.h: Likewise.
44450 * util/grub-emu.c: Include <grub/partition.h> instead of
44451 <grub/machine/partition.h>.
44452 (main): Call `grub_pc_partition_map_init',
44453 `grub_amiga_partition_map_init' and
44454 `grub_apple_partition_map_init' and deinitialize afterwards.
44455 * util/i386/pc/biosdisk.c: Include `#include
44456 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44457 `<grub/machine/partition.h>'.
44458 * util/i386/pc/grub-setup.c: Likewise.
44459 * util/i386/pc/biosdisk.c: Likewise.
44460 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44461 partition information in case of a PC partition.
44462 * util/i386/pc/grub-setup.c: Include `#include
44463 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44464 `<grub/machine/partition.h>'.
44465 (setup): Only access the PC specific partition information in case
44466 of a PC partition.
44467
0ef4ced9 444682004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44469
0ef4ced9 44470 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44471 (grub_longjmp): Likewise.
44472 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44473 20.
44474 * normal/powerpc/setjmp.S: New file.
44475 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44476 `normal/powerpc/setjmp.S'.
44477 (grubof_CFLAGS): Add `-DGRUBOF'.
44478 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44479 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44480
19950e29 444812004-11-16 Marco Gerards <metgerards@student.han.nl>
44482
44483 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44484 property named `name'. Correctly handle the error returned by
44485 `grub_ieee1275_finddevice' if a device can not be opened.
44486
a2fea427 444872004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44488
44489 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44490 `actual' for negativity.
44491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44492 kern/fshelp.c.
44493
41ea0ea3 444942004-11-01 Marco Gerards <metgerards@student.han.nl>
44495
44496 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44497 (PAGE_OFFSET): New macro.
44498 (CRTC_ADDR_PORT): Likewise.
44499 (CRTC_DATA_PORT): Likewise.
44500 (START_ADDR_HIGH_REGISTER): Likewise.
44501 (START_ADDR_LOW_REGISTER): Likewise.
44502 (GRAPHICS_ADDR_PORT): Likewise.
44503 (GRAPHICS_DATA_PORT): Likewise.
44504 (READ_MAP_REGISTER): Likewise.
44505 (INPUT_STATUS1_REGISTER): Likewise.
44506 (INPUT_STATUS1_VERTR_BIT): Likewise.
44507 (page): New variable.
44508 (wait_vretrace): New function.
44509 (set_read_map): Likewise.
44510 (set_start_address): Likewise.
44511 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44512 the right page.
44513 (check_vga_mem): Take the page into account.
44514 (write_char): Likewise.
44515 (write_cursor): Likewise.
44516 (scroll_up): Likewise. Copy the page to the page that is not
44517 shown and switch between both pages.
44518 (grub_vga_putchar): Fix off by one error.
44519 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44520 account.
44521
ad0bd20b 445222004-11-01 Marco Gerards <metgerards@student.han.nl>
44523
44524 Add support for iso9660 (including rockridge).
f19dbdb7 44525
ad0bd20b 44526 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44527 (iso9660_mod_SOURCES): New variable.
44528 (iso9660_mod_CFLAGS): Likewise.
44529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44530 * include/grub/fs.h (grub_iso9660_init): New prototype.
44531 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44532 * fs/iso9660.c: New file.
44533
44534 * include/grub/misc.h (grub_strncat): New prototype.
44535 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44536
ad0bd20b 44537 * fs/hfs.c (grub_hfs_mount): Translate the error
44538 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44539 * fs/jfs.c (grub_jfs_mount): Likewise.
44540 * fs/ufs.c (grub_ufs_mount): Likewise.
44541
a5477a59 445422004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44543
44544 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44545 which initialized BAT registers.
44546 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44547 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44548 Move from here...
44549 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44550 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44551 ... to here.
44552 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44553 (grub_mapclaim): Likewise.
44554 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44555 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44556 hand.
44557
9304c1f8 445582004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44559
44560 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44561 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44562 -ffreestanding and -msoft-float.
44563
86f4ae25 445642004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44565
44566 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44567 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44568 set in grub_ieee1275_flags.
44569
38912228 445702004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44571
44572 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44573 prototype.
44574 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44575 grub_console_init first.
44576 Change the memory range used for grub_ieee1275_claim and
44577 grub_mm_init_region.
44578 Print an error message if the claim fails.
44579 Include <grub/misc.h>.
44580
d1923dc8 445812004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44582
44583 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44584 Call grub_children_iterate for device nodes of type `scsi',
44585 `ide', or `ata'.
44586 (grub_ofdisk_open): Remove manual device alias resolution.
44587 Fix memory leak when device cannot be opened.
f19dbdb7 44588 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44589 (grub_children_iterate): New prototype.
44590 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44591 New function.
44592 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44593 Return -1 if args.size was -1.
44594
4512e4f3 445952004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44596
44597 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44598 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44599 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44600 Open Firmware's memory for it; claim memory from _start to _end.
44601 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44602 (_end): New extern.
44603 (_start): Zero BSS from __bss_start to _end.
44604 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44605 New extern.
44606 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44607
4d61feb0 446082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44609
ad0bd20b 44610 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44611 -1 if args.base was -1.
4d61feb0 44612
026fa2f9 446132004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44614
44615 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44616 escape sequence instead of a literal ^L. Also call
44617 grub_ofconsole_gotoxy.
44618
9f2220ef 446192004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44620
44621 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44622 void * arguments to grub_addr_t. All callers updated. Also make
44623 the `result' argument optional.
44624 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44625 All callers updated.
44626
8a572cd7 446272004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44628
44629 * commands/ls.c (grub_ls_list_files): Use the string following the
44630 initial ')', if present, as the filesystem path.
44631 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44632
44633 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44634
18aa81f2 446352004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44636
44637 Make the source code of the menu interface more readable.
f19dbdb7 44638
18aa81f2 44639 * normal/menu.c: Include grub/mm.h.
44640 (TERM_WIDTH): New macro.
44641 (TERM_HEIGHT): Likewise.
44642 (TERM_INFO_HEIGHT): Likewise.
44643 (TERM_MARGIN): Likewise.
44644 (TERM_SCROLL_WIDTH): Likewise.
44645 (TERM_TOP_BORDER_Y): Likewise.
44646 (TERM_LEFT_BORDER_X): Likewise.
44647 (TERM_BORDER_WIDTH): Likewise.
44648 (TERM_MESSAGE_HEIGHT): Likewise.
44649 (TERM_BORDER_HEIGHT): Likewise.
44650 (TERM_NUM_ENTRIES): Likewise.
44651 (TERM_FIRST_ENTRY_Y): Likewise.
44652 (TERM_ENTRY_WIDTH): Likewise.
44653 (TERM_CURSOR_X): Likewise.
44654 (draw_border): Use macros instead of magic numbers.
44655 (print_entry): Likewise.
44656 (print_entries): Likewise.
44657 (run_menu): Likewise. Also, handle the key 'e'.
44658 (run_menu_entry): Ignore empty command lines.
44659 (print_message): Added a new argument EDIT. If EDIT is true,
44660 print a different message.
44661 (init_page): Likewise.
44662 (edit_menu_entry): New function. Not implemented yet.
44663
b47efe30 446642004-09-17 Marco Gerards <metgerards@student.han.nl>
44665
44666 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44667 can be loaded from normal mode.
f19dbdb7 44668
b47efe30 44669 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44670 `multiboot.mod'.
44671 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44672 (multiboot_mod_CFLAGS): New variables.
44673 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44674 * loader/i386/pc/multiboot_normal.c: Likewise.
44675
b47efe30 44676 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44677 attribute `unused'.
f19dbdb7 44678
b47efe30 44679 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44680 `fdiro' to read the mode information from instead of `diro'.
44681
44682 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44683 looking up a symlink.
44684
44685 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44686 macro.
44687 * normal/command.c (grub_command_execute): Don't parse the
44688 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44689 flags of the command.
44690
44691 * normal/menu.c (grub_menu_run): Fix typo.
44692
da75ac71 446932004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44694
44695 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44696
44697 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44698 `y + 1' instead of `y - 1'.
44699
44700 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44701
062b24c2 447022004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44703
44704 From Hollis Blanchard <hollis@penguinppc.org>:
44705 * kern/misc.c (memmove): New alias for grub_memmove.
44706 (memcmp): New alias for grub_memcmp.
44707 (memset): New alias for grub_memset.
f19dbdb7 44708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 44709 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44710 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44711 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44712
8ddad845 447132004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44714
44715 Added normal mode command `chainloader' as module chain.mod, which
44716 depends on normal.mod and _chain.mod.
f19dbdb7 44717
8ddad845 44718 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44719 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44720 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44721 Deleted prototype.
44722 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44723 but arguments parsing moved to ...
44724 (grub_chainloader_cmd): ... here. New function.
44725 * include/grub/i386/pc/chainloader.h: New file.
44726 * loader/i386/pc/chainloader_normal.c: Likewise.
44727
2c1f4ce3 447282004-09-11 Marco Gerards <metgerards@student.han.nl>
44729
44730 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44731 (grub_mkimage_LDFLAGS): Likewise.
44732 (grub_emu_SOURCES): Likewise.
44733 (kernel_img_HEADERS): Added fshelp.h.
44734 * fs/ext2.c: Include <grub/fshelp.h>.
44735 (FILETYPE_REG): New macro.
44736 (FILETYPE_INO_REG): Likewise.
44737 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44738 Changed all users.
44739 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44740 all users.
44741 (grub_fshelp_node): New struct.
44742 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44743 to a pointer.
44744 (grub_ext2_get_file_block): Removed function.
44745 (grub_ext2_read_block): New function.
44746 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44747 This function was written.
44748 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44749 (grub_ext2_find_file): Removed function.
44750 (grub_ext2_read_symlink): New function.
44751 (grub_ext2_iterate_dir): Likewise.
44752 (grub_ext2_open): Rewritten.
44753 (grub_ext2_dir): Rewritten.
44754 * include/grub/fshelp.h: New file.
44755 * fs/fshelp.c: Likewise.
44756
3c52136a 447572004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44758
44759 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44760 (print_message): Add a missing newline.
44761 (run_menu): Added timeout support.
44762 (run_menu_entry): New local function.
44763 (grub_menu_run): Added support for booting.
44764
44765 * kern/loader.c (grub_loader_is_loaded): New function.
44766
44767 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44768 (grub_get_rtc): Exported.
44769
44770 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44771 (grub_get_rtc): Exported.
44772
44773 * include/grub/normal.h (struct grub_command_list): Remove
44774 constant from the member `command'.
44775
44776 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44777
44778 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44779
44780 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44781
aa033560 447822004-08-28 Marco Gerards <metgerards@student.han.nl>
44783
44784 Add support for the JFS filesystem.
44785
44786 * fs/jfs.c: New file.
44787 * include/grub/fs.h (grub_jfs_init): New prototype.
44788 (grub_jfs_fini): New prototype.
44789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44790 (grub_emu_SOURCES): Likewise.
44791 (pkgdata_MODULES): Add jfs.mod.
44792 (jfs_mod_SOURCES): New variable.
44793 (jfs_mod_CFLAGS): Likewise.
44794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44795 (grubof_SOURCES): Likewise.
44796 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44797
44798 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44799 endian to the host endian.
44800 (grub_fat_utf16_to_utf8): Move function from there...
44801 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44802 the endianness of the source string anymore.
aa033560 44803 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44804
94bc45af 448052004-08-24 Marco Gerards <metgerards@student.han.nl>
44806
44807 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44808 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44809 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44810 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44811
94bc45af 44812 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44813 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44814 for `node_found' and `it_dir'.
44815 (grub_hfs_dir): Add prototype for `dir_hook'.
44816
44817 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44818 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44819 and `indir32' to silence a gcc warning.
44820
44821 * include/grub/fs.h (grub_hfs_init): New prototype.
44822 (grub_hfs_fini): Likewise.
f19dbdb7 44823
44824
97543f08 448252004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44826
44827 Each disk device has its own id now. This is useful to make use
44828 of multiple disk devices.
f19dbdb7 44829
97543f08 44830 * include/grub/disk.h (grub_disk_dev_id): New enum.
44831 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44832 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44833
44834 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44835 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44836
44837 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44838 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44839
44840 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44841 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44842
44843 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44844 "id" which is used by the cache manager.
44845
44846 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44847 of just "GRUB".
44848
64372eb4 448492004-08-18 Marco Gerards <metgerards@student.han.nl>
44850
44851 * fs/hfs.c: New file.
44852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44853 (grub_emu_SOURCES): Likewise.
44854 (pkgdata_MODULES): Add hfs.mod.
44855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44856 (grubof_SOURCES): Likewise.
44857 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44858
44859 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44860 * kern/misc.c (grub_strncasecmp): Add function.
44861
cc61b58f 448622004-08-14 Marco Gerards <metgerards@student.han.nl>
44863
44864 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44865 with parentheses.
44866
44867 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44868 (grub_ext2_dir): In case the directory entry type is unknown, read
44869 it from the inode.
44870
0ef123f6 448712004-08-02 Peter Bruin <pjbruin@dds.nl>
44872
44873 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44874 grub_load_linux instead of grub_rescue_cmd_linux as second
44875 argument of grub_rescue_register_command.
44876
44877 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44878
a447c5df 448792004-07-27 Marco Gerards <metgerards@student.han.nl>
44880
44881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44882 function.
44883 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44884 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44885 `loader/powerpc/ieee1275/linux.c',
44886 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44887 * include/grub/powerpc/ieee1275/ieee1275.h
44888 (grub_ieee1275_release): New prototype.
44889 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44890 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44891 normal, boot, linux and linux_normal.
44892 * loader/powerpc/ieee1275/linux.c: New file.
44893 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44894
5a9e3546 448952004-07-12 Marco Gerards <metgerards@student.han.nl>
44896
44897 * normal/arg.c (grub_arg_parse): Correct error handling after
44898 reallocating the argumentlist (check if `argl' is not null instead
44899 of checking if `args' is not null).
44900 * kern/mm.c (grub_realloc): Return the same pointer when using the
44901 same region, instead of returning the header address.
44902
e15199cb 449032004-07-11 Marco Gerards <metgerards@student.han.nl>
44904
44905 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44906 one block instead of two when looking for the initial partition.
44907 (grub_partition_probe): Initialize the local variable `p' with 0.
44908 Use base 10 for the grub_strtoul call.
44909 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44910 need for one local variable.
44911 (grub_strtoul): Don't add the new value to `num', instead of that
44912 just assign it.
44913
020616c2 449142004-07-11 Marco Gerards <metgerards@student.han.nl>
44915
44916 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44917 (pxeboot_img_SOURCES): New variable.
44918 (pxeboot_img_ASFLAGS): Likewise.
44919 (pxeboot_img_LDFLAGS): Likewise.
44920 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44921 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44922 <lode_leroy@hotmail.com>.
44923
6c51eb64 449242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44925
44926 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44927 there was no input.
44928
cfb12aff 449292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44930
44931 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44932 the history buffer logic.
44933
6eabba74 449342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44935
44936 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44937 (FILETYPE_INO_SYMLINK): New macros.
44938 (grub_ext2_find_file): Check if the node is a directory using the
44939 inode stat information instead of using the filetype in the
44940 dirent. Exclude the first character of an absolute symlink.
44941 (grub_ext2_dir): Mask out the filetype part of the mode member of
44942 the inode.
44943
66e19ef8 449442004-05-24 Marco Gerards <metgerards@student.han.nl>
44945
44946 Add support for UFS version 1 and 2. Add support for the minix
44947 filesystem version 1 and 2, both the variants with 14 and 30 long
44948 filenames.
f19dbdb7 44949
66e19ef8 44950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44951 fs/minix.c.
44952 (grub_emu_SOURCES): Likewise.
44953 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44954 (ufs_mod_SOURCES): New variable.
44955 (ufs_mod_CFLAGS): Likewise.
44956 (minix_mod_SOURCES): Likewise.
44957 (minix_mod_CFLAGS): Likewise.
44958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44959 fs/minix.c.
44960 (grubof_SOURCES): Likewise.
44961 * fs/ufs.c: New file.
44962 * fs/minix.c: New file.
44963 * include/grub/fs.h (grub_ufs_init): New prototype.
44964 (grub_ufs_fini): Likewise.
44965 (grub_minix_init): Likewise.
44966 (grub_minix_fini): Likewise.
44967 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44968 minix fs.
44969
cc2e748a 449702004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44971
44972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44973 commands/ls.c, commands/terminal.c, commands/boot.c,
44974 commands/cmp.c and commands/cat.c.
44975 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44976
44977 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44978 "env.h"
44979
4b13b216 449802004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44981
44982 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44983 and grub_, respectively. Because the conversion is trivial and
44984 mechanical, I omit the details here. Please refer to the CVS
44985 if you need more information.
44986
6a142551 449872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44988
44989 * include/pupa: Renamed to ...
44990 * include/grub: ... this.
44991 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44992 * util/i386/pc/grub-mkimage.c: ... this.
44993 * util/i386/pc/pupa-setup.c: Renamed to ...
44994 * util/i386/pc/grub-setup.c: ... this.
44995 * util/pupa-emu.c: Renamed to ...
44996 * util/grub-emu.c: ... this.
44997
e56cdf21 449982004-03-29 Marco Gerards <metgerards@student.han.nl>
44999
45000 Add support for the newworld apple macintosh (PPC). This has been
45001 tested on the powerbook 2000 only. It only adds support for
45002 generic ieee1275 functions, console and disk support. This should
45003 be easy to port to other architectures with support for Open
45004 Firmware.
f19dbdb7 45005
e56cdf21 45006 * configure.ac: Accept the powerpc as host_cpu. In the case of
45007 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45008 specific tests are only executed while building for the i386.
45009 Inverse test for crosscompile.
45010 * genmk.rb (Utility): Allow assembler files.
45011 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45012 * conf/powerpc-ieee1275.rmk: New file.
45013 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45014 * disk/powerpc/ieee1275/partition.c: Likewise.
45015 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45016 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45017 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45018 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45019 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45020 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45021 * include/pupa/powerpc/ieee1275/loader.h
45022 * include/pupa/powerpc/setjmp.h: Likewise.
45023 * include/pupa/powerpc/types.h: Likewise.
45024 * kern/powerpc/ieee1275/init.c: Likewise.
45025 * kern/powerpc/ieee1275/openfw.c: Likewise.
45026 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45027
45028 These files were written by Johan Rydberg
45029 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45030
e56cdf21 45031 * boot/powerpc/ieee1275/cmain.c: New file.
45032 * boot/powerpc/ieee1275/crt0.S: Likewise.
45033 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45034 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45035
8c8cc205 450362004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45037
45038 * Makefile.in: Update copyright.
45039 * genmodsrc.sh: Likewise.
45040 * gensymlist.sh: Likewise.
45041 * term/i386/pc/vga.c: Indent correctly.
45042
45043 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45044 bugreporting address.
45045 * util/i386/pc/pupa-setup.c (usage): Likewise,
45046 (main): Call pupa_ext2_init and pupa_ext2_fini.
45047
f19dbdb7 45048 * fs/fat.c (log2): Renamed to ...
8c8cc205 45049 (fat_log2): ... this.
45050 All callers changed.
45051 * kern/misc.c (memcpy): Alias to pupa_memmove.
45052 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45053 lvalue cast.
45054 * util/console.c (pupa_ncurses_fini): Return 0.
45055
45056 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45057 Move fail label here.
45058 [__GNU__]: Don't warn when using stat.
45059 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45060 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45061 long int. Use strtol instead of strtoul.
f19dbdb7 45062
db1771cf 450632004-03-14 Marco Gerards <metgerards@student.han.nl>
45064
45065 * commands/boot.c: New file.
45066 * commands/cat.c: Likewise.
45067 * commands/cmp.c: Likewise.
45068 * commands/ls.c: Likewise.
45069 * commands/terminal.c: Likewise.
45070 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45071 (pupa_register_command): Changed interface to match the new
45072 argument parser.
45073 (pupa_command_execute): Changed (almost rewritten) so it uses
45074 pupa_split_command. Added support for setting variables using the
45075 syntax `foo=bar'.
45076 (rescue_command): Changed to work with the new argument parser.
45077 (terminal_command): Moved from here to commands/terminal.c.
45078 (set_command): New function.
45079 (unset_command): New function.
45080 (insmod_command): New function.
45081 (rmmod_command): New function.
45082 (lsmod_command): New function.
45083 (pupa_command_init): Don't initialize the command terminal
45084 anymore. Initialize the commands set, unset, insmod, rmmod and
45085 lsmod.
45086 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45087 (kernel_img_HEADERS): Add arg.h and env.h.
45088 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45089 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45090 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45091 normal/arg.c.
45092 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45093 terminal.mod.
45094 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45095 (boot_mod_SOURCES): New variable.
45096 (terminal_mod_SOURCES): Likewise.
45097 (ls_mod_SOURCES): Likewise.
45098 (cmp_mod_SOURCES): Likewise.
45099 (cat_mod_SOURCES): Likewise.
45100
45101 * normal/arg.c: New file.
45102 * kern/env.c: Likewise.
45103 * include/pupa/arg.h: Likewise.
45104 * include/pupa/env.h: Likewise.
45105 * font/manager.c (font_command): Changed to match argument parsing
45106 interface changes.
45107 (PUPA_MOD_INIT): Likewise.
45108 * hello/hello.c (pupa_cmd_hello): Likewise.
45109 (PUPA_MOD_INIT): Likewise.
45110 * include/pupa/disk.h: Include <pupa/device.h>.
45111 (pupa_print_partinfo): New prototype.
45112 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45113 (pupa_dl_get_prefix): Likewise.
45114 * include/pupa/misc.h: Include <pupa/err.h>.
45115 (pupa_isgraph): New prototype.
45116 (pupa_isdigit): Likewise.
45117 (pupa_split_cmdline): Likewise.
45118 * include/pupa/normal.h: Include <pupa/arg.h>.
45119 (pupa_command): Changed the prototype of the member `func' to
45120 match the argument parsing interface. Added member `options'.
45121 (pupa_register_command): Updated to match function.
45122 (pupa_arg_parse): New prototype.
45123 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45124 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45125 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45126 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45127 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45128 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45129 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45130 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45131 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45132 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45133 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45134 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45135 * kern/disk.c: Include <pupa/file.h>.
45136 (pupa_print_partinfo): New function.
45137 * kern/dl.c: Include <pupa/env.h>.
45138 (pupa_dl_dir): Variable removed.
45139 (pupa_dl_load): Use the environment variable `prefix' instead of
45140 the variable pupa_dl_dir.
45141 (pupa_dl_set_prefix): Function removed.
45142 (pupa_dl_get_prefix): Likewise.
45143 * kern/i386/pc/init.c: Include <pupa/env.h>.
45144 (pupa_machine_init): Use the environment variable `prefix' instead of
45145 using pupa_dl_set_prefix to set the prefix.
45146 * kern/main.c: Include <pupa/env.h>.
45147 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45148 using pupa_dl_get_prefix to get the prefix.
45149 * kern/misc.c: Include <pupa/env.h>.
45150 (pupa_isdigit): New function.
45151 (pupa_isgraph): Likewise.
45152 (pupa_ftoa): Likewise.
45153 (pupa_vsprintf): Added support for printing values of the type
45154 `double'. Make it possible to format variable output when using
45155 formatting like `%1.2%f'.
45156 (pupa_split_cmdline): New function.
45157 * kern/rescue.c: Include <pupa/env.h>.
45158 (next_word): Removed function.
45159 (pupa_rescue_cmd_prefix): Likewise.
45160 (pupa_rescue_cmd_set): New function.
45161 (pupa_rescue_cmd_unset): New function.
45162 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45163 split the command line instead of splitting it here. Added
45164 support for setting variables using the syntax `foo=bar'. Don't
45165 initialize the prefix command anymore. Initialized the set and
45166 unset commands.
45167 * normal/cmdline.c: Include <pupa/env.h>.
45168 (pupa_tab_complete): Added prototypes for print_simple_completion,
45169 print_partition_completion, add_completion, iterate_commands,
45170 iterate_dev, iterate_part and iterate_dir. Moved code to print
45171 partition information from here to kern/disk.c.
fe6b695a 45172 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45173 * normal/main.c: Include <pupa/env.h>.
45174 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45175 instead of using pupa_dl_get_prefix to get the prefix.
45176 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45177 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45178 warning.
45179 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45180 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45181 ((unused))' to silence a gcc warning.
45182 (pupa_vga_setcolor): Likewise.
45183 (debug_command): Changed to match argument parsing
45184 interface changes.
45185 * util/pupa-emu.c: Include <pupa/env.h>.
45186 (options): Added 0's for unused fields to silence a gcc warning.
45187 (argp): Likewise.
45188 (main): Use the environment variable `prefix' instead of using
45189 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45190 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45191 and terminal.
45192
45193 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45194 * util/misc.c: Include <malloc.h>.
45195 (pupa_malloc): Rewritten so errors are correctly reported.
45196 (pupa_realloc): Likewise.
45197 (pupa_memalign): Likewise.
45198 (pupa_mm_init_region): Declare unused variables with
45199 `__attribute__ ((unused))' to silence a gcc warning.
45200 * normal/i386/setjmp.S: Remove tab at the end of the file to
45201 silence a gcc warning.
45202 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45203 variables with `__attribute__ ((unused))' to silence a gcc
45204 warning.
45205 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45206 local variable i unsigned to silence a gcc warning.
45207
45208 * kern/term.c: Include <pupa/misc.h>.
45209 (pupa_more_lines): New variable.
45210 (pupa_more): Likewise.
45211 (pupa_putcode): When the pager is active pause at the end of every
45212 screen.
45213 (pupa_set_more): New function.
45214 * include/pupa/term.h (pupa_set_more): New prototype.
45215
45216
3b1139cb 452172004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45218
45219 Now this project is GRUB 2 rather than PUPA. The location of
45220 the CVS repository was moved to GRUB's.
f19dbdb7 45221
3b1139cb 45222 * configure.ac: Use bug-grub as the reporting address.
45223 Use GRUB instead of PUPA.
45224 Change the version number to 1.90.
45225
8367695c 452262004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45227
45228 * genkernsyms.sh: Updated copyright information.
45229 * genmk.rb: Likewise.
45230 * genmodsrc.sh: Likewise.
45231 * gensymlist.sh: Likewise.
45232 * boot/i386/pc/boot.S: Likewise.
45233 * boot/i386/pc/diskboot.S: Likewise.
45234 * disk/i386/pc/biosdisk.c: Likewise.
45235 * disk/i386/pc/partition.c: Likewise.
45236 * font/manager.c: Likewise.
45237 * fs/ext2.c: Likewise.
45238 * fs/fat.c: Likewise.
45239 * include/pupa/boot.h: Likewise.
45240 * include/pupa/device.h: Likewise.
45241 * include/pupa/disk.h: Likewise.
45242 * include/pupa/dl.h: Likewise.
45243 * include/pupa/elf.h: Likewise.
45244 * include/pupa/err.h: Likewise.
45245 * include/pupa/file.h: Likewise.
45246 * include/pupa/font.h: Likewise.
45247 * include/pupa/fs.h: Likewise.
45248 * include/pupa/kernel.h: Likewise.
45249 * include/pupa/loader.h: Likewise.
45250 * include/pupa/misc.h: Likewise.
45251 * include/pupa/mm.h: Likewise.
45252 * include/pupa/net.h: Likewise.
45253 * include/pupa/normal.h: Likewise.
45254 * include/pupa/rescue.h: Likewise.
45255 * include/pupa/setjmp.h: Likewise.
45256 * include/pupa/symbol.h: Likewise.
45257 * include/pupa/term.h: Likewise.
45258 * include/pupa/types.h: Likewise.
45259 * include/pupa/i386/setjmp.h: Likewise.
45260 * include/pupa/i386/types.h: Likewise.
45261 * include/pupa/i386/pc/biosdisk.h: Likewise.
45262 * include/pupa/i386/pc/boot.h: Likewise.
45263 * include/pupa/i386/pc/console.h: Likewise.
45264 * include/pupa/i386/pc/init.h: Likewise.
45265 * include/pupa/i386/pc/kernel.h: Likewise.
45266 * include/pupa/i386/pc/linux.h: Likewise.
45267 * include/pupa/i386/pc/loader.h: Likewise.
45268 * include/pupa/i386/pc/memory.h: Likewise.
45269 * include/pupa/i386/pc/multiboot.h: Likewise.
45270 * include/pupa/i386/pc/partition.h: Likewise.
45271 * include/pupa/i386/pc/time.h: Likewise.
45272 * include/pupa/i386/pc/vga.h: Likewise.
45273 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45274 * include/pupa/util/getroot.h: Likewise.
45275 * include/pupa/util/misc.h: Likewise.
45276 * include/pupa/util/resolve.h: Likewise.
45277 * kern/device.c: Likewise.
45278 * kern/disk.c: Likewise.
45279 * kern/dl.c: Likewise.
45280 * kern/err.c: Likewise.
45281 * kern/file.c: Likewise.
45282 * kern/fs.c: Likewise.
45283 * kern/loader.c: Likewise.
45284 * kern/main.c: Likewise.
45285 * kern/misc.c: Likewise.
45286 * kern/mm.c: Likewise.
45287 * kern/rescue.c: Likewise.
45288 * kern/term.c: Likewise.
45289 * kern/i386/dl.c: Likewise.
45290 * kern/i386/pc/init.c: Likewise.
45291 * kern/i386/pc/lzo1x.S: Likewise.
45292 * kern/i386/pc/startup.S: Likewise.
45293 * loader/i386/pc/chainloader.c: Likewise.
45294 * loader/i386/pc/linux.c: Likewise.
45295 * loader/i386/pc/multiboot.c: Likewise.
45296 * normal/cmdline.c: Likewise.
45297 * normal/command.c: Likewise.
45298 * normal/main.c: Likewise.
45299 * normal/menu.c: Likewise.
45300 * normal/i386/setjmp.S: Likewise.
45301 * term/i386/pc/console.c: Likewise.
45302 * term/i386/pc/vga.c: Likewise.
45303 * util/console.c: Likewise.
45304 * util/genmoddep.c: Likewise.
45305 * util/misc.c: Likewise.
45306 * util/pupa-emu.c: Likewise.
45307 * util/resolve.c: Likewise.
45308 * util/unifont2pff.rb: Likewise.
45309 * util/i386/pc/biosdisk.c: Likewise.
45310 * util/i386/pc/getroot.c: Likewise.
45311 * util/i386/pc/pupa-mkimage.c: Likewise.
45312 * util/i386/pc/pupa-setup.c: Likewise.
45313
e6eced71 453142004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45315
45316 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45317 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45318 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45319 reading and reset it after reading.
45320 (pupa_ext2_close): Return PUPA_ERR_NONE.
45321
45322 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45323 Correct value.
45324 (struct linux_kernel_header): Add kernel_version and
45325 initrd_addr_max.
45326 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45327 pupa_file_read succeeds.
45328 (pupa_rescue_cmd_initrd): Implement.
45329
5aded270 453302003-12-03 Marco Gerards <metgerards@student.han.nl>
45331
45332 * fs/ext2.c (pupa_ext2_label): New function.
45333 (pupa_ext2_fs): Added label.
45334 * fs/fat.c (pupa_fat_label): New function.
45335 (pupa_fat_fs): Added label.
45336 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45337
45338 * kern/misc.c (pupa_strndup): New function.
45339 * include/pupa/misc.h (pupa_strndup): New prototype.
45340
45341 * include/pupa/normal.h: Include <pupa/err.h>.
45342 (pupa_set_history): New prototype.
45343 (pupa_iterate_commands): New prototype.
45344 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45345 <pupa/disk.h>, <pupa/file.h>.
45346 (hist_size): New variable.
45347 (hist_lines): Likewise.
45348 (hist_end): Likewise.
45349 (hist_used): Likewise.
45350 (pupa_set_history): New function.
45351 (pupa_history_get): Likewise.
45352 (pupa_history_add): Likewise.
45353 (pupa_history_replace): Likewise.
45354 (pupa_tab_complete): Likewise.
45355 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45356 completion shows partitionnames while completing partitions, this
45357 feature was suggested by Jeff Bailey.
45358 * normal/command.c (pupa_iterate_commands): New function.
45359 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45360 (pupa_normal_init): Initialize history buffer.
45361 (PUPA_MOD_INIT): Likewise.
45362 (pupa_normal_fini): Free the history buffer.
45363 (PUPA_MOD_FINI): Likewise.
45364
45365 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45366 key.
45367
45368 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45369 * configure.ac [i386]: Check for regparam bug.
45370 (NESTED_FUNC_ATTR) [! i386]: Defined.
45371
1f7315a3 453722003-11-17 Marco Gerards <metgerards@student.han.nl>
45373
45374 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45375 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45376 (pupa_emu_SOURCES): New variable.
45377 (pupa_emu_LDFLAGS): Likewise.
45378 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45379 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45380 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45381 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45382 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45383 (pupa_jmp_buf): New typedef.
45384 (pupa_setjmp) [PUPA_UTIL]: New macro.
45385 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45386 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45387 (pupa_refresh): New prototype.
45388 * include/pupa/util/getroot.h: New file.
45389 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45390 it.
45391 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45392 (pupa_rescue_cmd_cat): Likewise.
45393 (pupa_rescue_cmd_ls): Likewise.
45394 (pupa_rescue_cmd_testload): Likewise.
45395 (pupa_rescue_cmd_lsmod): Likewise.
45396 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45397 * normal/menu.c (run_menu): Likewise.
45398 * kern/term.c (pupa_cls): Likewise.
45399 (pupa_refresh): New function.
45400 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45401 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45402 * util/console.c: New file.
f19dbdb7 45403
1f7315a3 45404 * util/i386/pc/getroot.c: New file.
45405 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45406 (pupa_putchar): New function.
45407 (pupa_refresh): Likewise.
45408 (xgetcwd): Function moved to ...
45409 (strip_extra_slashes): Likewise.
45410 (get_prefix): Likewise.
f19dbdb7 45411 * util/i386/pc/getroot.c: ... here.
1f7315a3 45412 (find_root_device): Function moved and renamed to...
45413 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45414 Changed all callers.
45415 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45416 and renamed to...
45417 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45418 Changed all callers.
45419 * util/misc.c (pupa_memalign): New function.
45420 (pupa_mm_init_region): Likewise.
45421 (pupa_register_exported_symbols): Likewise.
45422 (pupa_putchar): Function removed.
45423 * util/pupa-emu.c: New file.
45424
9a5c1ade 454252003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45426
45427 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45428 (_multiboot_mod_SOURCES): New variable.
45429 (_multiboot_mod_CFLAGS): Likewise.
45430 * loader/i386/pc/multiboot.c: New file.
45431 * include/pupa/i386/pc/multiboot.h: Likewise.
45432 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45433 (pupa_multiboot_real_boot): New function.
45434 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45435 (pupa_multiboot_real_boot): New prototype.
45436 (pupa_rescue_cmd_multiboot): Likewise
45437 (pupa_rescue_cmd_module): Likewise.
45438
45439 * kern/loader.c (pupa_loader_set): Continue when
45440 pupa_loader_unload_func() fails.
45441 (pupa_loader_unset): New function.
45442 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45443
45444 * kern/misc.c (pupa_stpcpy): New function.
45445 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45446
8e72a9c0 454472003-11-12 Marco Gerards <metgerards@student.han.nl>
45448
45449 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45450 for available extensions.
45451
45452 * include/pupa/i386/pc/time.h: New file.
45453 * kern/disk.c: Include <pupa/machine/time.h>.
45454 (PUPA_CACHE_TIMEOUT): New macro.
45455 (pupa_last_time): New variable.
45456 (pupa_disk_open): Flush the cache when there was a timeout.
45457 (pupa_disk_close): Reset the timer.
45458 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45459 pupa_currticks.
45460 * util/misc.c: Include <sys/times.h>
45461 (pupa_get_rtc): New function.
45462
c4adbd32 454632003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45464
45465 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45466 as blocks.
45467 (pupa_ext2_get_file_block): Use blocks member.
45468
45469 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45470 first block. Return -1 instead of pupa_errno on error.
45471
bfd30f06 454722003-10-27 Marco Gerards <metgerards@student.han.nl>
45473
45474 * README: In the pupa-mkimage example use _chain instead of chain
45475 and ext2 instead of fat.
45476 * TODO: Replace ext2fs with jfs as an example. Add an item for
45477 adding journal playback for ext2fs.
45478 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45479 (pkgdata_MODULES): Added ext2.mod.
45480 (ext2_mod_SOURCES): New variable.
45481 (ext2_mod_CFLAGS): Likewise.
45482 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45483 * include/pupa/misc.h (pupa_strncpy): New prototype.
45484 (pupa_strcat): Likewise.
45485 (pupa_strncmp): Likewise.
45486 * kern/misc.c (pupa_strcat): Enable function.
45487 (pupa_strncpy): New function.
45488 (pupa_strncmp): Likewise.
45489 * fs/ext2.c: New file.
f19dbdb7 45490
bfd30f06 45491 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45492 when the read failed before retrying.
45493 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45494 (_FILE_OFFSET_BITS): Likewise.
45495 * configure.ac: Added AC_SYS_LARGEFILE.
45496
98d15063 454972003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45498
45499 * genmk.rb (PModule#rule): Make sure to get only symbol names
45500 from the output of nm.
59cad637 45501 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45502
18d9c7cd 455032003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45504
45505 I forgot to check in these changes for a long time. This adds
45506 incomplete support for VGA console, and this is still very
45507 buggy. Also, a lot of consideration is required for I18N,
45508 UNICODE, and VGA font issues. Therefore, assume that this is
45509 such that "better than nothing".
f19dbdb7 45510
18d9c7cd 45511 * font/manager.c: New file.
45512 * include/pupa/font.h: Likewise.
45513 * include/pupa/i386/pc/vga.h: Likewise.
45514 * term/i386/pc/vga.c: Likewise.
45515 * util/unifont2pff.rb: Likewise.
45516
45517 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45518 (pkgdata_MODULES): Added vga.mod and font.mod.
45519 (vga_mod_SOURCES): New variables.
45520 (vga_mod_CFLAGS): Likewise.
45521 (font_mod_SOURCES): Likewise.
45522 (font_mod_CFLAGS): Likewise.
45523
45524 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45525
45526 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45527 (struct pupa_term): Added init and fini.
18d9c7cd 45528 Changed the argument of putchar to pupa_uint32_t.
45529
45530 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45531 (pupa_console_real_putchar): New prototype.
45532 (pupa_console_putchar): Removed.
45533 (pupa_console_checkkey): Exported.
45534 (pupa_console_getkey): Likewise.
45535
45536 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45537 characters.
45538
45539 * kern/term.c (pupa_term_set_current): Rewritten.
45540 (pupa_putchar): Likewise.
45541 (pupa_putcode): New function.
45542
45543 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45544 (pupa_console_real_putchar): ... this.
45545 (pupa_vga_set_mode): New function.
45546 (pupa_vga_get_font): Likewise.
45547
45548 * normal/command.c: Include pupa/term.h.
45549 (terminal_command): New function.
45550 (pupa_command_init): Register the command "terminal".
45551
45552 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45553 (DISP_UP): Likewise.
45554 (DISP_RIGHT): Likewise.
45555 (DISP_DOWN): Likewise.
45556 (DISP_HLINE): Likewise.
45557 (DISP_VLINE): Likewise.
45558 (DISP_UL): Likewise.
45559 (DISP_UR): Likewise.
45560 (DISP_LL): Likewise.
45561 (DISP_LR): Likewise.
45562
45563 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45564
977329f5 455652003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45566
45567 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45568 FIX. Reverse the path_list.
45569
45570 * include/pupa/normal.h: Export pupa_register_command and
45571 pupa_unregister_command.
45572
45573 * hello/hello.c (pupa_cmd_hello): New module.
45574 * conf/i386-pc.rmk: Added hello.mod.
45575
1f5ab428 455762003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45577
45578 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45579
1f5ab428 45580 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45581 (compress_kernel): New variable.
45582 (generate_image): Heavily modified to support compressing a
45583 large part of the core image.
45584
45585 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45586 leak.
45587 (pupa_util_load_image): New function.
45588
45589 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45590 (pupa_compressed_size): New variable.
45591 (codestart): Enable Gate A20 here.
45592 Decompress the compressed part of the core image.
45593 Rearrange the code to put functions and variables which are
45594 required for initialization in the non-compressed part.
45595 Include lzo1x.S.
45596
45597 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45598 here.
45599
45600 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45601
f19dbdb7 45602 * include/pupa/i386/pc/kernel.h
1f5ab428 45603 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45604 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45605 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45606 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45607 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45608
45609 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45610
45611 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45612 (Utility#rule): Likewise.
45613
45614 * configure.ac: Check if LZO is available.
45615
ce5bf700 456162003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45617
45618 * include/pupa/normal.h: New file.
45619 * include/pupa/setjmp.h: Likewise.
45620 * include/pupa/i386/setjmp.h: Likewise.
45621 * normal/cmdline.c: Likewise.
45622 * normal/command.c: Likewise.
45623 * normal/main.c: Likewise.
45624 * normal/menu.c: Likewise.
45625 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45626
ce5bf700 45627 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45628 (pupa_rescue_cmd_initrd): Likewise.
45629
45630 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45631 Likewise.
45632
45633 * kern/i386/pc/startup.S (translation_table): New variable.
45634 (translate_keycode): New function.
45635 (pupa_console_getkey): Call translate_keycode.
45636
45637 * kern/rescue.c (attempt_normal_mode): New function.
45638 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45639 it failed, print a message.
45640
45641 * kern/mm.c (pupa_real_malloc): Print more information when a
45642 free magic is broken.
45643 (pupa_free): If the first free header is not free actually, set
45644 it to P.
45645
45646 * kern/main.c (pupa_load_normal_mode): Just load the module
45647 "normal".
45648 (pupa_main): Don't print the message
45649 "Entering into rescue mode..." here.
45650
45651 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45652 Declared.
45653 (pupa_rescue_cmd_initrd): Likewise.
45654 (pupa_rescue_cmd_initrd): Likewise.
45655
45656 * include/pupa/symbol.h (FUNCTION): Specify the type.
45657 (VARIABLE): Likewise.
45658
45659 * include/pupa/err.h (pupa_err_t): Added
45660 PUPA_ERR_UNKNOWN_COMMAND.
45661
45662 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45663 (pupa_dl_get_prefix): Likewise.
45664
45665 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45666 Added _chain.mod and _linux.mod instead of chain.mod and
45667 linux.mod.
45668 (chain_mod_SOURCES): Renamed to ...
45669 (_chain_mod_SOURCES): ... this.
45670 (chain_mod_CFLAGS): Renamed to ...
45671 (_chain_mod_CFLAGS): ... this.
45672 (linux_mod_SOURCES): Renamed to ...
45673 (_linux_mod_SOURCES): ... this.
45674 (linux_mod_CFLAGS): Renamed to ...
45675 (_linux_mod_CFLAGS): ... this.
45676 (normal_mod_SOURCES): New variable.
45677 (normal_mod_CFLAGS): Likewise.
45678 (normal_mod_ASFLAGS): Likewise.
45679
456802003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45681
45682 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45683 possible.
45684
fe6b695a 45685 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45686 recursively.
45687 (pupa_dl_unref): Unrefer depending modules recursively.
45688 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45689 a module is unloaded before one depending on that module is
45690 unloaded.
45691 (pupa_dl_unload): Unload depending modules explicitly,
45692 if possible.
45693
c04da074 456942003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45695
45696 * include/pupa/i386/pc/linux.h: New file.
45697 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45698
c04da074 45699 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45700 Removed.
45701 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45702 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45703 of PUPA_CHAINLOADER_BOOT_SECTOR.
45704
45705 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45706 (pupa_linux_prot_size): New variable.
45707 (pupa_linux_tmp_addr): Likewise.
45708 (pupa_linux_real_addr): Likewise.
45709 (pupa_linux_boot_zimage): New function.
45710 (pupa_linux_boot_bzimage): Likewise.
45711
45712 * kern/i386/pc/init.c (struct mem_region): New structure.
45713 (MAX_REGIONS): New macro.
45714 (mem_regions): New variable.
45715 (num_regions): Likewise.
45716 (pupa_os_area_addr): Likewise.
45717 (pupa_os_area_size): Likewise.
45718 (pupa_lower_mem): Likewise.
45719 (pupa_upper_mem): Likewise.
45720 (add_mem_region): New function.
45721 (compact_mem_regions): Likewise.
45722 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45723 the size of the conventional memory and that of so-called upper
45724 memory (before the first memory hole).
45725 Instead of adding each found region to free memory, use
45726 add_mem_region and add them after removing overlaps.
45727 Also, add only 1/4 of the upper memory to free memory. The rest
45728 is used for loading OS images. Maybe this is ad hoc, but this
45729 makes it much easier to relocate OS images when booting.
45730
45731 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45732 (pupa_enter_rescue_mode): Don't register initrd and module.
45733
45734 * kern/mm.c: Include pupa/dl.h.
45735
45736 * kern/main.c: Include pupa/file.h and pupa/device.h.
45737
45738 * kern/loader.c (pupa_loader_load_module_func): Removed.
45739 (pupa_loader_load_module): Likewise.
45740
45741 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45742 ``.o''.
45743
45744 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45745 (pupa_linux_tmp_addr): Likewise.
45746 (pupa_linux_real_addr): Likewise.
45747 (pupa_linux_boot_zimage): Likewise.
45748 (pupa_linux_boot_bzimage): Likewise.
45749
45750 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45751 (pupa_upper_mem): Likewise.
45752 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45753 module is too dangerous.
45754
45755 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45756 (pupa_os_area_size): Likewise.
45757 (pupa_loader_set): Remove the first argument. Loader doesn't
45758 manage modules or initrd any longer.
45759 (pupa_loader_load_module): Removed.
45760
45761 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45762 (linux_mod_SOURCES): New variable.
45763 (linux_mod_CFLAGS): Likewise.
45764
a13f9237 457652003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45766
45767 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45768 the length of a blocklist correctly.
45769
45770 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45771 Use ioctl only if the OS file is a block device.
45772 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45773 not very useful for normal files.
45774
45775 * kern/main.c (pupa_set_root_dev): New function.
45776 (pupa_load_normal_mode): Likewise.
45777 (pupa_main): Call those above.
45778
45779 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45780 pupa_uint16_t.
45781
45782 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45783
a5ffe966 457842003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45785
45786 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45787 (setup): Configure the installed partition information and the
45788 dl prefix.
45789
45790 * loader/i386/pc/chainloader.c (my_mod): New variable.
45791 (pupa_chainloader_unload): New function.
45792 (pupa_rescue_cmd_chainloader): Refer itself.
45793 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45794
45795 * kern/i386/pc/startup.S (install_partition): Removed.
45796 (version_string): Likewise.
45797 (config_file): Likewise.
45798 (pupa_install_dos_part): New variable.
45799 (pupa_install_bsd_part): Likewise.
45800 (pupa_prefix): Likewise.
45801 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45802
45803 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45804 and pupa/misc.h.
45805 (make_install_device): New function.
45806 (pupa_machine_init): Set the dl prefix.
45807
45808 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45809 (buf): Renamed to ...
45810 (linebuf): ... this.
45811 (pupa_rescue_cmd_prefix): New function.
45812 (pupa_rescue_cmd_insmod): Likewise.
45813 (pupa_rescue_cmd_rmmod): Likewise.
45814 (pupa_rescue_cmd_lsmod): Likewise.
45815 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45816 rmmod and lsmod.
45817
45818 * kern/mm.c (pupa_memalign): If failed even after invalidating
45819 disk caches, unload unneeded modules and retry.
45820
45821 * kern/misc.c (pupa_memmove): New function.
45822 (pupa_memcpy): Removed.
45823 (pupa_strcpy): New function.
45824 (pupa_itoa): Made static.
45825
45826 * kern/dl.c (pupa_dl_iterate): New function.
45827 (pupa_dl_ref): Likewise.
45828 (pupa_dl_unref): Likewise.
45829 (pupa_dl_unload): Return if succeeded or not.
45830 (pupa_dl_unload_unneeded): New function.
45831 (pupa_dl_unload_all): Likewise.
45832 (pupa_dl_init): Renamed to ...
45833 (pupa_dl_set_prefix): ... this.
45834 (pupa_dl_get_prefix): New function.
45835
45836 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45837 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45838 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45839 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45840 (pupa_install_dos_part): Declared.
45841 (pupa_install_bsd_part): Likewise.
45842 (pupa_prefix): Likewise.
45843 (pupa_boot_drive): Likewise.
45844
45845 * include/pupa/types.h: Fix a typo.
45846
45847 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45848 pupa_memmove.
45849 (pupa_memmove): Declared.
45850 (pupa_strcpy): Likewise.
45851
45852 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45853 pupa_mod_init takes one argument, its own module.
45854 (pupa_dl_unload_unneeded): Declared.
45855 (pupa_dl_unload_all): Likewise.
45856 (pupa_dl_ref): Likewise.
45857 (pupa_dl_unref): Likewise.
45858 (pupa_dl_iterate): Likewise.
45859 (pupa_dl_init): Renamed to ...
45860 (pupa_dl_set_prefix): ... this.
45861 (pupa_dl_get_prefix): Declared.
45862
45863 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45864 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45865 unloaded.
45866 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45867 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45868
45869 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45870 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45871
012d7999 458722003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45873
45874 * util/i386/pc/pupa-setup.c (setup): Define the internal
45875 function find_first_partition_start at the top level, because GCC
45876 3.0.x cannot compile internal functions in deeper scopes
45877 correctly.
45878 (find_root_device): Use lstat instead of stat.
45879 Don't follow symbolic links.
45880 Fix the path-constructing code.
45881
45882 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45883 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45884 by a BLKGETSIZE ioctl first, because block devices don't fill
45885 the member st_mode of the structure stat on Linux.
45886 [__linux__] (linux_find_partition): Use a temporary buffer
45887 REAL_DEV for the working space. Copy it to DEV before returning.
45888 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45889 buffer cache consistent.
45890 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45891 strncmp. The previous value was merely wrong.
45892 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45893
45894 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45895 FAT size is 12. The previous value was merely wrong.
45896
45897 * kern/main.c (pupa_main): Don't split the starting message from
45898 newlines.
45899
45900 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45901 LF, because BIOS goes crazy about character attributes in this
45902 case.
45903
1cc73a62 459042003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45905
45906 * include/i386/pc/util/biosdisk.h: New file.
45907 * util/i386/pc/biosdisk.c: Likewise.
45908 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45909
1cc73a62 45910 * Makefile.in (INCLUDE_DISTFILES): Added
45911 include/pupa/i386/pc/util/biosdisk.h.
45912 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45913 directory util/i386/pc.
45914 (install-local): Added a rule for sbin_UTILITIES.
45915 (uninstall): Likewise.
45916
45917 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45918
45919 * util/misc.c (xrealloc): New function.
45920 (pupa_malloc): Likewise.
45921 (pupa_free): Likewise.
45922 (pupa_realloc): Likewise.
45923 (pupa_stop): Likewise.
45924 (pupa_putchar): Likewise.
45925
45926 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45927
45928 * include/pupa/util/misc.h (xrealloc): Declared.
45929
45930 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45931 macro.
45932 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45933 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45934
45935 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45936 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45937
45938 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45939 way should be implemented.
45940 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45941
45942 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45943 the size of NAME for safety.
45944 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45945 0x88.
45946
45947 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45948 (pupa_setup_SOURCES): Likewise.
45949
45950 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45951
08b70fe8 459522002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45953
45954 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45955 bunch of pushl's from pusha, because this destroys the return
45956 value.
45957
62ddcc8f 459582002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45959
45960 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45961 This means that any missing prototypes could be fatal. Also, you
45962 must take care when writing assembly code. See the comments at
45963 the beginning of startup.S, for more details.
f19dbdb7 45964
62ddcc8f 45965 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45966 compilation mechanism.
45967 (pupa_chainloader_real_boot): Likewise.
45968 (pupa_biosdisk_rw_int13_extensions): Likewise.
45969 (pupa_biosdisk_rw_standard): Likewise.
45970 (pupa_biosdisk_check_int13_extensions): Likewise.
45971 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45972 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45973 (pupa_get_memsize): Likewise.
45974 (pupa_get_mmap_entry): Likewise.
45975 (pupa_console_putchar): Likewise.
45976 (pupa_console_setcursor): Likewise.
45977 (pupa_getrtsecs): Use pushl instead of push.
45978
45979 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45980 memory instead of the stack for a mmap entry, because some
45981 BIOSes may ignore the maximum size and overflow.
45982
45983 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45984
45985 * genmk.rb (PModule#rule): Compile automatically generated
45986 sources with module-specific CFLAGS as well as other sources.
45987
9962ed99 459882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45989
45990 * configure.ac: Check ld.
45991 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45992 respectively, before checking endianness and sizes.
45993
45994 * Makefile.in (LD): New variable.
f19dbdb7 45995
abdfc3c5 459962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45997
45998 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45999
6a161fa9 460002002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46001
46002 * Changelog: New file.
46003