~ubuntu-branches/ubuntu/jaunty/grub2/jaunty-proposed

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Robert Millan
  • Date: 2008-01-28 00:01:11 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20080128000111-qolpe0u4qkf0xccc
Tags: 1.95+20080128-1
* New CVS snapshot.
  - Fixes bogus CLAIM problems on Apple firmware.  (Closes: #449135, #422729)
  - grub-probe performs sanity checks to make sure our filesystem drivers
    are usable.  (Closes: #462449)
  - patches/disable_ata.diff: Remove.  ATA module isn't auto-loaded in
    rescue floppies now.
  - patches/disable_xfs.diff: Remove.  See above (about grub-probe).
* Bring back grub-emu; it can help a lot with debugging feedback.
  - control
  - rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2008-01-27  Robert Millan  <rmh@aybabtu.com>
 
2
 
 
3
        * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
 
4
        `GRUB_MOD_GAP' for platforms in which it's not defined.
 
5
        * util/elf/grub-mkimage.c (add_segments): Likewise.
 
6
 
 
7
2008-01-27  Robert Millan  <rmh@aybabtu.com>
 
8
 
 
9
        Get grub-emu to build again (including parallel builds).
 
10
 
 
11
        * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
 
12
        Split into ...
 
13
        (util/grub-emu.c_DEPENDENCIES): ... this, ...
 
14
        (normal/execute.c_DEPENDENCIES): ... this, ...
 
15
        (grub-emu_DEPENDENCIES): ... and this.
 
16
 
 
17
        * conf/i386-efi.rmk: Likewise.
 
18
        * conf/i386-linuxbios.rmk: Likewise.
 
19
        * conf/i386-ieee1275.rmk: Likewise.
 
20
        * conf/powerpc-ieee1275.rmk: Likewise.
 
21
        (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
 
22
 
 
23
2008-01-27  Robert Millan  <rmh@aybabtu.com>
 
24
 
 
25
        * NEWS: Add a few items.
 
26
 
 
27
2008-01-27  Robert Millan  <rmh@aybabtu.com>
 
28
 
 
29
        Fix parallel builds with grub-emu.  Based on earlier commit for
 
30
        grub-probe and grub-setup.
 
31
 
 
32
        * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
 
33
        (util/grub-emu.c_DEPENDENCIES): ... this.
 
34
        * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
 
35
        (util/grub-emu.c_DEPENDENCIES): ... this.
 
36
        * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
 
37
        (util/grub-emu.c_DEPENDENCIES): ... this.
 
38
        * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
 
39
        (util/grub-emu.c_DEPENDENCIES): ... this.
 
40
        * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
 
41
        (util/grub-emu.c_DEPENDENCIES): ... this.
 
42
 
 
43
2008-01-27  Pavel Roskin  <proski@gnu.org>
 
44
 
 
45
        * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
 
46
        to create a gap between _end and the modules added to the image
 
47
        with grub-mkrescue.  That fixes "CLAIM failed" on PowerMAC.
 
48
        * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
 
49
        * util/elf/grub-mkimage.c (add_segments): Likewise.
 
50
 
 
51
2008-01-26  Pavel Roskin  <proski@gnu.org>
 
52
 
 
53
        * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
 
54
        just return an error.
 
55
 
 
56
2008-01-26  Bean  <bean123ch@gmail.com>
 
57
 
 
58
        * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
 
59
        (grub_reiserfs_get_item): Save offset of the next item.
 
60
        (grub_reiserfs_iterate_dir): Use next_offset to find next item.
 
61
 
 
62
2008-01-25  Robert Millan  <rmh@aybabtu.com>
 
63
 
 
64
        * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
 
65
        make all filesystem sources appear together (possibly fixing omissions
 
66
        while at it).
 
67
        * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
 
68
        * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
69
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
 
70
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
71
 
 
72
        * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.  Additionally,
 
73
        add `kern/file.c'.
 
74
        * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
 
75
        * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
 
76
        * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
 
77
        * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
 
78
 
 
79
        * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
 
80
        (probe): Add a sanity check to make sure of our ability to read
 
81
        requested files when probing for filesystem type.
 
82
 
 
83
        * genmk.rb: Update copyright year (2007).
 
84
 
 
85
        * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
 
86
        (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
 
87
        (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
 
88
        (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
 
89
        (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
 
90
        : Remove function prototypes.
 
91
 
 
92
2008-01-25  Robert Millan  <rmh@aybabtu.com>
 
93
 
 
94
        Revert my previous commits (based on wrong assumption of how grub_errno
 
95
        works).
 
96
 
 
97
        * kern/disk.c (grub_disk_open): Stop reseting grub_errno.
 
98
        * kern/file.c (grub_file_open): Likewise.
 
99
 
 
100
2008-01-24  Pavel Roskin  <proski@gnu.org>
 
101
 
 
102
        * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
 
103
        that hang if GRUB tries to setup colors.
 
104
        * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
 
105
        colors for firmwares that don't support it.
 
106
        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
 
107
        Recognize Open Hack'Ware, set flags to work around its
 
108
        limitations.
 
109
 
 
110
2008-01-24  Robert Millan  <rmh@aybabtu.com>
 
111
 
 
112
        * kern/file.c (grub_file_open): Do not account previous failures of
 
113
        unrelated functions when grub_errno is checked for.
 
114
        Reported by Oleg Strikov.
 
115
 
 
116
2008-01-24  Bean  <bean123ch@gmail.com>
 
117
 
 
118
        * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
 
119
        (grub_ufs_sblock): New member volume name.
 
120
        (grub_ufs_find_file): Fix string copy bug.
 
121
        (grub_ufs_label): Implement this function properly.
 
122
 
 
123
        * fs/hfs.c (grub_hfs_cnid_type): New enum.
 
124
        (grub_hfs_iterate_records): Use the correct file number for extents
 
125
        and catalog file. Fix problem in next index calculation.
 
126
        (grub_hfs_find_node): Replace recursive function call with loop.
 
127
        (grub_hfs_iterate_dir): Replace recursive function call with loop.
 
128
 
 
129
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
130
 
 
131
        * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
 
132
        `<grub/symbol.h>' and `<grub/multiboot.h>'.
 
133
        (grub_multiboot2_real_boot): New function prototype.
 
134
 
 
135
        * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
 
136
        [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
 
137
 
 
138
        * kern/i386/ieee1275/init.c (grub_os_area_addr)
 
139
        (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
 
140
 
 
141
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
142
 
 
143
        * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
 
144
        #ifdef'ed out grub_printf().
 
145
 
 
146
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
147
 
 
148
        * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
 
149
        grub_dprintf calls, since they make "debug=all" mode unusable.
 
150
        (grub_console_checkkey): Likewise.
 
151
 
 
152
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
153
 
 
154
        * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
 
155
        `term/i386/pc/at_keyboard.c'.
 
156
        (pkglib_MODULES): Add `serial.mod'.
 
157
        (serial_mod_SOURCES): New variable.
 
158
        (serial_mod_CFLAGS): Likewise.
 
159
        (serial_mod_LDFLAGS): Likewise.
 
160
 
 
161
        * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'.  Remove
 
162
        `<grub/powerpc/ieee1275/console.h>'.
 
163
        (grub_keyboard_controller_init): New function prototype.
 
164
        (grub_console_checkkey): Likewise.
 
165
        (grub_console_getkey): Likewise.
 
166
 
 
167
        * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
 
168
        keyboard on i386.
 
169
 
 
170
        * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
 
171
        grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
 
172
 
 
173
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
174
 
 
175
        * kern/i386/pc/init.c (make_install_device): When memdisk image is
 
176
        present, "(memdisk)/boot/grub" becomes the default prefix.
 
177
 
 
178
        * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
 
179
        a memdisk tarball with all the modules.  Add --overlay=DIR option that
 
180
        allows users to overlay additional files into the image.
 
181
 
 
182
2008-01-23  Robert Millan  <rmh@aybabtu.com>
 
183
 
 
184
        * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
 
185
        and `machine/memory.h'.
 
186
        (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
 
187
        (_multiboot_mod_SOURCES): New variable.
 
188
        (_multiboot_mod_CFLAGS): Likewise.
 
189
        (_multiboot_mod_LDFLAGS): Likewise.
 
190
        (multiboot_mod_SOURCES): Likewise.
 
191
        (multiboot_mod_CFLAGS): Likewise.
 
192
        (multiboot_mod_LDFLAGS): Likewise.
 
193
 
 
194
        * include/grub/i386/ieee1275/loader.h: New file.
 
195
 
 
196
        * include/grub/i386/ieee1275/machine.h: Likewise.
 
197
 
 
198
        * include/grub/i386/ieee1275/memory.h: Likewise.
 
199
 
 
200
        * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
 
201
        variable declaration.
 
202
        (grub_os_area_size): Likewise.
 
203
 
 
204
        * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
 
205
        (grub_lower_mem, grub_upper_mem): New variables.
 
206
        (grub_stop_floppy): New function (just to make
 
207
        grub_multiboot2_real_boot() happy).
 
208
 
 
209
        * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
 
210
        `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
 
211
        (grub_stop): New function.
 
212
        Include `"../realmode.S"' and `"../loader.S"'.
 
213
 
 
214
        * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
 
215
        Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
 
216
 
 
217
        * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
 
218
        rely on grub_multiboot2_real_boot() for final boot.
 
219
 
 
220
2008-01-22  Robert Millan  <rmh@aybabtu.com>
 
221
 
 
222
        * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
 
223
        `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
 
224
        device that doesn't look like an SD card.
 
225
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
 
226
        `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
 
227
        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
 
228
        OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
 
229
        found.
 
230
 
 
231
2008-01-22  Robert Millan  <rmh@aybabtu.com>
 
232
 
 
233
        * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
 
234
        avoid claiming over our own code.
 
235
 
 
236
2008-01-22  Bean  <bean123ch@gmail.com>
 
237
 
 
238
        * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
 
239
        (jpeg_mod_SOURCES): New variable.
 
240
        (jpeg_mod_CFLAGS): Likewise.
 
241
        (jpeg_mod_LDFLAGS): Likewise.
 
242
 
 
243
        * video/readers/jpeg.c : New file.
 
244
 
 
245
2008-01-22  Bean  <bean123ch@gmail.com>
 
246
 
 
247
        * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
 
248
        there are no more items.
 
249
 
 
250
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
251
 
 
252
        * kern/mm.c (grub_mm_init_region): Improve debug message.
 
253
 
 
254
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
255
 
 
256
        * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
 
257
        (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
 
258
        address.
 
259
        (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
 
260
        a C macro.
 
261
        * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
 
262
        Indicates start of upper memory.
 
263
        * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
 
264
        (generate_image): Abort when image size is big enough to corrupt
 
265
        upper memory.
 
266
 
 
267
        * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
 
268
        (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
 
269
        * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
 
270
        instead of hardcoding 0xA0000.
 
271
        * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
 
272
        (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
 
273
        instead of hardcoding 0xA0000.
 
274
 
 
275
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
276
 
 
277
        * disk/memdisk.c (memdisk_size): New variable.
 
278
        (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
 
279
        `memdisk_size'.
 
280
        (grub_memdisk_init): Initialize `memdisk_size'.  Reallocate memdisk
 
281
        image to dynamic memory.
 
282
        (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
 
283
        `memdisk_size'.  Free memdisk block.
 
284
 
 
285
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
286
 
 
287
        Fix detection of very small filesystems (like tar).
 
288
 
 
289
        * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
 
290
        contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
 
291
        GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
 
292
        a problem with this disk).
 
293
 
 
294
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
295
 
 
296
        * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
 
297
        on grub_biosdisk_rw_standard() error.
 
298
 
 
299
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
300
 
 
301
        * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
 
302
        recent changes.
 
303
        * kern/elf.c: Likewise.
 
304
        * kern/ieee1275/ieee1275.c: Likewise.
 
305
        * kern/powerpc/ieee1275/openfw.c: Likewise.
 
306
        * term/ieee1275/ofconsole.c: Likewise.
 
307
 
 
308
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
309
 
 
310
        * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
 
311
 
 
312
        * include/grub/kernel.h (grub_arch_memdisk_addr)
 
313
        (grub_arch_memdisk_size): Moved from here ...
 
314
 
 
315
        * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
 
316
        (grub_arch_memdisk_size): ... to here.
 
317
 
 
318
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
319
 
 
320
        Mostly based on bugfix from Bean.
 
321
 
 
322
        * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
 
323
        attribute with hook() parameter.
 
324
        (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
 
325
        declaration.
 
326
        (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
 
327
        attribute with hook() parameter.
 
328
        (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
 
329
        declaration.
 
330
 
 
331
2008-01-21  Robert Millan  <rmh@aybabtu.com>
 
332
 
 
333
        * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
 
334
        (pkglib_MODULES): Add `memdisk.mod'.
 
335
        (memdisk_mod_SOURCES): New variable.
 
336
        (memdisk_mod_CFLAGS): Likewise.
 
337
        (memdisk_mod_LDFLAGS): Likewise.
 
338
 
 
339
        * disk/memdisk.c: New file.
 
340
 
 
341
        * include/grub/disk.h (grub_disk_dev_id): Add
 
342
        `GRUB_DISK_DEVICE_MEMDISK_ID'.
 
343
 
 
344
        * include/grub/i386/pc/kernel.h
 
345
        (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
 
346
        (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
 
347
        (grub_kernel_image_size): New variable declaration.
 
348
        (grub_total_module_size): Likewise.
 
349
        (grub_memdisk_image_size): Likewise.
 
350
 
 
351
        * include/grub/i386/pc/memory.h
 
352
        (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
 
353
 
 
354
        * include/grub/kernel.h: Include `<grub/symbol.h>'.
 
355
        (grub_arch_memdisk_addr): New variable declaration.
 
356
        (grub_arch_memdisk_size): Likewise.
 
357
 
 
358
        * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
 
359
        (grub_arch_memdisk_size): Likewise.
 
360
 
 
361
        * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
 
362
        (codestart): Replace hardcoded `0x100000' with
 
363
        `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
 
364
 
 
365
        * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
 
366
        (generate_image): Add `memdisk_path' parameter.  When `memdisk_path' is
 
367
        not NULL, append the contents of the file it refers to, at the end of
 
368
        the compressed kernel image.  Initialize `grub_memdisk_image_size'
 
369
        variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
 
370
        (options): Add "memdisk"|'m' option.
 
371
        (main): Parse --memdisk|-m option, and pass user-provided path as
 
372
        parameter to generate_image().
 
373
 
 
374
2008-01-20  Robert Millan  <rmh@aybabtu.com>
 
375
 
 
376
        * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
 
377
        grub_dprintf() calls from here ...
 
378
        * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
 
379
 
 
380
2008-01-20  Robert Millan  <rmh@aybabtu.com>
 
381
 
 
382
        Fix detection of "real mode" when /options/real-mode? doesn't exist.
 
383
 
 
384
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
 
385
        declaration.
 
386
        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
 
387
        (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
 
388
        `GRUB_IEEE1275_FLAG_REAL_MODE'.
 
389
        (cmain): Intialize `grub_ieee1275_mmu' (using /chosen/mmu integer
 
390
        property).
 
391
        * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
 
392
        `grub_ieee1275_mmu' rather than obtaining a handler on every call.
 
393
 
 
394
2008-01-19  Robert Millan  <rmh@aybabtu.com>
 
395
 
 
396
        Get rid of confusing function (superceeded by
 
397
        `grub_ieee1275_get_integer_property')
 
398
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
 
399
        prototype.
 
400
        * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
 
401
        function.
 
402
        * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
 
403
        grub_ieee1275_decode_int_4(), by obtaining integer properties directly
 
404
        in native endianess from grub_ieee1275_get_integer_property().
 
405
 
 
406
2008-01-19  Robert Millan  <rmh@aybabtu.com>
 
407
 
 
408
        * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
 
409
        command after "shut-down", since implementations differ on which
 
410
        the command for halt is.
 
411
 
 
412
2008-01-19  Robert Millan  <rmh@aybabtu.com>
 
413
 
 
414
        * include/grub/i386/linuxbios/console.h: Add header protection.
 
415
        (grub_keyboard_controller_init): New function prototype.
 
416
        * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
 
417
        (KEYBOARD_COMMAND_READ): Likewise.
 
418
        (KEYBOARD_COMMAND_WRITE): Likewise.
 
419
        (KEYBOARD_SCANCODE_SET1): Likewise.
 
420
        (grub_keyboard_controller_write): New function.
 
421
        (grub_keyboard_controller_read): Likewise.
 
422
        (grub_keyboard_controller_init): Likewise.
 
423
 
 
424
        * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
 
425
        (grub_console_init): On coreboot/LinuxBIOS, call
 
426
        grub_keyboard_controller_init().
 
427
 
 
428
2008-01-19  Robert Millan  <rmh@aybabtu.com>
 
429
 
 
430
        PowerPC changes provided by Pavel Roskin.
 
431
 
 
432
        * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
 
433
        * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
 
434
        don't rely on cmain() doing it.
 
435
        * kern/i386/ieee1275/startup.S (_start): Store %eax in
 
436
        grub_ieee1275_entry_fn, don't rely on cmain() doing it.
 
437
 
 
438
2008-01-16  Robert Millan  <rmh@aybabtu.com>
 
439
 
 
440
        * include/grub/i386/linuxbios/memory.h
 
441
        (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
 
442
        * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
 
443
        receive `table_header' as argument.  Instead, probe for it in the
 
444
        known memory ranges where it can be present.
 
445
        (grub_available_iterate): Do not pass a fixed `table_header' address
 
446
        to grub_linuxbios_table_iterate().
 
447
 
 
448
2008-01-15  Robert Millan  <rmh@aybabtu.com>
 
449
 
 
450
        * configure.ac: Add `i386-ieee1275' to the list of supported targets.
 
451
        * conf/i386-ieee1275.rmk: New file.
 
452
        * include/grub/i386/ieee1275/console.h: Likewise.
 
453
        * include/grub/i386/ieee1275/ieee1275.h: Likewise.
 
454
        * include/grub/i386/ieee1275/kernel.h: Likewise.
 
455
        * include/grub/i386/ieee1275/time.h: Likewise.
 
456
        * kern/i386/ieee1275/init.c: Likewise.
 
457
        * kern/i386/ieee1275/startup.S: Likewise.
 
458
 
 
459
2008-01-15  Robert Millan  <rmh@aybabtu.com>
 
460
 
 
461
        * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
 
462
        when pointers are 32-bit (but still do set it to one when they are
 
463
        64-bit).
 
464
 
 
465
2008-01-15  Robert Millan  <rmh@aybabtu.com>
 
466
 
 
467
        * include/grub/ieee1275/ieee1275.h
 
468
        (grub_ieee1275_get_integer_property): New function prototype.
 
469
 
 
470
        * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
 
471
        (grub_ieee1275_get_integer_property): New function.  Wraps around
 
472
        grub_ieee1275_get_property() to handle endianess.
 
473
 
 
474
        * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
 
475
        grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
 
476
        where appropiate.
 
477
        * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
 
478
        (grub_map): Likewise.
 
479
        * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
 
480
 
 
481
2008-01-15  Bean  <bean123ch@gmail.com>
 
482
 
 
483
        * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
 
484
        (grub_script_execute_cmdline): Reset grub_errno.
 
485
 
 
486
        * normal/main.c (read_config_file): Reset grub_errno.
 
487
 
 
488
        * normal/parse.y (script_init): New.
 
489
        (script): Move function and menuentry here.
 
490
        (delimiter): New.
 
491
        (command): Add delimiter at the end of command.
 
492
        (commands): Adjust to match the new command.
 
493
        (commandblock): Remove grub_script_lexer_record_start.
 
494
        (menuentry): Add grub_script_lexer_record_start, use the new commands. 
 
495
        (if): Use the new commands.
 
496
 
 
497
        * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
 
498
 
 
499
2008-01-15  Robert Millan  <rmh@aybabtu.com>
 
500
 
 
501
        * normal/menu.c (run_menu): Move timeout message from here ...
 
502
        (print_timeout): ... to here.
 
503
        (run_menu): Use print_timeout() once during initial draw to print
 
504
        the whole message, and again in every clock tick to update only
 
505
        the number of seconds.
 
506
 
 
507
2008-01-15  Robert Millan  <rmh@aybabtu.com>
 
508
 
 
509
        * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
 
510
        actual size of `available' from grub_ieee1275_get_property(), and
 
511
        restrict parsing to that bound.
 
512
 
 
513
2008-01-15  Christian Franke  <franke@computer.org>
 
514
 
 
515
        * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
 
516
        (argp_program_version): Remove variable.
 
517
        (argp_program_bug_address): Likewise.
 
518
        (options): Convert from struct argp_option to struct option.
 
519
        (struct arguments): Remove.
 
520
        (parse_opt): Remove.
 
521
        (usage): New function.
 
522
        (main): Replace struct args members by simple variables.
 
523
        Replace argp_parse() by getopt_long().
 
524
        Add switch to evaluate options.
 
525
        Add missing "(...)" around root_dev in prefix string.
 
526
 
 
527
2008-01-14  Robert Millan  <rmh@aybabtu.com>
 
528
 
 
529
        * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
 
530
        for grub_ieee1275_exit(), in order to improve portability.
 
531
 
 
532
2008-01-14  Robert Millan  <rmh@aybabtu.com>
 
533
 
 
534
        * util/grub.d/10_linux.in (prefix): Define.
 
535
        (exec_prefix): Likewise.  Both definitions are later used by `libdir'.
 
536
 
 
537
2008-01-13  Pavel Roskin  <proski@gnu.org>
 
538
 
 
539
        * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
 
540
        grub_errno if no errors have been detected.
 
541
 
 
542
2008-01-12  Robert Millan  <rmh@aybabtu.com>
 
543
 
 
544
        * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
 
545
        (grub_util_get_dev_abstraction): New function prototype.
 
546
 
 
547
        * util/getroot.c: Include `<grub/util/getroot.h>'
 
548
        (grub_util_get_grub_dev): Move detection of abstraction type to ...
 
549
        (grub_util_get_dev_abstraction): ... here (new function).
 
550
 
 
551
        * util/grub-probe.c: Convert PRINT_* to an enum.  Add
 
552
        `PRINT_ABSTRACTION'.
 
553
        (probe): Probe for abstraction type when requested.
 
554
        (main): Understand `--target=abstraction'.
 
555
 
 
556
        * util/i386/efi/grub-install.in: Add abstraction module to core
 
557
        image when it is found to be necessary.
 
558
        * util/i386/pc/grub-install.in: Likewise.
 
559
        * util/powerpc/ieee1275/grub-install.in: Likewise.
 
560
 
 
561
        * util/update-grub_lib.in (font_path): Return system path without
 
562
        converting to GRUB path.
 
563
        * util/update-grub.in: Convert system path returned by font_path()
 
564
        to a GRUB path.  Use `grub-probe -t abstraction' to determine what
 
565
        abstraction module is needed for loading fonts (if any).  Export
 
566
        that as `GRUB_PRELOAD_MODULES'.
 
567
        * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
 
568
        insmod commands).
 
569
 
 
570
2008-01-12  Yoshinori K. Okuji  <okuji@enbug.org>
 
571
 
 
572
        Remove some unused code from reiserfs.
 
573
        
 
574
        * fs/reiserfs.c (struct grub_reiserfs_key)
 
575
        [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
 
576
        (struct grub_reiserfs_node_body): Removed.
 
577
        (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
578
        Likewise.
 
579
        (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
580
        Likewise.
 
581
        (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
582
        Likewise.
 
583
        (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
584
        Likewise.
 
585
        (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
586
        Likewise.
 
587
        (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
 
588
        Likewise.
 
589
        (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
 
590
        (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
 
591
        (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
 
592
 
 
593
2008-01-10  Robert Millan  <rmh@aybabtu.com>
 
594
 
 
595
        * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
 
596
        Determines if a file is garbage left by packaging systems, etc.
 
597
        * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
 
598
        for processing /etc/grub.d scripts.
 
599
        * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
 
600
        * util/grub.d/10_linux.in: Likewise.  Use grub_file_is_not_garbage()
 
601
        as a condition for processing Linux images.
 
602
 
 
603
2008-01-10  Pavel Roskin  <proski@gnu.org>
 
604
 
 
605
        * include/grub/powerpc/libgcc.h (__ucmpdi2): New export.  Needed
 
606
        to compile reiserfs.c on PowerPC.
 
607
 
 
608
2008-01-10  Robert Millan  <rmh@aybabtu.com>
 
609
 
 
610
        * kern/device.c (grub_device_iterate): Do not abort device iteration
 
611
        when one of the devices cannot be opened.
 
612
        * kern/disk.c (grub_disk_open): Do not account previous failures of
 
613
        unrelated functions when grub_errno is checked for.
 
614
 
 
615
2008-01-08  Robert Millan  <rmh@aybabtu.com>
 
616
 
 
617
        * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
 
618
        `! grub_linux_is_bzimage', change order of address comparison to make
 
619
        it more intuitive, and improve "too big zImage" error message.
 
620
 
 
621
2008-01-08  Robert Millan  <rmh@aybabtu.com>
 
622
 
 
623
        * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
 
624
        `$(update-grub_DATA)'.
 
625
        (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
 
626
        targets.
 
627
 
 
628
2008-01-07  Robert Millan  <rmh@aybabtu.com>
 
629
 
 
630
        * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
 
631
        which instruction is modified by grub-setup during installation
 
632
        (since it wasn't obvious by only looking at this file).
 
633
 
 
634
2008-01-07  Robert Millan  <rmh@aybabtu.com>
 
635
 
 
636
        * TODO: Rewrite.  Just refer to the wiki and the BTS instead of
 
637
        listing actual TODO items.
 
638
 
 
639
2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
 
640
 
 
641
        * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
 
642
        correctly.
 
643
        (grub_reiserfs_get_key_offset): Likewise.
 
644
        (grub_reiserfs_set_key_offset): Likewise.
 
645
        (grub_reiserfs_set_key_type): Likewise.
 
646
        (grub_reiserfs_iterate_dir): Return 1 if found, otheriwise 0.
 
647
 
 
648
        (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
 
649
        better to remove the bitfield version completely.
 
650
        
 
651
2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
 
652
        
 
653
        * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
 
654
        allocated from the heap, due to the fshelp implementation.
 
655
        (grub_reiserfs_dir): Free NODE, due to the same reason.
 
656
 
 
657
2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
 
658
 
 
659
        Mostly from Vincent Pelletier:
 
660
        
 
661
        * fs/reiserfs.c: New file.
 
662
        
 
663
        * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
 
664
        (reiserfs_mod_SOURCES): New variable.
 
665
        (reiserfs_mod_CFLAGS): Likewise.
 
666
        (reiserfs_mod_LDFLAGS): Likewise.
 
667
 
 
668
        * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
 
669
        disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
 
670
        include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
 
671
        normal/color.c.
 
672
 
 
673
2008-01-06  Robert Millan  <rmh@aybabtu.com>
 
674
 
 
675
        * normal/color.c: Remove `<grub/env.h>'.
 
676
 
 
677
2008-01-05  Jeroen Dekkers  <jeroen@dekkers.cx>
 
678
 
 
679
        * include/grub/normal.h: Include <grub/env.h>.
 
680
 
 
681
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
682
 
 
683
        * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
 
684
        usage example with `(hd0,1)'.
 
685
        Reported by Samuel Thibault.
 
686
 
 
687
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
688
 
 
689
        * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
 
690
        (grub_linux_boot_zimage): Rename to ...
 
691
        (grub_linux_boot): ... this.
 
692
        (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
 
693
        (grub_linux_boot_zimage): Conditionalize zImage copy.
 
694
 
 
695
        * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
 
696
        (grub_linux_boot_bzimage): Remove prototype.
 
697
        (grub_linux_boot_zimage): Rename to ...
 
698
        (grub_linux_boot): ... this.
 
699
 
 
700
        * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
 
701
        (grub_linux_boot): Remove function.
 
702
 
 
703
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
704
 
 
705
        * include/grub/normal.h (grub_env_write_color_normal): New prototype.
 
706
        (grub_env_write_color_highlight): Likewise.
 
707
        (grub_wait_after_message): Likewise.
 
708
 
 
709
        * normal/color.c: New file.
 
710
 
 
711
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
 
712
        (normal_mod_DEPENDENCIES): Likewise.
 
713
 
 
714
        * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
 
715
        (normal_mod_DEPENDENCIES): Likewise.
 
716
 
 
717
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
 
718
        (normal_mod_DEPENDENCIES): Likewise.
 
719
 
 
720
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
 
721
        (normal_mod_DEPENDENCIES): Likewise.
 
722
 
 
723
        * normal/menu_entry.c (run): Rely on grub_wait_after_message()
 
724
        for waiting after a message is printed.
 
725
        * normal/main.c (read_config_file): Likewise.
 
726
        (grub_normal_init): Register grub_env_write_color_normal() and
 
727
        grub_env_write_color_highlight() hooks.  Mark `color_normal' and
 
728
        `color_highlight' variables as global.
 
729
 
 
730
        * normal/menu.c (grub_wait_after_message): New function.
 
731
        (grub_color_menu_normal): New variable.  Replaces ...
 
732
        (GRUB_COLOR_MENU_NORMAL): ... this macro.
 
733
        (grub_color_menu_highlight): New variable.  Replaces ...
 
734
        (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
 
735
        (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
 
736
        `GRUB_TERM_COLOR_STANDARD'.
 
737
        (print_message): Use `grub_setcolorstate' to reload colors.  Rename
 
738
        `normal_code' and `highlight_code' to `old_color_normal' and
 
739
        `old_color_highlight', respectively.
 
740
        (grub_menu_init_page): Update colors when drawing the menu, based on
 
741
        `menu_color_normal' and `menu_color_highlight' variables.
 
742
        (grub_menu_run): Rely on grub_wait_after_message() for waiting after
 
743
        a message is printed.
 
744
 
 
745
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
746
 
 
747
        * kern/env.c (grub_env_context_open): Propagate hooks for global
 
748
        variables to new context.
 
749
 
 
750
        * kern/main.c (grub_set_root_dev): Export `root' variable.
 
751
 
 
752
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
753
 
 
754
        * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
 
755
        discs unconditionaly, since udev and others have options to provide
 
756
        them.
 
757
 
 
758
2008-01-05  Robert Millan  <rmh@aybabtu.com>
 
759
 
 
760
        * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
 
761
 
 
762
2008-01-04  Christian Franke  <franke@computer.org>
 
763
 
 
764
        * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
 
765
        of eisa_mmap.
 
766
 
 
767
2008-01-03  Pavel Roskin  <proski@gnu.org>
 
768
 
 
769
        * kern/i386/linuxbios/init.c: Put "void" to all function
 
770
        declarations with no arguments.
 
771
        * kern/powerpc/ieee1275/init.c: Likewise.
 
772
        * term/i386/pc/at_keyboard.c: Likewise.
 
773
        * term/i386/pc/vga_text.c: Likewise.
 
774
        * util/grub-mkdevicemap.c: Likewise.
 
775
 
 
776
2008-01-02  Robert Millan  <rmh@aybabtu.com>
 
777
 
 
778
        * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
 
779
        message when loaded image is out of bounds.
 
780
        (grub_multiboot_load_elf64): Likewise.
 
781
 
 
782
2008-01-02  Pavel Roskin  <proski@gnu.org>
 
783
 
 
784
        * util/grub.d/10_linux.in: Try version without ".old" when
 
785
        looking for initrd.  It's better to use initrd from the newer
 
786
        kernel of the same version than no initrd at all.
 
787
 
 
788
2008-01-01  Robert Millan  <rmh@aybabtu.com>
 
789
 
 
790
        * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
 
791
 
 
792
2008-01-01  Vesa Jaaskelainen  <chaac@nic.fi>
 
793
 
 
794
        * include/grub/video.h: Added grub_video_unmap_color and 
 
795
        grub_video_get_active_render_target.
 
796
        (grub_video_adapter): Added unmap_color and get_active_render_target.
 
797
 
 
798
        * video/video.c: Added grub_video_unmap_color and 
 
799
        grub_video_get_active_render_target.
 
800
        (grub_video_get_info): Changed method to accept NULL pointer as an
 
801
        argument to allow detection of active video adapter.
 
802
 
 
803
        * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
 
804
        grub_video_vbe_unmap_color_int.
 
805
        Added grub_video_vbe_unmap_color and
 
806
        grub_video_vbe_get_active_render_target.
 
807
        (grub_video_vbe_adapter): Added unmap_color and
 
808
        get_active_render_target.
 
809
 
 
810
        * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage 
 
811
        with grub_video_vbe_unmap_color_int.
 
812
 
 
813
        * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
 
814
        (DEFAULT_NORMAL_COLOR): Likewise.
 
815
        (DEFAULT_HIGHLIGHT_COLOR) Likewise.
 
816
        (DEFAULT_FG_COLOR): Removed.
 
817
        (DEFAULT_BG_COLOR): Likewise.
 
818
        (DEFAULT_CURSOR_COLOR): Changed value.
 
819
        (grub_virtual_screen): Added standard_color_setting,
 
820
        normal_color_setting, highlight_color_setting and term_color.
 
821
        (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
 
822
        (bitmap_width): Added.
 
823
        (bitmap_height): Likewise.
 
824
        (bitmap): Likewise.
 
825
        (set_term_color): Likewise.
 
826
        (grub_virtual_screen_setup): Changed to use new terminal coloring
 
827
        settings.
 
828
        (grub_gfxterm_init): Added init for bitmap.
 
829
        (grub_gfxterm_fini): Added destroy for bitmap.
 
830
        (redraw_screen_rect): Updated to use background bitmap and new
 
831
        terminal coloring.
 
832
        (scroll_up): Added optimization for case when there is no bitmap.
 
833
        (grub_gfxterm_cls): Fixed to use correct background color.
 
834
        (grub_virtual_screen_setcolorstate): Changed to use new terminal
 
835
        coloring.
 
836
        (grub_virtual_screen_setcolor): Likewise.
 
837
        (grub_virtual_screen_getcolor): Added.
 
838
        (grub_gfxterm_background_image_cmd): Likewise.
 
839
        (grub_video_term): Added setcolor and getcolor.
 
840
        (MOD_INIT): Added registration of background_image command.
 
841
        (MOD_TERM): Added unregistration for background_image command.
 
842
 
 
843
2007-12-30  Pavel Roskin  <proski@gnu.org>
 
844
 
 
845
        * loader/multiboot_loader.c: Fix multiboot command
 
846
        unregistration.  Fix all typos in the word "multiboot".
 
847
 
 
848
2007-12-29  Pavel Roskin  <proski@gnu.org>
 
849
 
 
850
        * util/grub.d/10_linux.in: Refactor search for initrd.  Add
 
851
        support for initrd names used in Fedora.
 
852
 
 
853
2007-12-26  Bean  <bean123ch@gmail.com>
 
854
 
 
855
        * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
 
856
        (cpio_mod_SOURCES): New variable.
 
857
        (cpio_mod_CFLAGS): Likewise.
 
858
        (cpio_mod_LDFLAGS): Likewise.
 
859
 
 
860
        * fs/cpio.c: New file.
 
861
 
 
862
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
 
863
 
 
864
        * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
 
865
 
 
866
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
 
867
 
 
868
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
869
 
 
870
2007-12-25  Robert Millan  <rmh@aybabtu.com>
 
871
 
 
872
        * include/grub/term.h (struct grub_term): Add `getcolor' function.
 
873
        (grub_getcolor): New function.
 
874
 
 
875
        * kern/term.c (grub_getcolor): New function.
 
876
        * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
 
877
        (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
 
878
        (print_entry): Set normal and highlight colors to
 
879
        `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
 
880
        respectively, before printing and restore them to old
 
881
        values afterwards.
 
882
        (grub_menu_init_page): Likewise.  Fill an additional colored space
 
883
        that would otherwise be left blank.
 
884
 
 
885
        * term/efi/console.c (grub_console_getcolor): New function.
 
886
        (struct grub_console_term.getcolor): New variable.
 
887
        * term/i386/pc/console.c (grub_console_getcolor): New function.
 
888
        (struct grub_console_term.getcolor): New variable.
 
889
        * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
 
890
        (struct grub_console_term.getcolor): New variable.
 
891
 
 
892
        * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
 
893
        (struct grub_console_term.setcolor): Remove variable.
 
894
        * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
 
895
        (struct grub_console_term.setcolor): Remove variable.
 
896
        * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
 
897
        (struct grub_console_term.setcolor): Remove variable.
 
898
        * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
 
899
        (struct grub_console_term.setcolor): Remove variable.
 
900
 
 
901
2007-12-25  Robert Millan  <rmh@aybabtu.com>
 
902
 
 
903
        * configure.ac: Search for possible unifont.hex locations, and
 
904
        define UNIFONT_HEX if found.
 
905
 
 
906
        * Makefile.in (UNIFONT_HEX): Define variable.
 
907
        (DATA): Rename to ...
 
908
        (PKGLIB): ... this.  Update all users.
 
909
        (PKGDATA): New variable.
 
910
        (pkgdata_IMAGES): Rename to ...
 
911
        (pkglib_IMAGES): ... this. Update all users.
 
912
        (pkgdata_MODULES): Rename to ...
 
913
        (pkglib_MODULES): ... this. Update all users.
 
914
        (pkgdata_PROGRAMS): Rename to ...
 
915
        (pkglib_PROGRAMS): ... this. Update all users.
 
916
        (pkgdata_DATA): Rename to ...
 
917
        (pkglib_DATA): ... this. Update all users.
 
918
        (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
 
919
        (unicode.pff, ascii.pff): New rules.
 
920
        (all-local): Add `$(PKGDATA)' dependency.
 
921
        (install-local): Process `$(PKGDATA)'.
 
922
 
 
923
        * util/update-grub_lib.in (font_path): Search for *.pff files in
 
924
        a few more locations, including `${pkgdata}'.
 
925
 
 
926
2007-12-23  Robert Millan  <rmh@aybabtu.com>
 
927
 
 
928
        Patch from Bean  <bean123ch@gmail.com>:
 
929
        * disk/loopback.c (grub_loopback_read): Add missing bit shift to
 
930
        `size'.
 
931
 
 
932
2007-12-21  Bean  <bean123ch@gmail.com>
 
933
 
 
934
        * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
 
935
        (ntfscomp_mod_SOURCES): New variable.
 
936
        (ntfscomp_mod_CFLAGS): Likewise.
 
937
        (ntfscomp_mod_LDFLAGS): Likewise.
 
938
 
 
939
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
 
940
        (grub_probe_SOURCES): Likewise.
 
941
        (grub_emu_SOURCES): Likewise.
 
942
 
 
943
        * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
 
944
        (grub_emu_SOURCES): Likewise.
 
945
 
 
946
        * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
 
947
        (grub_emu_SOURCES): Likewise.
 
948
 
 
949
        * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
 
950
        (grub_emu_SOURCES): Likewise.
 
951
 
 
952
        * fs/ntfs.c (grub_ntfscomp_func): New variable.
 
953
        (read_run_list): Renamed to grub_ntfs_read_run_list.
 
954
        (decomp_nextvcn): Moved to ntfscomp.c.
 
955
        (decomp_getch): Likewise.
 
956
        (decomp_get16): Likewise.
 
957
        (decomp_block): Likewise.
 
958
        (read_block): Likewise.
 
959
        (read_data): Partially moved to ntfscomp.c.
 
960
        (fixup): Change unsigned to grub_uint16_t.
 
961
        (read_mft): Change unsigned long to grub_uint32_t.
 
962
        (read_attr): Likewise.
 
963
        (read_data): Likewise.
 
964
        (read_run_data): Likewise.
 
965
        (read_run_list): Likewise.
 
966
        (read_mft): Likewise.
 
967
 
 
968
        * fs/ntfscomp.c: New file.
 
969
 
 
970
        * include/grub/ntfs.h: New file.
 
971
 
 
972
2007-12-16  Robert Millan  <rmh@aybabtu.com>
 
973
 
 
974
        * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
 
975
        IDE disk check, since Linux is known to support 20 IDE disks.
 
976
        Reported by Colin Watson.
 
977
 
 
978
2007-12-15  Bean  <bean123ch@gmail.com>
 
979
 
 
980
        * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
 
981
        (lnxboot_img_SOURCES): New variable.
 
982
        (lnxboot_img_ASFLAGS): Likewise.
 
983
        (lnxboot_img_LDFLAGS): Likewise.
 
984
 
 
985
        * boot/i386/pc/lnxboot.S: New file.
 
986
 
 
987
2007-11-24  Pavel Roskin  <proski@gnu.org>
 
988
 
 
989
        * configure.ac: Test if '--build-id=none' is supported by the
 
990
        linker.  If yes, add it to TARGET_LDFLAGS.  Build ID causes
 
991
        objcopy to generate incorrect binary files (binutils
 
992
        2.17.50.0.18-1 as shipped by Fedora 8).
 
993
        * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
 
994
        linking, so that build ID doesn't break the test.
 
995
 
 
996
2007-11-24  Pavel Roskin  <proski@gnu.org>
 
997
 
 
998
        * include/grub/i386/time.h: use "void" in the argument list
 
999
        of grub_cpu_idle().
 
1000
        * include/grub/powerpc/time.h: Likewise.
 
1001
        * include/grub/sparc64/time.h: Likewise.
 
1002
 
 
1003
2007-11-18  Christian Franke  <franke@computer.org>
 
1004
 
 
1005
        * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
 
1006
        now return control chars instead of GRUB_CONSOLE_KEY_* constants.
 
1007
        This fixes the problem that function keys did not work in grub-emu.
 
1008
 
 
1009
2007-11-18  Christian Franke  <franke@computer.org>
 
1010
 
 
1011
        * disk/host.c (grub_host_open): Remove attribute unused from
 
1012
        name parameter. Add check for "host". This fixes the problem
 
1013
        that grub-emu does not find partitions.
 
1014
 
 
1015
2007-11-18  Christian Franke  <franke@computer.org>
 
1016
 
 
1017
        * util/hostfs.c (is_dir): New function.
 
1018
        (grub_hostfs_dir):  Handle missing dirent.d_type case.
 
1019
        (grub_hostfs_read): Add missing fseek().
 
1020
        (grub_hostfs_label): Clear label pointer.  This fixes a crash
 
1021
        of grub-emu on "ls (host)".
 
1022
 
 
1023
2007-11-18  Christian Franke  <franke@computer.org>
 
1024
 
 
1025
        * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
 
1026
        Add attribute packed, gcc 3.4.4 on Cygwin aligns this
 
1027
        to 64 bit boundary by default.
 
1028
 
 
1029
2007-11-18  Bean  <bean123ch@gmail.com>
 
1030
 
 
1031
        * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
 
1032
        (hexdump_mod_SOURCES): New variable.
 
1033
        (hexdump_mod_CFLAGS): Likewise.
 
1034
        (hexdump_mod_LDFLAGS): Likewise.
 
1035
        
 
1036
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
 
1037
 
 
1038
        * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
 
1039
 
 
1040
        * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
 
1041
 
 
1042
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
 
1043
 
 
1044
        * include/grub/hexdump.h: New file.
 
1045
 
 
1046
        * commands/hexdump.c: New file.
 
1047
 
 
1048
2007-11-10  Robert Millan  <rmh@aybabtu.com>
 
1049
 
 
1050
        * commands/i386/pc/play.c (beep_off): Switch order of arguments
 
1051
        in grub_outb() calls.
 
1052
        (beep_on): Likewise.
 
1053
 
 
1054
2007-11-10  Christian Franke  <franke@computer.org>
 
1055
 
 
1056
        * normal/menu.c (run_menu): Check for empty menu to avoid crash.
 
1057
        (grub_menu_run): Likewise.
 
1058
 
 
1059
2007-11-10  Robert Millan  <rmh@aybabtu.com>
 
1060
 
 
1061
        * include/grub/i386/efi/machine.h: New file.
 
1062
        * include/grub/i386/linuxbios/machine.h: Likewise.
 
1063
        * include/grub/i386/pc/machine.h: Likewise.
 
1064
        * include/grub/powerpc/ieee1275/machine.h: Likewise.
 
1065
        * include/grub/sparc64/ieee1275/machine.h: Likewise.
 
1066
 
 
1067
        * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
 
1068
        (serial_hw_io_addr): New variable.
 
1069
        (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
 
1070
        instead of `(unsigned short *) 0x400'.
 
1071
 
 
1072
2007-11-10  Bean  <bean123ch@gmail.com>
 
1073
 
 
1074
        * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
 
1075
 
 
1076
2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>
 
1077
 
 
1078
        * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
 
1079
        (vga_mod_SOURCES): Added.
 
1080
        (vga_mod_CFLAGS): Likewise.
 
1081
        (vga_mod_LDFLAGS): Likewise.
 
1082
 
 
1083
        * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
 
1084
        grub_outb() calls.
 
1085
        (set_map_mask): Likewise.
 
1086
        (set_read_map): Likewise.
 
1087
        (set_read_address): Likewise.
 
1088
        (vga_font): Removed variable.
 
1089
        (get_vga_glyph): Removed function.
 
1090
        (invalidate_char): Likewise.
 
1091
        (write_char): Changed to use grub_font_get_glyph() for font
 
1092
        information.
 
1093
        (grub_vga_putchar): Likewise.
 
1094
        (grub_vga_getcharwidth): Likewise.
 
1095
 
 
1096
2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>
 
1097
 
 
1098
        * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
 
1099
        flags.
 
1100
        (pxeboot_img_LDFLAGS): Likewise.
 
1101
        (diskboot_img_LDFLAGS): Likewise.
 
1102
        (kernel_img_LDFLAGS): Likewise.
 
1103
 
 
1104
2007-11-06  Robert Millan  <rmh@aybabtu.com>
 
1105
 
 
1106
        * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
 
1107
        in grub_outb() calls.
 
1108
        (serial_hw_init): Likewise.
 
1109
 
 
1110
2007-11-05  Robert Millan  <rmh@aybabtu.com>
 
1111
 
 
1112
        * util/update-grub.in: Allow files in ${update_grub_dir} to contain
 
1113
        spaces.  Skip non-regular files.
 
1114
 
 
1115
2007-11-05  Robert Millan  <rmh@aybabtu.com>
 
1116
 
 
1117
        * kern/disk.c (grub_disk_firmware_fini)
 
1118
        (grub_disk_firmware_is_tainted): New variables.
 
1119
 
 
1120
        * include/grub/disk.h (grub_disk_firmware_fini)
 
1121
        (grub_disk_firmware_is_tainted): Likewise.
 
1122
 
 
1123
        * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
 
1124
        (grub_disk_biosdisk_fini): ... to here.
 
1125
        (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
 
1126
        (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
 
1127
        is set.  Register grub_disk_biosdisk_fini() in
 
1128
        `grub_disk_firmware_fini'.
 
1129
 
 
1130
        * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
 
1131
        (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
 
1132
        Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
 
1133
        to finish existing firmware disk interface.
 
1134
 
 
1135
        * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
 
1136
        (ata_mod_SOURCES): New variable.
 
1137
        (ata_mod_CFLAGS): Likewise.
 
1138
        (ata_mod_LDFLAGS): Likewise.
 
1139
 
 
1140
2007-11-05  Robert Millan  <rmh@aybabtu.com>
 
1141
 
 
1142
        * disk/ata.c: Remove `<grub/machine/time.h>'.  Include `<grub/time.h>'.
 
1143
        (grub_ata_wait): Reimplement using grub_millisleep().
 
1144
 
 
1145
        * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
 
1146
        * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
 
1147
 
 
1148
2007-11-03  Marco Gerards  <marco@gnu.org>
 
1149
 
 
1150
        * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
 
1151
        (CRTC_ADDR_PORT): New macro.
 
1152
        (CRTC_DATA_PORT): Likewise.
 
1153
        (CRTC_CURSOR): Likewise.
 
1154
        (CRTC_CURSOR_ADDR_HIGH): Likewise.
 
1155
        (CRTC_CURSOR_ADDR_LOW): Likewise.
 
1156
        (update_cursor): New function.
 
1157
        (grub_console_real_putchar): Call `update_cursor'.
 
1158
        (grub_console_gotoxy): Likewise.
 
1159
        (grub_console_cls): Set the default color when clearing the
 
1160
        screen.
 
1161
        (grub_console_setcursor): Implemented.
 
1162
 
 
1163
2007-11-03  Marco Gerards  <marco@gnu.org>
 
1164
 
 
1165
        * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
 
1166
        become activate.
 
1167
        (grub_ata_pio_write): Likewise.
 
1168
 
 
1169
        (grub_atapi_identify): Wait after issuing an ATA command.
 
1170
        (grub_atapi_packet): Likewise.
 
1171
        (grub_ata_identify): Likewise.
 
1172
        (grub_ata_readwrite): Likewise.
 
1173
 
 
1174
2007-11-03  Marco Gerards  <marco@gnu.org>
 
1175
 
 
1176
        * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
 
1177
        (grub_ata_pio_write): Likewise.
 
1178
        (grub_ata_readwrite): Use `grub_error', instead of
 
1179
        returning `grub_errno'.
 
1180
 
 
1181
2007-11-03  Marco Gerards  <marco@gnu.org>
 
1182
 
 
1183
        * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
 
1184
        grub_ata_pio_write once for every single sector, instead of for
 
1185
        multiple sectors.
 
1186
 
1
1187
2007-10-31  Robert Millan  <rmh@aybabtu.com>
2
1188
 
3
1189
        * configure.ac: Add `i386-linuxbios' to the list of supported targets.
195
1381
        * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
196
1382
        to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
197
1383
 
198
 
        * include/grub/types.h (#ifdef GRUB_CPU_WORDS_BIGENDIAN): Define
199
 
        grub_host_to_target16, grub_host_to_target32, grub_host_to_target64,
200
 
        grub_target_to_host16, grub_target_to_host32 and grub_target_to_host64.
201
 
        (#else): Likewise.
 
1384
        * include/grub/types.h (grub_host_to_target16): New macro.
 
1385
        (grub_host_to_target32): Likewise.
 
1386
        (grub_host_to_target64): Likewise.
 
1387
        (grub_target_to_host16): Likewise.
 
1388
        (grub_target_to_host32): Likewise.
 
1389
        (grub_target_to_host64): Likewise.
202
1390
 
203
1391
        * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
204
1392
        Renamed from to ...
205
1393
        (GRUB_MOD_ALIGN): ...this.  Update all users.
206
1394
 
207
 
        * util/elf/grub-mkimage.c: Replace grub_cpu_to_be16, grub_cpu_to_be32,
208
 
        grub_be_to_cpu16 and grub_be_to_cpu32 macros with grub_host_to_target16,
209
 
        grub_host_to_target32, grub_target_to_host16 and grub_target_to_host32,
210
 
        respectively.
 
1395
        * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
 
1396
        grub_host_to_target32.
 
1397
        Replace grub_be_to_cpu32 with grub_target_to_host32.
 
1398
        (load_modules): Likewise.
 
1399
        (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
 
1400
        Replace grub_be_to_cpu32 with grub_target_to_host32.
 
1401
        Replace grub_cpu_to_be16 with grub_host_to_target16.
 
1402
        Replace grub_cpu_to_be32 grub_host_to_target32.
211
1403
 
212
1404
2007-10-12  Robert Millan  <rmh@aybabtu.com>
213
1405