~ubuntu-branches/debian/sid/grub2/sid-200907171837

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2006-06-10 19:57:01 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060610195701-2khcfacexb229tq4
Tags: 1.94-3
Fix FTBFS in amd64. Closes: 372548

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>
 
2
 
 
3
        * DISTLIST: Added include/grub/i386/linux.h. Removed
 
4
        include/grub/i386/pc/linux.h
 
5
 
 
6
        * configure.ac (AC_INIT): Bumped to 1.94.
 
7
 
 
8
        * config.guess: Updated from gnulib.
 
9
        * config.sub: Likewise.
 
10
        * install-sh: Likewise.
 
11
        * mkinstalldirs: Likewise.
 
12
 
 
13
2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
14
 
 
15
        * conf/common.rmk (grub_modules_init.lst): Depended on
 
16
        grub_emu_SOURCES, excluding grub_emu_init.c, instead of
 
17
        MODSRCFILES.
 
18
 
 
19
        * genmk.rb (PModule::rule): Reverted the previous change.
 
20
 
 
21
2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
22
 
 
23
        * conf/common.rmk (grub_modules_init.lst): Depends on
 
24
        $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
 
25
        that the target does not exist before producing.
 
26
        (grub_modules_init.h): Remove the target before generating.
 
27
        (grub_emu_init.c): Likewise.
 
28
 
 
29
        * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
 
30
 
 
31
2006-05-31  Jeroen Dekkers  <jeroen@dekkers.cx>
 
32
 
 
33
        * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
 
34
        for the target-specific tests. Make sure that we also have the
 
35
        up-to-date target variables for those tests.
 
36
 
 
37
2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>
 
38
 
 
39
        * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
 
40
        (PModule::rule): Likewise.
 
41
 
 
42
2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>
 
43
 
 
44
        * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
 
45
        TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
 
46
        target-specific flags should be prefixed.
 
47
        (PModule::rule): Likewise.
 
48
 
 
49
2006-05-30  Yoshinori K. Okuji  <okuji@enbug.org>
 
50
 
 
51
        * configure.ac (CMP): Check if cmp is available explicitly.
 
52
 
 
53
2006-05-29  Yoshinori K. Okuji  <okuji@enbug.org>
 
54
 
 
55
        * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
 
56
        (target_cpu): New variable.
 
57
        (pkglibdir): Use target_cpu instead of host_cpu.
 
58
        
 
59
        * util/i386/pc/grub-install.in (host_cpu): Removed.
 
60
        (target_cpu): New variable.
 
61
        (pkglibdir): Use target_cpu instead of host_cpu.
 
62
 
 
63
        * util/genmoddep.c: Removed.
 
64
        
 
65
        * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
 
66
        instead of GRUB_HOST_SIZEOF_VOID_P.
 
67
        * kern/dl.c: Likewise.
 
68
 
 
69
        * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
 
70
        ...
 
71
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
 
72
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
 
73
        (GRUB_TARGET_SIZEOF_LONG): ... this.
 
74
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
 
75
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
 
76
        * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
 
77
        to ...
 
78
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
 
79
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
 
80
        (GRUB_TARGET_SIZEOF_LONG): ... this.
 
81
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
 
82
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
 
83
        * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
 
84
        to ...
 
85
        (GRUB_TARGET_SIZEOF_VOID_P): ... this.
 
86
        (GRUB_HOST_SIZEOF_LONG): Renamed to ...
 
87
        (GRUB_TARGET_SIZEOF_LONG): ... this.
 
88
        (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
 
89
        (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
 
90
 
 
91
        * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
 
92
        GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
 
93
        [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
 
94
        instead of GRUB_HOST_SIZEOF_LONG.
 
95
        [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
 
96
        GRUB_HOST_WORDS_BIGENDIAN to define or undefine
 
97
        GRUB_CPU_WORDS_BIGENDIAN.
 
98
        Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
 
99
        define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
 
100
        grub_host_ssize_t.
 
101
 
 
102
        * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
 
103
        (genmoddep_SOURCES): Likewise.
 
104
        * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
 
105
        (genmoddep_SOURCES): Likewise.
 
106
        * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
 
107
        (genmoddep_SOURCES): Likewise.
 
108
        * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
 
109
        Likewise.
 
110
        (genmoddep_SOURCES): Likewise.
 
111
 
 
112
        * genmoddep.awk: New file.
 
113
 
 
114
        * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
 
115
        TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
 
116
        CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
 
117
        (PModule::rule): Likewise.
 
118
        (Program::rule): Likewise.
 
119
        (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
 
120
        BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
 
121
        respectively.
 
122
 
 
123
        * configure.ac: Rewritten intensively to use host and target
 
124
        instead of build and host, respectively.
 
125
 
 
126
        * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
 
127
        (host_cpu): Removed.
 
128
        (target_cpu): New variable.
 
129
        (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
 
130
        (BUILD_CC): Removed.
 
131
        (BUILD_CFLAGS): Likewise.
 
132
        (BUILD_CPPFLAGS): Likewise.
 
133
        (TARGET_CC): New variable.
 
134
        (TARGET_CFLAGS): Likewise.
 
135
        (TARGET_CPPFLAGS): Likewise.
 
136
        (TARGET_LDFLAGS): Likewise.
 
137
        (AWK): Likewise.
 
138
        (include): Use target_cpu instead of host_cpu.
 
139
        (moddep.lst:): Use genmoddep.awk instead of genmoddep.
 
140
        
 
141
        * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
 
142
 
 
143
2006-05-29  Vesa Jaaskelainen  <chaac@nic.fi>
 
144
 
 
145
        * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
 
146
        'exec_to_evaluate'.  Renamed field 'true' to 'exec_on_true'.  Renamed
 
147
        field 'false' to 'exec_on_false'.
 
148
        (grub_script_create_cmdif): Renamed argument names to reflect above
 
149
        changes.
 
150
 
 
151
        * normal/execute.c (grub_script_execute_cmdif): Likewise.
 
152
 
 
153
        * normal/script.c (grub_script_create_cmdif): Likewise.
 
154
 
 
155
2006-05-28  Yoshinori K. Okuji  <okuji@enbug.org>
 
156
 
 
157
        * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
 
158
        top.
 
159
        (grub_hfsplus_btree_recptr): Likewise.
 
160
        (grub_hfsplus_find_block): Do not take RETRY any longer. Use
 
161
        FILEBLOCK both to pass a block number and store next block
 
162
        number.
 
163
        (grub_hfsplus_read_block): Rewritten heavily to support an extent
 
164
        overflow file correctly. Specify errors appropriately, because
 
165
        fshelp expects that GRUB_ERRNO is set when fails. Reuse
 
166
        grub_hfsplus_btree_recptr to get the pointer to a found key.
 
167
        (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
 
168
        is found.
 
169
 
 
170
        * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
 
171
        linux.mod.
 
172
        (_linux_mod_SOURCES): New variable.
 
173
        (_linux_mod_CFLAGS): Likewise.
 
174
        (_linux_mod_LDFLAGS): Likewise.
 
175
        (linux_mod_SOURCES): Likewise.
 
176
        (linux_mod_CFLAGS): Likewise.
 
177
        (linux_mod_LDFLAGS): Likewise.
 
178
 
 
179
        * DISTLIST: Added loader/i386/efi/linux.c,
 
180
        loader/i386/efi/linux_normal.c and
 
181
        include/grub/i386/efi/loader.h.
 
182
 
 
183
        * loader/i386/efi/linux.c: New file.
 
184
        * loader/i386/efi/linux_normal.c: Likewise.
 
185
        * include/grub/i386/efi/loader.h: Likewise.
 
186
 
 
187
2006-05-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
188
 
 
189
        * commands/blocklist.c: New file.
 
190
 
 
191
        * DISTLIST: Added commands/blocklist.c.
 
192
 
 
193
        * term/efi/console.c (grub_console_highlight_color): Use a lighter
 
194
        color for the background, and a darker color for the foreground.
 
195
        (grub_console_checkkey): Return READ_KEY.
 
196
        (grub_console_cls): Set the background to
 
197
        GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
 
198
 
 
199
        * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
 
200
 
 
201
        * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
 
202
        the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
 
203
 
 
204
        * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
 
205
        prototype.
 
206
 
 
207
        * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
 
208
        BG. The spec is wrong again.
 
209
 
 
210
        * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
 
211
        prototype.
 
212
        [GRUB_UTIL] (grub_blocklist_fini): Likewise.
 
213
 
 
214
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
 
215
        commands/blocklist.c.
 
216
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
217
        
 
218
        * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
 
219
        (blocklist_mod_SOURCES): New variable.
 
220
        (blocklist_mod_CFLAGS): Likewise.
 
221
        (blocklist_mod_LDFLAGS): Likewise.
 
222
 
 
223
2006-05-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
224
 
 
225
        * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
 
226
        duplication.
 
227
        (lba_mode): Use %eax more intensively to reduce the code size.
 
228
 
 
229
2006-05-20  Marco Gerards  <marco@gnu.org>
 
230
 
 
231
        * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
 
232
 
 
233
        * normal/parser.y (commandblock): Defined as <cmd>.  A subroutine
 
234
        for `menuentry'.
 
235
        (script): Accept leading newlines.
 
236
        (newlines): New rule to describe 0 or more newlines.
 
237
        (commands): Accept `command' with trailing newline.  Fixed the
 
238
        order in which arguments were passed to `grub_script_add_cmd'.
 
239
        Accept commands separated by newlines.
 
240
        (function): Changed to accept newlines.
 
241
        (menuentry) Rewritten.
 
242
 
 
243
        * normal/script.c (grub_script_create_cmdmenu): Add new entries in
 
244
        front of the list, instead of to the end.
 
245
 
 
246
2006-05-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
247
 
 
248
        * util/i386/pc/grub-install.in (bindir): New variable.
 
249
        (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
 
250
        Shaver <lbgwjl@gmail.com>.
 
251
 
 
252
2006-05-14  Yoshinori K. Okuji  <okuji@enbug.org>
 
253
 
 
254
        * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
 
255
        grub/machine/linux.h
 
256
        * loader/i386/pc/linux.c: Likewise.
 
257
 
 
258
        * include/grub/i386/pc/linux.h: Moved to ...
 
259
        * include/grub/i386/linux.h: ... here.
 
260
 
 
261
        * include/grub/i386/linux.h (struct linux_kernel_params): New
 
262
        struct.
 
263
        
 
264
2006-05-09  Vesa Jaaskelainen  <chaac@nic.fi>
 
265
 
 
266
        * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
 
267
        checking.
 
268
        (grub_video_vbe_blit_glyph): Likewise.
 
269
        (grub_video_vbe_blit_bitmap): Likewise.
 
270
        (grub_video_vbe_blit_render_target): Likewise.
 
271
 
 
272
2006-05-09  Yoshinori K. Okuji  <okuji@enbug.org>
 
273
 
 
274
        * configure.ac (--with-platform): Properly quote the square
 
275
        brackets.
 
276
 
 
277
2006-05-08  Marco Gerards  <marco@gnu.org>
 
278
 
 
279
        * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
 
280
        this...
 
281
        (kernel_elf_HEADERS): ...to this.  Updated all users.
 
282
        (grubof_symlist.c): Renamed from this...
 
283
        (kernel_elf_symlist.c): ...to this.  Updated all users.
 
284
        (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
 
285
        (grubof_SOURCES): Renamed from this...
 
286
        (kernel_elf_SOURCES): ...to this.
 
287
        (grubof_HEADERS): Renamed from this...
 
288
        (kernel_elf_HEADERS): ...to this.
 
289
        (grubof_CFLAGS): Renamed from this...
 
290
        (kernel_elf_CFLAGS): ...to this.
 
291
        (grubof_ASFLAGS): Renamed from this...
 
292
        (kernel_elf_ASFLAGS): ...to this.
 
293
        (grubof_LDFLAGS): Renamed from this...
 
294
        (kernel_elf_LDFLAGS): ...to this.
 
295
 
 
296
        * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
 
297
        this...
 
298
        (kernel_elf_HEADERS): ...to this.  Updated all users.
 
299
        (grubof_symlist.c): Renamed from this...
 
300
        (kernel_elf_symlist.c): ...to this.  Updated all users.
 
301
        (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
 
302
        (grubof_SOURCES): Renamed from this...
 
303
        (kernel_elf_SOURCES): ...to this.
 
304
        (grubof_HEADERS): Renamed from this...
 
305
        (kernel_elf_HEADERS): ...to this.
 
306
        (grubof_CFLAGS): Renamed from this...
 
307
        (kernel_elf_CFLAGS): ...to this.
 
308
        (grubof_ASFLAGS): Renamed from this...
 
309
        (kernel_elf_ASFLAGS): ...to this.
 
310
        (grubof_LDFLAGS): Renamed from this...
 
311
        (kernel_elf_LDFLAGS): ...to this.
 
312
 
 
313
        * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
 
314
        `kernel.elf' instead of `grubof'.
 
315
 
 
316
2006-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
 
317
 
 
318
        Add --with-platform to configure. Use pkglibdir instead of
 
319
        pkgdatadir. This is reported by Roger Leigh.
 
320
 
 
321
        * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
 
322
        (host_vendor): Likewise.
 
323
        (host_os): Likewise.
 
324
        (pkgdatadir): Likewise.
 
325
        (platform): New variable.
 
326
        (pkglibdir): Likewise.
 
327
        Use PKGLIBDIR instead of PKGDATADIR.
 
328
        
 
329
        * util/i386/pc/grub-install.in (datadir): Removed.
 
330
        (host_vendor): Likewise.
 
331
        (host_os): Likewise.
 
332
        (pkgdatadir): Likewise.
 
333
        (platform): New variable.
 
334
        (pkglibdir): Likewise.
 
335
        Use PKGLIBDIR instead of PKGDATADIR.
 
336
 
 
337
        * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
 
338
        instead of GRUB_DATADIR.
 
339
        (main): Likewise.
 
340
        * util/i386/pc/grub-mkimage.c (usage): Likewise.
 
341
        (main): Likewise.
 
342
        * util/i386/efi/grub-mkimage.c (usage): Likewise.
 
343
        (main): Likewise.
 
344
 
 
345
        * configure.ac (--with-platform): New option.
 
346
        Use PLATFORM instead of HOST_VENDOR to specify a platform.
 
347
 
 
348
        * Makefile.in: Include a makefile based on PLATFORM instead of
 
349
        HOST_VENDOR.
 
350
        (pkgdatadir): Not appended by the machine type.
 
351
        (pkglibdir): Appended by the machine type.
 
352
        (host_vendor): Removed.
 
353
        (platform): New variable.
 
354
        (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
 
355
        (install-local): Use PKGLIBDIR instead of PKGDATADIR.
 
356
        (uninstall): Likewise.
 
357
 
 
358
2006-05-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
359
 
 
360
        Use the environment context in the menu. Remove the commands
 
361
        "default" and "timeout", and use variables instead.
 
362
        
 
363
        * normal/menu.c: Include grub/env.h.
 
364
        (print_entry): Cast TITLE to silence gcc.
 
365
        (get_timeout): New function.
 
366
        (set_timeout): Likewise.
 
367
        (get_entry_number): Likewise.
 
368
        (run_menu): Use a default entry, a fallback entry and a timeout
 
369
        in the environment variables "default", "fallback" and
 
370
        "timeout". Also, tweak the default entry if it is not within the
 
371
        current menu entries.
 
372
        (grub_menu_run): Use a fallback entry in the environment variable
 
373
        "fallback".
 
374
 
 
375
        * normal/main.c (read_config_file): Do not initialize
 
376
        NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
 
377
        NEWMENU->TIMEOUT.
 
378
        (grub_normal_execute): Use a data slot to store the menu.
 
379
 
 
380
        * include/grub/normal.h (struct grub_menu): Removed default_entry,
 
381
        fallback_entry and timeout.
 
382
        (struct grub_menu_list): Removed.
 
383
        (grub_menu_list_t): Likewise.
 
384
        (struct grub_context): Likewise.
 
385
        (grub_context_t): Likewise.
 
386
        (grub_context_get): Likewise.
 
387
        (grub_context_get_current_menu): Likewise.
 
388
        (grub_context_push_menu): Likewise.
 
389
        (grub_context_pop_menu): Likewise.
 
390
        (grub_default_init): Likewise.
 
391
        (grub_default_fini): Likewise.
 
392
        (grub_timeout_init): Likewise.
 
393
        (grub_timeout_fini): Likewise.
 
394
 
 
395
        * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
 
396
        and timeout.mod.
 
397
        (normal_mod_SOURCES): Removed normal/context.c.
 
398
 
 
399
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
 
400
        commands/default.c, commands/timeout.c and normal/context.c.
 
401
        (normal_mod_SOURCES): Removed normal/context.c.
 
402
 
 
403
        * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
 
404
        commands/timeout.c and normal/context.c.
 
405
        (normal_mod_SOURCES): Removed normal/context.c.
 
406
 
 
407
        * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
 
408
        commands/default.c, commands/timeout.c and normal/context.c.
 
409
        (normal_mod_SOURCES): Removed normal/context.c.
 
410
 
 
411
        * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
 
412
        timeout.mod.
 
413
        (default_mod_SOURCES): Removed.
 
414
        (default_mod_CFLAGS): Likewise.
 
415
        (default_mod_LDFLAGS): Likewise.
 
416
        (timeout_mod_SOURCES): Removed.
 
417
        (timeout_mod_CFLAGS): Likewise.
 
418
        (timeout_mod_LDFLAGS): Likewise.
 
419
 
 
420
        * DISTLIST: Removed commands/default.c, commands/timeout.c and
 
421
        normal/context.c.
 
422
 
 
423
        * commands/default.c: Removed.
 
424
        * commands/timeout.c: Likewise.
 
425
        * normal/context.c: Likewise.
 
426
 
 
427
2006-05-07  Vesa Jaaskelainen  <chaac@nic.fi>
 
428
 
 
429
        * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
 
430
 
 
431
2006-05-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
432
 
 
433
        * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
 
434
        "next" to "prev" for readability.
 
435
        (struct grub_env_sorted_var): New struct.
 
436
        (grub_env_context): Renamed to ...
 
437
        (initial_context): ... this.
 
438
        (grub_env_var_context): Renamed to ...
 
439
        (current_context): ... this.
 
440
        (grub_env_find): Look only at CURRENT_CONTEXT.
 
441
        (grub_env_context_open): Rewritten to copy exported variables from
 
442
        previous context.
 
443
        (grub_env_context_close): Rewritten according to the new
 
444
        scheme. Also, add an assertion to prevent the initial context from
 
445
        removed.
 
446
        (grub_env_insert): Removed the code for the sorted list.
 
447
        (grub_env_remove): Likewise.
 
448
        (grub_env_export): Simply mark the variable with
 
449
        GRUB_ENV_VAR_GLOBAL.
 
450
        (grub_env_set): A cosmetic change for naming consistency.
 
451
        (grub_env_get): Likewise.
 
452
        (grub_env_unset): Likewise.
 
453
        (grub_env_iterate): Rewritten to sort variables within this
 
454
        function.
 
455
        (grub_register_variable_hook): Fixed for naming consistency. Call
 
456
        grub_env_find again, only if NAME is not found at the first time.
 
457
        (mangle_data_slot_name): New function.
 
458
        (grub_env_set_data_slot): Likewise.
 
459
        (grub_env_get_data_slot): Likewise.
 
460
        (grub_env_unset_data_slot): Likewise.
 
461
 
 
462
        * include/grub/env.h (grub_env_var_type): New enum.
 
463
        (GRUB_ENV_VAR_LOCAL): New constant.
 
464
        (GRUB_ENV_VAR_GLOBAL): Likewise.
 
465
        (GRUB_ENV_VAR_DATA): Likewise.
 
466
        (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
 
467
        "type".
 
468
        (grub_env_set): Replace VAR with NAME for consistency.
 
469
        (grub_register_variable_hook): Likewise.
 
470
        (grub_env_export): Specify the name of the argument.
 
471
        (grub_env_set_data_slot): New prototype.
 
472
        (grub_env_get_data_slot): Likewise.
 
473
        (grub_env_unset_data_slot): Likewise.
 
474
 
 
475
2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
 
476
 
 
477
        Extend the loader so that GRUB can accept a loader which comes
 
478
        back to GRUB when a loaded image exits. Also, this change adds
 
479
        support for a chainloader on EFI.
 
480
        
 
481
        * term/efi/console.c: Include grub/misc.h.
 
482
        (grub_console_checkkey): Display a scan code on the top for
 
483
        debugging. This will be removed once the EFI port gets stable.
 
484
        Correct the scan code mapping.
 
485
 
 
486
        * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
 
487
        allocate memory from larger regions, in order to reduce the number
 
488
        of allocated regions. Otherwise, the MacOSX loader panics.
 
489
        (filter_memory_map): Avoid less than 1MB for compatibility with
 
490
        other loaders.
 
491
        (add_memory_regions): Allocate from the tail of a region, if
 
492
        possible, to avoid allocating a region near to 1MB, for the MacOSX
 
493
        loader.
 
494
 
 
495
        * kern/efi/init.c (grub_efi_set_prefix): Specify
 
496
        GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
 
497
 
 
498
        * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
 
499
        argument IMAGE_HANDLE and specify it to get a loaded image.
 
500
        (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
 
501
        grub_efi_get_loaded_image.
 
502
        (grub_efi_get_filename): Divide the legnth by the size of
 
503
        grub_efi_char16_t.
 
504
        (grub_efi_get_device_path): New function.
 
505
        (grub_efi_print_device_path): Print End Device Path nodes. Divide
 
506
        the length by the size of grub_efi_char16_t for a file path device
 
507
        path node.
 
508
 
 
509
        * kern/loader.c (grub_loader_noreturn): New variable.
 
510
        (grub_loader_set): Accept a new argument NORETURN. Set
 
511
        GRUB_LOADER_NORETURN to NORETURN.
 
512
        All callers changed.
 
513
        (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
 
514
        grub_machine_fini.
 
515
 
 
516
        * include/grub/efi/efi.h (grub_efi_get_device_path): New
 
517
        prototype.
 
518
        (grub_efi_get_loaded_image): Take an argument to specify an image
 
519
        handle.
 
520
 
 
521
        * include/grub/loader.h (grub_loader_set): Added one more argument
 
522
        NORETURN.
 
523
 
 
524
        * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
 
525
        instead of grub_efi_open_protocol.
 
526
        (grub_efidisk_get_device_name): Likewise.
 
527
        (grub_efidisk_close): Print a newline.
 
528
        (grub_efidisk_get_device_handle): Fixed to use
 
529
        GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
 
530
        GRUB_EFI_DEVICE_PATH_TYPE.
 
531
 
 
532
        * disk/efi/efidisk.c (device_path_guid): Moved to ...
 
533
        * kern/efi/efi.c (device_path_guid): ... here.
 
534
 
 
535
        * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
 
536
        chain.mod.
 
537
        (kernel_mod_HEADERS): Added efi/disk.h.
 
538
        (_chain_mod_SOURCES): New variable.
 
539
        (_chain_mod_CFLAGS): Likewise.
 
540
        (_chain_mod_LDFLAGS): Likewise.
 
541
        (chain_mod_SOURCES): Likewise.
 
542
        (chain_mod_CFLAGS): Likewise.
 
543
        (chain_mod_LDFLAGS): Likewise.
 
544
 
 
545
        * DISTLIST: Added include/grub/efi/chainloader.h,
 
546
        loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
 
547
 
 
548
        * include/grub/efi/chainloader.h: New file.
 
549
        * loader/efi/chainloader.c: Likewise.
 
550
        * loader/efi/chainloader_normal.c: Likewise.
 
551
 
 
552
2006-04-30  Marco Gerards  <marco@gnu.org>
 
553
 
 
554
        * commands/configfile.c (grub_cmd_source): New function.
 
555
        (GRUB_MOD_INIT): Register the commands `source' and `.'.
 
556
        (GRUB_MOD_FINI): De-register the commands `source' and `.'.
 
557
 
 
558
2006-04-30  Marco Gerards  <marco@gnu.org>
 
559
 
 
560
        * normal/execute.c (grub_script_execute_cmd): Change the return
 
561
        type to `grub_err_t'.  Correctly return the error.
 
562
        (grub_script_execute_cmdline): In case a command line is not a
 
563
        command or a function, try to interpret it as an assignment.
 
564
 
 
565
2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
 
566
 
 
567
        * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
 
568
        (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
 
569
        skip a node whose name is obviously invalid as UTF-16,
 
570
        i.e. contains a NUL character. Stop the iteration when the last
 
571
        directory entry is found. Instead of using the return value of
 
572
        grub_hfsplus_btree_iterate_node, store the value in RET and use
 
573
        it, because the iterator can be stopped by the last directory
 
574
        entry.
 
575
 
 
576
2006-04-30  Marco Gerards  <marco@gnu.org>
 
577
 
 
578
        * include/grub/env.h (grub_env_export): New prototype.  Reported
 
579
        by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
 
580
 
 
581
2006-04-30  Marco Gerards  <marco@gnu.org>
 
582
 
 
583
        * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
 
584
        size of the extents in a catalog file record.
 
585
 
 
586
2006-04-29  Marco Gerards  <marco@gnu.org>
 
587
 
 
588
        * commands/configfile.c (grub_cmd_configfile): Execute the
 
589
        configfile within its own context.
 
590
 
 
591
        * include/grub/env.h (grub_env_context_open): New prototype.
 
592
        (grub_env_context_close): Likewise.
 
593
 
 
594
        * kern/env.c (grub_env): Removed.
 
595
        (grub_env_sorted): Likewise.
 
596
        (grub_env_context): New variable.
 
597
        (grub_env_var_context): Likewise.
 
598
        (grub_env_find): Search both the active context and the global
 
599
        context.
 
600
        (grub_env_context_open): New function.
 
601
        (grub_env_context_close): Likewise.
 
602
        (grub_env_insert): Likewise.
 
603
        (grub_env_remove): Likewise.
 
604
        (grub_env_export): Likewise.
 
605
        (grub_env_set): Changed to use helper functions to avoid code
 
606
        duplication.
 
607
        (grub_env_iterate): Rewritten so both the current context and the
 
608
        global context are being used.
 
609
 
 
610
        * normal/command.c (export_command): New function.
 
611
        (grub_command_init): Register the `export' function.
 
612
 
 
613
2006-04-26  Yoshinori K. Okuji  <okuji@enbug.org>
 
614
 
 
615
        * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
 
616
        explicitly to suppress gcc's warnings.
 
617
        * fs/fat.c (grub_fat_find_dir): Likewise.
 
618
        (grub_fat_label): Likewise.
 
619
        * fs/xfs.c (grub_xfs_read_inode): Likewise.
 
620
        (grub_xfs_mount): Likewise.
 
621
        (grub_xfs_label): Likewise.
 
622
        * fs/affs.c (grub_affs_mount): Likewise.
 
623
        (grub_affs_label): Likewise.
 
624
        (grub_affs_iterate_dir): Likewise.
 
625
        * fs/sfs.c (grub_sfs_mount): Likewise.
 
626
        (grub_sfs_iterate_dir): Likewise.
 
627
        * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
 
628
        * fs/hfs.c (grub_hfs_mount): Likewise.
 
629
        (grub_hfs_cmp_catkeys): Likewise.
 
630
        (grub_hfs_find_dir): Likewise.
 
631
        (grub_hfs_dir): Likewise.
 
632
        (grub_hfs_label): Likewise.
 
633
        * fs/jfs.c (grub_jfs_mount): Likewise.
 
634
        (grub_jfs_opendir): Likewise.
 
635
        (grub_jfs_getent): Likewise.
 
636
        (grub_jfs_lookup_symlink): Likewise.
 
637
        (grub_jfs_label): Likewise.
 
638
        * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
 
639
        (grub_hfsplus_iterate_dir): Likewise.
 
640
        (grub_hfsplus_btree_iterate_node): Made static.
 
641
 
 
642
        * util/grub-emu.c (prefix): New variable.
 
643
        (grub_machine_set_prefix): New function.
 
644
        (main): Do not set the environment variable "prefix" here. Only
 
645
        set PREFIX, which is used later by grub_machine_set_prefix.
 
646
 
 
647
        * include/grub/video.h: Do not include grub/symbol.h.
 
648
        (grub_video_register): Not exported. This symbol is not defined in
 
649
        the kernel.
 
650
        (grub_video_unregister): Likewise.
 
651
        (grub_video_iterate): Likewise.
 
652
        (grub_video_setup): Likewise.
 
653
        (grub_video_restore): Likewise.
 
654
        (grub_video_get_info): Likewise.
 
655
        (grub_video_get_blit_format): Likewise.
 
656
        (grub_video_set_palette): Likewise.
 
657
        (grub_video_get_palette): Likewise.
 
658
        (grub_video_set_viewport): Likewise.
 
659
        (grub_video_get_viewport): Likewise.
 
660
        (grub_video_map_color): Likewise.
 
661
        (grub_video_map_rgb): Likewise.
 
662
        (grub_video_map_rgba): Likewise.
 
663
        (grub_video_fill_rect): Likewise.
 
664
        (grub_video_blit_glyph): Likewise.
 
665
        (grub_video_blit_bitmap): Likewise.
 
666
        (grub_video_blit_render_target): Likewise.
 
667
        (grub_video_scroll): Likewise.
 
668
        (grub_video_swap_buffers): Likewise.
 
669
        (grub_video_create_render_target): Likewise.
 
670
        (grub_video_delete_render_target): Likewise.
 
671
        (grub_video_set_active_render_target): Likewise.
 
672
 
 
673
        * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
 
674
        Undefined.
 
675
        [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
 
676
 
 
677
        * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
 
678
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
 
679
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
 
680
        instead of $(srcdir)/genkernsyms.sh.
 
681
 
 
682
        * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
 
683
        config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
 
684
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
 
685
        instead of $(srcdir)/genkernsyms.sh.
 
686
 
 
687
        * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
 
688
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
 
689
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
 
690
        instead of $(srcdir)/genkernsyms.sh.
 
691
 
 
692
        * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
 
693
        gensymlist.sh instead of $(srcdir)/gensymlist.sh.
 
694
        (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
 
695
        instead of $(srcdir)/genkernsyms.sh.
 
696
 
 
697
        * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
 
698
        genkernsyms.sh.
 
699
 
 
700
        * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
 
701
        genkernsyms.sh.
 
702
        (gensymlist.sh): New target.
 
703
        (genkernsyms.sh): Likewise.
 
704
 
 
705
        * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
 
706
        genkernsyms.sh.in and gensymlist.sh.in.
 
707
 
 
708
        * genkernsyms.sh: Removed.
 
709
        * gensymlist.sh: Likewise.
 
710
        
 
711
        * genkernsyms.sh.in: New file.
 
712
        * gensymlist.sh.in: Likewise.
 
713
 
 
714
2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>
 
715
 
 
716
        * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
 
717
        clobber "prefix", since we may have already set it manually.
 
718
 
 
719
2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>
 
720
 
 
721
        * kern/misc.c (abort): New alias for grub_abort.
 
722
 
 
723
2006-04-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
724
 
 
725
        A new machine-specific function "grub_machine_set_prefix" is
 
726
        defined. This is called after loading modules, so that a prefix
 
727
        initialization can use modules. Also, this change adds an
 
728
        intensive debugging feature for the memory manager via the
 
729
        configure option "--enable-mm-debug".
 
730
        
 
731
        * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
 
732
        PART.LEN.
 
733
 
 
734
        * kern/sparc64/ieee1275/init.c (abort): Removed.
 
735
        (grub_stop): Likewise.
 
736
        (grub_exit): New function.
 
737
        (grub_set_prefix): Renamed to ...
 
738
        (grub_machine_set_prefix): ... this.
 
739
        (grub_machine_init): Do not call grub_set_prefix.
 
740
 
 
741
        * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
 
742
        (grub_machine_set_prefix): ... this.
 
743
        (grub_machine_init): Do not call grub_set_prefix.
 
744
 
 
745
        * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
 
746
        (grub_machine_init): Do not set the prefix here.
 
747
 
 
748
        * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
 
749
 
 
750
        * kern/efi/init.c: Include grub/mm.h.
 
751
        (grub_efi_set_prefix): New function.
 
752
 
 
753
        * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
 
754
        (grub_efi_get_filename): New function.
 
755
        (grub_print_device_path): Renamed to ...
 
756
        (grub_efi_print_device_path): ... this.
 
757
 
 
758
        * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
 
759
        [MM_DEBUG] (grub_realloc): Likewise.
 
760
        [MM_DEBUG] (grub_free): Likewise.
 
761
        [MM_DEBUG] (grub_memalign): Likewise.
 
762
        [MM_DEBUG] (grub_mm_debug): New variable.
 
763
        [MM_DEBUG] (grub_debug_malloc): New function.
 
764
        [MM_DEBUG] (grub_debug_free): New function.
 
765
        [MM_DEBUG] (grub_debug_realloc): New function.
 
766
        [MM_DEBUG] (grub_debug_memalign): New function.
 
767
 
 
768
        * kern/misc.c (grub_abort): Print a newline to distinguish
 
769
        the message.
 
770
 
 
771
        * kern/main.c (grub_main): Call grub_machine_set_prefix and
 
772
        grub_set_root_dev after loading modules. This is necessary when
 
773
        setting a prefix depends on modules.
 
774
 
 
775
        * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
 
776
        (grub_efi_print_device_path): ... this.
 
777
        (grub_efi_get_filename): New prototype.
 
778
        (grub_efi_set_prefix): Likewise.
 
779
 
 
780
        * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
 
781
        and grub/disk.h.
 
782
        (grub_efidisk_get_device_handle): New prototype.
 
783
        (grub_efidisk_get_device_name): Likewise.
 
784
 
 
785
        * include/grub/mm.h: Include config.h.
 
786
        (MM_DEBUG): Removed.
 
787
        [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
 
788
        [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
 
789
        [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
 
790
        [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
 
791
        [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
 
792
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
 
793
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
 
794
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
 
795
        [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
 
796
 
 
797
        * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
 
798
 
 
799
        * disk/efi/efidisk.c: Include grub/partition.h.
 
800
        (iterate_child_devices): New function.
 
801
        (add_device): First, compare only last device path nodes, so that
 
802
        devices are sorted by the types.
 
803
        (grub_efidisk_get_device_handle): New function.
 
804
        (grub_efidisk_get_device_name): Likewise.
 
805
 
 
806
        * configure.ac (--enable-mm-debug): New option to enable the
 
807
        memory manager debugging feature. This makes the binary much
 
808
        bigger, so is disabled by default.
 
809
 
 
810
2006-04-23  Yoshinori K. Okuji  <okuji@enbug.org>
 
811
 
 
812
        Use grub_abort instead of grub_stop, and grub_exit must be
 
813
        define in each architecture now. Also, this change adds support
 
814
        for EFI disks.
 
815
        
 
816
        * util/i386/pc/grub-probefs.c: Include grub/term.h.
 
817
        (grub_getkey): New function.
 
818
        (grub_term_get_current): Likewise.
 
819
 
 
820
        * util/i386/pc/grub-setup.c: Include grub/term.h.
 
821
        (grub_getkey): New function.
 
822
        (grub_term_get_current): Likewise.
 
823
 
 
824
        * util/misc.c (grub_stop): Renamed to ...
 
825
        (grub_exit): ... this.
 
826
 
 
827
        * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
 
828
        (grub_exit): ... this.
 
829
        (grub_machine_init): Use grub_abort instead of abort.
 
830
        (grub_stop): Removed.
 
831
 
 
832
        * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
 
833
        abort.
 
834
 
 
835
        * kern/i386/pc/startup.S (grub_exit): New function.
 
836
        (cold_reboot): New label.
 
837
 
 
838
        * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
 
839
        (grub_efi_init): Call grub_efidisk_init.
 
840
        (grub_efi_fini): Call grub_efidisk_fini.
 
841
 
 
842
        * kern/efi/efi.c: Include grub/mm.h.
 
843
        (grub_efi_console_control_guid): Renamed to ...
 
844
        (console_control_guid): ... this.
 
845
        (grub_efi_loaded_image_guid): Renamed to ...
 
846
        (loaded_image_guid): ... this.
 
847
        (grub_efi_locate_handle): New function.
 
848
        (grub_efi_open_protocol): Likewise.
 
849
        (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
 
850
        GRUB_EFI_CONSOLE_CONTROL_GUID.
 
851
        (grub_efi_exit): Removed.
 
852
        (grub_stop): Likewise.
 
853
        (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
 
854
        (grub_exit): New function.
 
855
        (grub_print_device_path): Likewise.
 
856
 
 
857
        * kern/rescue.c (grub_rescue_cmd_exit): New function.
 
858
        (grub_enter_rescue_mode): Register "exit".
 
859
 
 
860
        * kern/misc.c (grub_real_dprintf): A cosmetic change.
 
861
        (grub_abort): New function.
 
862
 
 
863
        * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
 
864
 
 
865
        * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
 
866
 
 
867
        * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
 
868
 
 
869
        * include/grub/efi/efi.h (grub_efi_exit): Removed.
 
870
        (grub_print_device_path): New prototype.
 
871
        (grub_efi_locate_handle): Likewise.
 
872
        (grub_efi_open_protocol): Likewise.
 
873
 
 
874
        * include/grub/efi/disk.h (grub_efidisk_fini): New file.
 
875
        * disk/efi/efidisk.c: Likewise.
 
876
 
 
877
        * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
 
878
 
 
879
        * include/grub/efi/console_control.h
 
880
        (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
 
881
 
 
882
        * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
 
883
        last 8 bytes as an array.
 
884
        (GRUB_EFI_DISK_IO_GUID): New macro.
 
885
        (GRUB_EFI_BLOCK_IO_GUID): Likewise.
 
886
        (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
 
887
        (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
 
888
        grub_uint8_t.
 
889
        (struct grub_efi_guid): Use an array to specify the last 8 bytes.
 
890
        (struct grub_efi_device_path): Rename the member "sub_type" to
 
891
        "subtype".
 
892
        (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
 
893
        (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
 
894
        (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
 
895
        (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
 
896
        (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
 
897
        (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
 
898
        (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
 
899
        (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
 
900
        (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
 
901
        (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
 
902
        (struct grub_efi_pci_device_path): New structure.
 
903
        (grub_efi_pci_device_path_t): New type.
 
904
        (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
 
905
        (struct grub_efi_pccard_device_path): New structure.
 
906
        (grub_efi_pccard_device_path_t): New type.
 
907
        (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
 
908
        (struct grub_efi_memory_mapped_device_path): New structure.
 
909
        (grub_efi_memory_mapped_device_path_t): New type.
 
910
        (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
 
911
        (struct grub_efi_vendor_device_path): New structure.
 
912
        (grub_efi_vendor_device_path_t): New type.
 
913
        (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
 
914
        (struct grub_efi_controller_device_path): New structure.
 
915
        (grub_efi_controller_device_path_t): New type.
 
916
        (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
 
917
        (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
 
918
        (struct grub_efi_acpi_device_path): New structure.
 
919
        (grub_efi_acpi_device_path_t): New type.
 
920
        (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
 
921
        (struct grub_efi_expanded_acpi_device_path): New structure.
 
922
        (grub_efi_expanded_acpi_device_path_t): New type.
 
923
        (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
 
924
        (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
 
925
        (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
 
926
        (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
 
927
        (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
 
928
        (struct grub_efi_atapi_device_path): New structure.
 
929
        (grub_efi_atapi_device_path_t): New type.
 
930
        (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
 
931
        (struct grub_efi_fibre_channel_device_path): New structure.
 
932
        (grub_efi_fibre_channel_device_path_t): New type.
 
933
        (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
 
934
        (struct grub_efi_1394_device_path): New structure.
 
935
        (grub_efi_1394_device_path_t): New type.
 
936
        (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
 
937
        (struct grub_efi_usb_device_path): New structure.
 
938
        (grub_efi_usb_device_path_t): New type.
 
939
        (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
 
940
        (struct grub_efi_usb_class_device_path): New structure.
 
941
        (grub_efi_usb_class_device_path_t): New type.
 
942
        (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
 
943
        (struct grub_efi_i2o_device_path): New structure.
 
944
        (grub_efi_i2o_device_path_t): New type.
 
945
        (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
 
946
        (struct grub_efi_mac_address_device_path): New structure.
 
947
        (grub_efi_mac_address_device_path_t): New type.
 
948
        (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
 
949
        (struct grub_efi_ipv4_device_path): New structure.
 
950
        (grub_efi_ipv4_device_path_t): New type.
 
951
        (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
 
952
        (struct grub_efi_ipv6_device_path): New structure.
 
953
        (grub_efi_ipv6_device_path_t): New type.
 
954
        (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
 
955
        (struct grub_efi_infiniband_device_path): New structure.
 
956
        (grub_efi_infiniband_device_path_t): New type.
 
957
        (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
 
958
        (struct grub_efi_uart_device_path): New structure.
 
959
        (grub_efi_uart_device_path_t): New type.
 
960
        (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
 
961
        (struct grub_efi_vendor_messaging_device_path): New structure.
 
962
        (grub_efi_vendor_messaging_device_path_t): New type.
 
963
        (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
 
964
        (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
 
965
        (struct grub_efi_hard_drive_device_path): New structure.
 
966
        (grub_efi_hard_drive_device_path_t): New type.
 
967
        (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
 
968
        (struct grub_efi_cdrom_device_path): New structure.
 
969
        (grub_efi_cdrom_device_path_t): New type.
 
970
        (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
 
971
        (struct grub_efi_vendor_media_device_path): New structure.
 
972
        (grub_efi_vendor_media_device_path_t): New type.
 
973
        (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
 
974
        (struct grub_efi_file_path_device_path): New structure.
 
975
        (grub_efi_file_path_device_path_t): New type.
 
976
        (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
 
977
        (struct grub_efi_protocol_device_path): New structure.
 
978
        (grub_efi_protocol_device_path_t): New type.
 
979
        (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
 
980
        (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
 
981
        (struct grub_efi_bios_device_path): New structure.
 
982
        (grub_efi_bios_device_path_t): New type.
 
983
        (struct grub_efi_disk_io): New structure.
 
984
        (grub_efi_disk_io_t): New type.
 
985
        (struct grub_efi_block_io_media): New structure.
 
986
        (grub_efi_block_io_media_t): New type.
 
987
        (struct grub_efi_block_io): New structure.
 
988
        (grub_efi_block_io_t): New type.
 
989
 
 
990
        * include/grub/misc.h (grub_stop): Removed.
 
991
        (grub_exit): New prototype.
 
992
        (grub_abort): Likewise.
 
993
 
 
994
        * include/grub/disk.h (enum grub_disk_dev_id): Added
 
995
        GRUB_DISK_DEVICE_EFIDISK_ID.
 
996
 
 
997
        * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
 
998
        disk/efi/efidisk.c.
 
999
        (kernel_syms.lst): Remove the target if an error occurs.
 
1000
 
 
1001
2006-04-22  Yoshinori K. Okuji  <okuji@enbug.org>
 
1002
 
 
1003
        * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
 
1004
        as it was simply too buggy.
 
1005
 
 
1006
2006-04-21  Yoshinori K. Okuji  <okuji@enbug.org>
 
1007
 
 
1008
        * kern/misc.c (grub_lltoa): New function.
 
1009
        (grub_vsprintf): Added support for the long long suffix,
 
1010
        i.e. "ll".
 
1011
 
 
1012
2006-04-20  Hollis Blanchard  <hollis@penguinppc.org>
 
1013
 
 
1014
        * Makefile.in (LDFLAGS): Add variable.
 
1015
        (LD): Remove variable.
 
1016
        * configure.ac: Add -m32 to LDFLAGS.
 
1017
        * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
 
1018
        * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
 
1019
        (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
 
1020
        (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
 
1021
        suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
 
1022
        variables.
 
1023
        * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
 
1024
        * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
 
1025
        * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
 
1026
 
 
1027
2006-04-20  Vesa Jaaskelainen  <chaac@nic.fi>
 
1028
 
 
1029
        * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
 
1030
        length for unknown glyph.
 
1031
 
 
1032
2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
1033
 
 
1034
        Add support for pre-loaded modules into the EFI port.
 
1035
        
 
1036
        * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
 
1037
        completely. Accept one more argument DIR. The caller has changed.
 
1038
 
 
1039
        * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
 
1040
 
 
1041
        * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
 
1042
        (grub_efi_loaded_image_guid): New variable.
 
1043
        (grub_efi_get_loaded_image): New function.
 
1044
        (grub_arch_modules_addr): Likewise.
 
1045
 
 
1046
        * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
 
1047
        prototype.
 
1048
 
 
1049
        * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
 
1050
        (struct grub_efi_loaded_image): New structure.
 
1051
        (grub_efi_loaded_image_t): New type.
 
1052
 
 
1053
2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
1054
        
 
1055
        * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
 
1056
        size with GRUB_OS_AREA_SIZE as grub_size_t instead of
 
1057
        grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
 
1058
 
 
1059
2006-04-19  Roger Leigh  <rleigh@whinlatter.ukfsn.org>
 
1060
 
 
1061
        * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
 
1062
 
 
1063
2006-04-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
1064
 
 
1065
        * DISTLIST: Added include/grub/efi/console.h,
 
1066
        include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
 
1067
        kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
 
1068
 
 
1069
        * include/grub/efi/console.h: New file.
 
1070
        * include/grub/efi/time.h: Likewise.
 
1071
        * include/grub/i386/efi/kernel.h: Likewise.
 
1072
        * kern/efi/init.c: Likewise.
 
1073
        * kern/efi/mm.c: Likewise.
 
1074
        * term/efi/console.c: Likewise.
 
1075
        
 
1076
        * kern/i386/efi/init.c: Do not include grub/machine/time.h.
 
1077
        (grub_stop): Removed.
 
1078
        (grub_get_rtc): Likewise.
 
1079
        (grub_machine_init): Simply call grub_efi_init.
 
1080
        (grub_machine_fini): Call grub_efi_fini.
 
1081
 
 
1082
        * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
 
1083
        (grub_efi_output_string): Removed.
 
1084
        (grub_efi_stall): New function.
 
1085
        (grub_stop): Likewise.
 
1086
        (grub_get_rtc): Likewise.
 
1087
 
 
1088
        * include/grub/efi/efi.h (grub_efi_output_string): Removed.
 
1089
        (grub_efi_stall): New prototype.
 
1090
        (grub_efi_allocate_pages): Likewise.
 
1091
        (grub_efi_free_pages): Likewise.
 
1092
        (grub_efi_get_memory_map): Likewise.
 
1093
        (grub_efi_mm_init): Likewise.
 
1094
        (grub_efi_mm_fini): Likewise.
 
1095
        (grub_efi_init): Likewise.
 
1096
        (grub_efi_fini): Likewise.
 
1097
 
 
1098
        * include/grub/i386/efi/time.h: Do not include
 
1099
        grub/symbol.h. Include grub/efi/time.h.
 
1100
        (GRUB_TICKS_PER_SECOND): Removed.
 
1101
        (grub_get_rtc): Likewise.
 
1102
 
 
1103
        * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
 
1104
        Added padding. The EFI spec is buggy.
 
1105
        (GRUB_EFI_BLACK): New macro.
 
1106
        (GRUB_EFI_BLUE): Likewise.
 
1107
        (GRUB_EFI_GREEN): Likewise.
 
1108
        (GRUB_EFI_CYAN): Likewise.
 
1109
        (GRUB_EFI_RED): Likewise.
 
1110
        (GRUB_EFI_MAGENTA): Likewise.
 
1111
        (GRUB_EFI_BROWN): Likewise.
 
1112
        (GRUB_EFI_LIGHTGRAY): Likewise.
 
1113
        (GRUB_EFI_BRIGHT): Likewise.
 
1114
        (GRUB_EFI_DARKGRAY): Likewise.
 
1115
        (GRUB_EFI_LIGHTBLUE): Likewise.
 
1116
        (GRUB_EFI_LIGHTGREEN): Likewise.
 
1117
        (GRUB_EFI_LIGHTCYAN): Likewise.
 
1118
        (GRUB_EFI_LIGHTRED): Likewise.
 
1119
        (GRUB_EFI_LIGHTMAGENTA): Likewise.
 
1120
        (GRUB_EFI_YELLOW): Likewise.
 
1121
        (GRUB_EFI_WHITE): Likewise.
 
1122
        (GRUB_EFI_BACKGROUND_BLACK): Likewise.
 
1123
        (GRUB_EFI_BACKGROUND_BLUE): Likewise.
 
1124
        (GRUB_EFI_BACKGROUND_GREEN): Likewise.
 
1125
        (GRUB_EFI_BACKGROUND_CYAN): Likewise.
 
1126
        (GRUB_EFI_BACKGROUND_RED): Likewise.
 
1127
        (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
 
1128
        (GRUB_EFI_BACKGROUND_BROWN): Likewise.
 
1129
        (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
 
1130
        (GRUB_EFI_TEXT_ATTR): Likewise.
 
1131
 
 
1132
        * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
 
1133
        kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
 
1134
        (kernel_mod_HEADERS): Added efi/time.h.
 
1135
 
 
1136
2006-04-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
1137
 
 
1138
        * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
 
1139
        include/grub/efi/api.h, include/grub/efi/console_control.h,
 
1140
        include/grub/efi/efi.h, include/grub/efi/pe32.h,
 
1141
        include/grub/i386/efi/time.h, kern/efi/efi.c,
 
1142
        kern/i386/efi/init.c, kern/i386/efi/startup.S,
 
1143
        and util/i386/efi/grub-mkimage.c.
 
1144
 
 
1145
        * Makefile.in (RMKFILES): Added i386-efi.rmk.
 
1146
 
 
1147
        * genmk.rb (PModule#rule): Do not export symbols if
 
1148
        #{prefix}_EXPORTS is set to "no".
 
1149
 
 
1150
        * conf/i386-efi.mk: New file.
 
1151
        * conf/i386-efi.rmk: Likewise.
 
1152
        * include/grub/efi/api.h: Likewise.
 
1153
        * include/grub/efi/console_control.h: Likewise.
 
1154
        * include/grub/efi/efi.h: Likewise.
 
1155
        * include/grub/efi/pe32.h: Likewise.
 
1156
        * include/grub/i386/efi/time.h: Likewise.
 
1157
        * kern/efi/efi.c: Likewise.
 
1158
        * kern/i386/efi/init.c: Likewise.
 
1159
        * kern/i386/efi/startup.S: Likewise.
 
1160
        * util/i386/efi/grub-mkimage.c: Likewise.
 
1161
 
 
1162
2006-04-17  Marco Gerards  <marco@gnu.org>
 
1163
 
 
1164
        * include/grub/script.h: Include <grub/parser.h> and
 
1165
        "grub_script.tab.h".
 
1166
        (struct grub_lexer_param): New struct.
 
1167
        (struct grub_parser_param): Likewise.
 
1168
        (grub_script_create_arglist): Pass the state in an argument.
 
1169
        (grub_script_add_arglist): Likewise.
 
1170
        (grub_script_create_cmdline): Likewise.
 
1171
        (grub_script_create_cmdblock): Likewise.
 
1172
        (grub_script_create_cmdif): Likewise.
 
1173
        (grub_script_create_cmdmenu): Likewise.
 
1174
        (grub_script_add_cmd): Likewise.
 
1175
        (grub_script_arg_add): Likewise.
 
1176
        (grub_script_lexer_ref): Likewise.
 
1177
        (grub_script_lexer_deref): Likewise.
 
1178
        (grub_script_lexer_record_start): Likewise.
 
1179
        (grub_script_lexer_record_stop): Likewise.
 
1180
        (grub_script_mem_record): Likewise.
 
1181
        (grub_script_mem_record_stop): Likewise.
 
1182
        (grub_script_malloc): Likewise.
 
1183
        (grub_script_yylex): Likewise.
 
1184
        (grub_script_yyparse): Likewise.
 
1185
        (grub_script_yyerror): Likewise.
 
1186
        (grub_script_yylex): Likewise.
 
1187
        (grub_script_lexer_init): Return the state.
 
1188
 
 
1189
        * normal/lexer.c (grub_script_lexer_state): Removed variable.
 
1190
        (grub_script_lexer_done): Likewise.
 
1191
        (grub_script_lexer_getline): Likewise.
 
1192
        (grub_script_lexer_refs): Likewise.
 
1193
        (script): Likewise.
 
1194
        (newscript): Likewise.
 
1195
        (record): Likewise.
 
1196
        (recording): Likewise.
 
1197
        (recordpos): Likewise.
 
1198
        (recordlen): Likewise.
 
1199
        (grub_script_lexer_init): Return the state instead of setting
 
1200
        global variables.
 
1201
        (grub_script_lexer_ref): Use the newly added argument for state
 
1202
        instead of globals.
 
1203
        (grub_script_lexer_deref): Likewise.
 
1204
        (grub_script_lexer_record_start): Likewise.
 
1205
        (grub_script_lexer_record_stop): Likewise.
 
1206
        (recordchar): Likewise.
 
1207
        (nextchar): Likewise.
 
1208
        (grub_script_yylex2): Likewise.
 
1209
        (grub_script_yylex): Likewise.
 
1210
        (grub_script_yyerror): Likewise.
 
1211
 
 
1212
        * normal/parser.y (func_mem): Removed variable.
 
1213
        (menu_entry): Likewise.
 
1214
        (err): Likewise.
 
1215
        (%lex-param): New parser option.
 
1216
        (%parse-param): Likewise.
 
1217
        (script): Always return the AST.
 
1218
        (argument): Pass the state around.
 
1219
        (arguments): Likewise.
 
1220
        (grubcmd): Likewise.
 
1221
        (commands): Likewise.
 
1222
        (function): Likewise.
 
1223
        (menuentry): Likewise.
 
1224
        (if_statement): Likewise.
 
1225
        (if): Likewise.
 
1226
 
 
1227
        * normal/script.c (grub_script_memused): Removed variable.
 
1228
        (grub_script_parsed): Likewise.
 
1229
        (grub_script_malloc): Added a state argument.  Use that instead of
 
1230
        global variables.
 
1231
        (grub_script_mem_record): Likewise.
 
1232
        (grub_script_mem_record_stop): Likewise.
 
1233
        (grub_script_arg_add): Likewise.
 
1234
        (grub_script_add_arglist): Likewise.
 
1235
        (grub_script_create_cmdline): Likewise.
 
1236
        (grub_script_create_cmdif): Likewise.
 
1237
        (grub_script_create_cmdmenu): Likewise.
 
1238
        (grub_script_add_cmd): Likewise.
 
1239
        (grub_script_parse): Setup the state before calling the parser.
 
1240
        
 
1241
2006-04-16  Marco Gerards  <marco@gnu.org>
 
1242
 
 
1243
        * normal/command.c (grub_command_init): Remove the title command.
 
1244
 
 
1245
        * normal/lexer.c (grub_script_yylex): Renamed from this...
 
1246
        (grub_script_yylex2): ... to this.
 
1247
        (grub_script_yylex): New function.  Temporary
 
1248
        introduced to filter some tokens.
 
1249
        (grub_script_yyerror): Print a newline.
 
1250
 
 
1251
        * normal/main.c (read_config_file): Output information about the
 
1252
        lines that contain errors.  Wait for a key after all lines have
 
1253
        been processed.  Don't return an empty menu.
 
1254
 
 
1255
        * normal/parser.y (func_mem): Don't initialize.
 
1256
        (menu_entry): Likewise.
 
1257
        (err): New variable.
 
1258
        (script): Don't return anything when an error was encountered.
 
1259
        (ws, returns): Removed rules.
 
1260
        (argument): Disabled concatenated variable support.
 
1261
        (arguments): Remove explicit separators.
 
1262
        (grubcmd): Likewise.
 
1263
        (function): Likewise.
 
1264
        (menuentry): Likewise.
 
1265
        (if): Likewise.
 
1266
        (commands): Likewise.  Add error handling.
 
1267
 
 
1268
        * normal/script.c (grub_script_create_cmdline): If
 
1269
        `grub_script_parsed' is 0, assume the parser encountered an error.
 
1270
 
 
1271
2006-04-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
1272
 
 
1273
        * configure.ac: Add support for EFI. Fix the typo
 
1274
        BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
 
1275
 
 
1276
2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>
 
1277
 
 
1278
        * util/unifont2pff.rb: Removed unnecessary byte ordering.  Now
 
1279
        foreign multibyte characters should be shown correctly.
 
1280
 
 
1281
2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>
 
1282
 
 
1283
        * normal/main.c (grub_normal_menu_addentry): Fixed menu size
 
1284
        calculation.
 
1285
        (read_config_file): Made it to close file before returning.
 
1286
 
 
1287
2006-03-31  Vesa Jaaskelainen  <chaac@nic.fi>
 
1288
 
 
1289
        * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
 
1290
        include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
 
1291
        video/i386/pc/vbefill.c.
 
1292
 
 
1293
        * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
 
1294
        video/i386/pc/vbefill.c.
 
1295
 
 
1296
        * include/grub/video.h (grub_video_blit_format): New enum.
 
1297
        (grub_video_mode_info): Added new member blit_format.
 
1298
        (grub_video_get_blit_format): New function prototype.
 
1299
 
 
1300
        * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
 
1301
        function prototype.
 
1302
        (grub_video_vbe_map_rgb): Likewise.
 
1303
        (grub_video_vbe_unmap_color): Likewise.
 
1304
 
 
1305
        * include/grub/i386/pc/vbeblit.h: New file.
 
1306
 
 
1307
        * include/grub/i386/pc/vbefill.h: New file.
 
1308
 
 
1309
        * video/video.c (grub_video_get_blit_format): New function.
 
1310
        (grub_video_vbe_get_video_ptr): Re-declared as non-static.
 
1311
        (grub_video_vbe_map_rgb): Likewise.
 
1312
        (grub_video_vbe_unmap_color): Likewise.
 
1313
 
 
1314
        * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
 
1315
        optimized fills.
 
1316
        (grub_video_vbe_blit_render_target): Changed to use more optimized
 
1317
        blits.
 
1318
        (grub_video_vbe_setup): Added detection for optimized settings.
 
1319
        (grub_video_vbe_create_render_target): Likewise.
 
1320
 
 
1321
        * video/i386/pc/vbeblit.c: New file.
 
1322
 
 
1323
        * video/i386/pc/vbefill.c: New file.
 
1324
 
 
1325
2006-03-30  Vesa Jaaskelainen  <chaac@nic.fi>
 
1326
 
 
1327
        * font/manager.c (grub_font_get_glyph): Removed font fixup from
 
1328
        here...
 
1329
 
 
1330
        * util/unifont2pff.rb: ... and moved it to here.  Improved argument
 
1331
        parsing to support both hex and dec ranges.  If filename was missing
 
1332
        show usage information.
 
1333
 
 
1334
2006-03-14  Vesa Jaaskelainen  <chaac@nic.fi>
 
1335
 
 
1336
        * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
 
1337
        video/video.c, commands/videotest.c.  Removed term/i386/pc/vesafb.c.
 
1338
 
 
1339
        * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
 
1340
        gfxterm.mod, videotest.mod.  Removed vga.mod, vesafb.mod.
 
1341
        (video_mod_SOURCES): Added.
 
1342
        (video_mod_CFLAGS): Likewise.
 
1343
        (video_mod_LDFLAGS): Likewise.
 
1344
        (gfxterm_mod_SOURCES): Likewise.
 
1345
        (gfxterm_mod_CFLAGS): Likewise.
 
1346
        (gfxterm_mod_LDFLAGS): Likewise.
 
1347
        (videotest_mod_SOURCES): Likewise.
 
1348
        (videotest_mod_CFLAGS): Likewise.
 
1349
        (videotest_mod_LDFLAGS): Likewise.
 
1350
        (vesafb_mod_SOURCES): Removed.
 
1351
        (vesafb_mod_CFLAGS): Likewise.
 
1352
        (vesafb_mod_LDFLAGS): Likewise.
 
1353
        (vga_mod_SOURCES): Likewise.
 
1354
        (vga_mod_CFLAGS): Likewise.
 
1355
        (vga_mod_LDFLAGS): Likewise.
 
1356
 
 
1357
        * commands/videotest.c: New file.
 
1358
 
 
1359
        * font/manager.c (fill_with_default_glyph): Modified to use
 
1360
        grub_font_glyph.
 
1361
        (grub_font_get_glyph): Likewise.
 
1362
        (fontmanager): Renamed from this...
 
1363
        (font_manager): ... to this.
 
1364
 
 
1365
        * include/grub/font.h (grub_font_glyph): Added new structure.
 
1366
        (grub_font_get_glyph): Modified to use grub_font_glyph.
 
1367
 
 
1368
        * include/grub/misc.h (grub_abs): Added as inline function.
 
1369
 
 
1370
        * include/grub/video.h: New file.
 
1371
 
 
1372
        * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
 
1373
        (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
 
1374
        (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
 
1375
        (grub_vbe_get_controller_info): Renamed from this...
 
1376
        (grub_vbe_bios_get_controller_info): ... to this.
 
1377
        (grub_vbe_get_mode_info): Renamed from this...
 
1378
        (grub_vbe_bios_get_mode_info): ... to this.
 
1379
        (grub_vbe_set_mode): Renamed from this...
 
1380
        (grub_vbe_bios_set_mode): ... to this.
 
1381
        (grub_vbe_get_mode): Renamed from this...
 
1382
        (grub_vbe_bios_get_mode): ... to this.
 
1383
        (grub_vbe_set_memory_window): Renamed from this...
 
1384
        (grub_vbe_bios_set_memory_window): ... to this.
 
1385
        (grub_vbe_get_memory_window): Renamed from this...
 
1386
        (grub_vbe_bios_get_memory_window): ... to this.
 
1387
        (grub_vbe_set_scanline_length): Renamed from this...
 
1388
        (grub_vbe_set_scanline_length): ... to this.
 
1389
        (grub_vbe_get_scanline_length): Renamed from this...
 
1390
        (grub_vbe_bios_get_scanline_length): ... to this.
 
1391
        (grub_vbe_set_display_start): Renamed from this...
 
1392
        (grub_vbe_bios_set_display_start): ... to this.
 
1393
        (grub_vbe_get_display_start): Renamed from this...
 
1394
        (grub_vbe_bios_get_display_start): ... to this.
 
1395
        (grub_vbe_set_palette_data): Renamed from this...
 
1396
        (grub_vbe_bios_set_palette_data): ... to this.
 
1397
        (grub_vbe_set_pixel_rgb): Removed.
 
1398
        (grub_vbe_set_pixel_index): Likewise.
 
1399
 
 
1400
        * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
 
1401
        from this...
 
1402
        (grub_vbe_bios_get_controller_info): ... to this.
 
1403
        (grub_vbe_get_mode_info): Renamed from this...
 
1404
        (grub_vbe_bios_get_mode_info): ... to this.
 
1405
        (grub_vbe_set_mode): Renamed from this...
 
1406
        (grub_vbe_bios_set_mode): ... to this.
 
1407
        (grub_vbe_get_mode): Renamed from this...
 
1408
        (grub_vbe_bios_get_mode): ... to this.
 
1409
        (grub_vbe_set_memory_window): Renamed from this...
 
1410
        (grub_vbe_bios_set_memory_window): ... to this.
 
1411
        (grub_vbe_get_memory_window): Renamed from this...
 
1412
        (grub_vbe_bios_get_memory_window): ... to this.
 
1413
        (grub_vbe_set_scanline_length): Renamed from this...
 
1414
        (grub_vbe_set_scanline_length): ... to this.
 
1415
        (grub_vbe_get_scanline_length): Renamed from this...
 
1416
        (grub_vbe_bios_get_scanline_length): ... to this.
 
1417
        (grub_vbe_set_display_start): Renamed from this...
 
1418
        (grub_vbe_bios_set_display_start): ... to this.
 
1419
        (grub_vbe_get_display_start): Renamed from this...
 
1420
        (grub_vbe_bios_get_display_start): ... to this.
 
1421
        (grub_vbe_set_palette_data): Renamed from this...
 
1422
        (grub_vbe_bios_set_palette_data): ... to this.
 
1423
        (grub_vbe_bios_get_controller_info): Fixed problem with registers
 
1424
        getting corrupted after calling it.  Added more pushes and pops.
 
1425
        (grub_vbe_bios_set_mode): Likewise.
 
1426
        (grub_vbe_bios_get_mode): Likewise.
 
1427
        (grub_vbe_bios_get_memory_window): Likewise.
 
1428
        (grub_vbe_bios_set_scanline_length): Likewise.
 
1429
        (grub_vbe_bios_get_scanline_length): Likewise.
 
1430
        (grub_vbe_bios_get_display_start): Likewise.
 
1431
        (grub_vbe_bios_set_palette_data): Likewise.
 
1432
 
 
1433
        * normal/cmdline.c (cl_set_pos): Refresh the screen.
 
1434
        (cl_insert): Likewise.
 
1435
        (cl_delete): Likewise.
 
1436
 
 
1437
        * term/gfxterm.c: New file.
 
1438
 
 
1439
        * term/i386/pc/vesafb.c: Removed file.
 
1440
 
 
1441
        * video/video.c: New file.
 
1442
 
 
1443
        * video/i386/pc/vbe.c (real2pm): Added new function.
 
1444
        (grub_video_vbe_draw_pixel): Likewise.
 
1445
        (grub_video_vbe_get_video_ptr): Likewise.
 
1446
        (grub_video_vbe_get_pixel): Likewise
 
1447
        (grub_video_vbe_init): Likewise.
 
1448
        (grub_video_vbe_fini): Likewise.
 
1449
        (grub_video_vbe_setup): Likewise.
 
1450
        (grub_video_vbe_get_info): Likewise.
 
1451
        (grub_video_vbe_set_palette): Likewise.
 
1452
        (grub_video_vbe_get_palette): Likewise.
 
1453
        (grub_video_vbe_set_viewport): Likewise.
 
1454
        (grub_video_vbe_get_viewport): Likewise.
 
1455
        (grub_video_vbe_map_color): Likewise.
 
1456
        (grub_video_vbe_map_rgb): Likewise.
 
1457
        (grub_video_vbe_map_rgba): Likewise.
 
1458
        (grub_video_vbe_unmap_color): Likewise.
 
1459
        (grub_video_vbe_fill_rect): Likewise.
 
1460
        (grub_video_vbe_blit_glyph): Likewise.
 
1461
        (grub_video_vbe_blit_bitmap): Likewise.
 
1462
        (grub_video_vbe_blit_render_target): Likewise.
 
1463
        (grub_video_vbe_scroll): Likewise.
 
1464
        (grub_video_vbe_swap_buffers): Likewise.
 
1465
        (grub_video_vbe_create_render_target): Likewise.
 
1466
        (grub_video_vbe_delete_render_target): Likewise.
 
1467
        (grub_video_vbe_set_active_render_target): Likewise.
 
1468
        (grub_vbe_set_pixel_rgb): Remove function.
 
1469
        (grub_vbe_set_pixel_index): Likewise.
 
1470
        (index_color_mode): Remove static variable.
 
1471
        (active_mode): Likewise.
 
1472
        (framebuffer): Likewise.
 
1473
        (bytes_per_scan_line): Likewise.
 
1474
        (grub_video_vbe_adapter): Added new static variable.
 
1475
        (framebuffer): Likewise.
 
1476
        (render_target): Likewise.
 
1477
        (initial_mode): Likewise.
 
1478
        (mode_in_use): Likewise.
 
1479
        (mode_list): Likewise.
 
1480
 
 
1481
2006-03-10  Marco Gerards  <marco@gnu.org>
 
1482
 
 
1483
        * configure.ac (AC_INIT): Bumped to 1.93.
 
1484
 
 
1485
        * DISTLIST: Added `include/grub/hfs.h'.
 
1486
 
 
1487
2006-02-01  Yoshinori K. Okuji  <okuji@enbug.org>
 
1488
 
 
1489
        * boot/i386/pc/boot.S (general_error): Before looping, try INT
 
1490
        18H, which might help the BIOS falling back to next boot media.
 
1491
 
 
1492
2006-01-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
1493
 
 
1494
        * util/i386/pc/grub-install.in: Escape a backslash. Reported by
 
1495
        Poe Chen <poe.poechen@gmail.com>.
 
1496
 
 
1497
2006-01-17  Marco Gerards  <marco@gnu.org>
 
1498
 
 
1499
        * include/grub/normal.h: Include <grub/script.h>.
 
1500
        (grub_command_list): Removed struct.
 
1501
        (grub_command_list_t): Removed type.
 
1502
        (grub_menu_entry): Remove members `num' and `command_list'.  Add
 
1503
        members `commands' and `sourcecode'.
 
1504
        * include/grub/script.h: Add inclusion guards.
 
1505
        (grub_script_cmd_menuentry): New struct.
 
1506
        (grub_script_execute_menuentry): New prototype.
 
1507
        (grub_script_lexer_record_start): Likewise.
 
1508
        (grub_script_lexer_record_stop): Likewise.
 
1509
        * normal/execute.c (grub_script_execute_menuentry): New function.
 
1510
        * normal/lexer.c (record, recording, recordpos, recordlen): New
 
1511
        variables.
 
1512
        (grub_script_lexer_record_start): New function.
 
1513
        (grub_script_lexer_record_stop): Likewise.
 
1514
        (recordchar): Likewise.
 
1515
        (nextchar): Likewise.
 
1516
        (grub_script_yylex): Use `nextchar' to fetch new characters.  Use
 
1517
        2048 as the buffer size.  Add the tokens `menuentry' and `@'.
 
1518
        * normal/main.c: Include <grub/parser.h> and <grub/script.h>
 
1519
        (current_menu): New variable.
 
1520
        (free_menu): Mainly rewritten.
 
1521
        (grub_normal_menu_addentry): New function.
 
1522
        (read_config_file): Rewritten.
 
1523
        * normal/menu.c (run_menu_entry): Mainly rewritten.
 
1524
        * normal/menu_entry.c (make_screen): Rewritten te code to insert
 
1525
        the menu entry.
 
1526
        (run): Mainly rewritten.
 
1527
        * normal/parser.y (menu_entry): New variable.
 
1528
        (GRUB_PARSER_TOKEN_MENUENTRY): New token.
 
1529
        (menuentry): New rule.
 
1530
        (command): Add `menuentry'.
 
1531
        (if_statement): Allow additional returns before `fi'.
 
1532
        * normal/script.c (grub_script_create_cmdmenu): New function.
 
1533
 
 
1534
2006-01-03  Marco Gerards  <marco@gnu.org>
 
1535
 
 
1536
        * INSTALL: GNU Bison is required.
 
1537
        * configure.ac: Rewritten the test to detect Bison.
 
1538
        * Makefile.in (YACC): New variable.  Reported by Xun Sun
 
1539
        <xun.sun.cn@gmail.com>.
 
1540
 
 
1541
2006-01-03  Marco Gerards  <marco@gnu.org>
 
1542
 
 
1543
        * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
 
1544
        the HFS+ filesystem to filesystem blocks.
 
1545
        (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
 
1546
        GCC warning is silenced.
 
1547
 
 
1548
2006-01-03  Marco Gerards  <marco@gnu.org>
 
1549
 
 
1550
        * partmap/apple.c (apple_partition_map_iterate): Convert the data
 
1551
        read from disk from big endian to host byte order.
 
1552
 
 
1553
2006-01-03  Hollis Blanchard  <hollis@penguinppc.org>
 
1554
 
 
1555
        * fs/hfs.c: Include <grub/hfs.h>.  Added reference to the official
 
1556
        documentation.
 
1557
        (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
 
1558
        (grub_hfs_mount): Grammar fix in error. Make sure this is not an
 
1559
        embedded HFS+ filesystem.
 
1560
        (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
 
1561
        (grub_hfs_sblock): Move from here...
 
1562
        * include/grub/hfs.h: To here...  New file.
 
1563
        * fs/hfsplus.c: Include <grub/hfs.h>.  Added reference to the official
 
1564
        documentation.
 
1565
        (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
 
1566
        New macros.
 
1567
        (grub_hfsplus_volheader): Change type of member `magic' to
 
1568
        `grub_uint16_t'.
 
1569
        (grub_hfsplus_data): Add new member `embedded_offset'.
 
1570
        (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
 
1571
        returned block.
 
1572
        (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
 
1573
        Calculate the offset.
 
1574
 
 
1575
2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
1576
 
 
1577
        * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
 
1578
        Removed.
 
1579
        (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
 
1580
 
1
1581
2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
2
1582
 
3
1583
        * kern/env.c (grub_env_set): Check if ENV->VALUE instead of