~darkmuggle-deactivatedaccount/ubuntu/quantal/grub2/fix-872244

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2006-01-05 15:20:40 UTC
  • mto: (17.3.1 squeeze) (1.9.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20060105152040-b72i5pq1a82z22yi
Tags: upstream-1.92
ImportĀ upstreamĀ versionĀ 1.92

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
2
 
 
3
        * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
 
4
        ENV->NAME is NULL after allocating ENV->VALUE.
 
5
 
 
6
2005-12-25  Marco Gerards  <marco@gnu.org>
 
7
 
 
8
        * kern/env.c (grub_env_set): Rewritten the error handling code.
 
9
 
 
10
2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
11
 
 
12
        * geninit.sh: Made more robust, and more portable.
 
13
 
 
14
2005-12-25  Marco Gerards  <marco@gnu.org>
 
15
 
 
16
        Add support for Apple HFS+ filesystems.
 
17
        
 
18
        * fs/hfsplus.c: New file.
 
19
 
 
20
        * DISTLIST: Added `fs/hfsplus.c'.
 
21
 
 
22
        * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
 
23
        (hfsplus_mod_SOURCES): New variable.
 
24
        (hfsplus_mod_CFLAGS): Likewise.
 
25
        (hfsplus_mod_LDFLAGS): Likewise.
 
26
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
 
27
        (grub_setup_SOURCES): Likewise.
 
28
        (grub_mkdevicemap_SOURCES): Likewise.
 
29
        (grub_emu_SOURCES): Likewise.
 
30
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
31
 
 
32
        * fs/fshelp.c (grub_fshelp_log2blksize): New function.
 
33
 
 
34
        * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
 
35
 
 
36
2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
37
 
 
38
        * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
 
39
        commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
 
40
        include/grub/parser.h, include/grub/script.h, kern/parser.c,
 
41
        kern/sparc64/cache.S, normal/execute.c, normal/function.c,
 
42
        normal/lexer.c, normal/parser.y, normal/script.c, and
 
43
        partmap/gpt.c.
 
44
        Removed kern/sparc64/cache.c.
 
45
 
 
46
        * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
 
47
        grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
 
48
        grub_emu_init.c.
 
49
 
 
50
        * configure.ac (AC_INIT): Bumped to 1.92.
 
51
 
 
52
2005-12-24  Vesa Jaaskelainen  <chaac@nic.fi>
 
53
 
 
54
        * kern/err.c (grub_error_push): Added new function to support error
 
55
        stacks.
 
56
        (grub_error_pop): Likewise.
 
57
        (grub_error_stack_items): New local variable to support error stacks.
 
58
        (grub_error_stack_pos): Likewise.
 
59
        (grub_error_stack_assert): Likewise.
 
60
        (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
 
61
        stack depth.
 
62
        (grub_print_error): Added support to print errors from error stack.
 
63
 
 
64
        * include/grub/err.h (grub_error_push): Added function prototype.
 
65
        (grub_error_pop): Likewise.
 
66
 
 
67
2005-12-09  Hollis Blanchard  <hollis@penguinppc.org>
 
68
 
 
69
        * configure.ac: Accept `powerpc64' as host_cpu.
 
70
        (amd64): Rename to `biarch32'.
 
71
 
 
72
        * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
 
73
        non-cacheline-aligned addresses.
 
74
 
 
75
        * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
 
76
        (grub_dl_flush_cache): Likewise.  Only call `grub_arch_sync_caches'
 
77
        if `size' is non-zero.
 
78
 
 
79
2005-12-03  Marco Gerards  <mgerards@xs4all.nl>
 
80
 
 
81
        * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
 
82
        and `cd' to make sure the filename is not prefixed with a
 
83
        directory name.
 
84
        (pkgdata_MODULES): Add `gpt.mod'.
 
85
        (gpt_mod_SOURCES): New variable.
 
86
        (gpt_mod_CFLAGS): Likewise.
 
87
        (gpt_mod_LDFLAGS): Likewise.
 
88
 
 
89
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
 
90
 
 
91
        * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
 
92
        New macro.
 
93
 
 
94
        * partmap/gpt.c: New file.
 
95
 
 
96
        * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
 
97
        GPT partition map is detected.
 
98
 
 
99
2005-12-03  Vincent Pelletier  <subdino2004@yahoo.fr>
 
100
 
 
101
        * commands/i386/pc/play.c: New file.
 
102
        * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
 
103
        (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
 
104
        macros.
 
105
        
 
106
2005-11-27  Marco Gerards  <mgerards@xs4all.nl>
 
107
 
 
108
        * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
 
109
        ((unused))' to silence gcc warning.
 
110
 
 
111
2005-11-26  Hollis Blanchard  <hollis@penguinppc.org>
 
112
 
 
113
        * configure.ac: Correct `AC_PROG_YACC' test.
 
114
 
 
115
2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
 
116
 
 
117
        * util/powerpc/ieee1275/grub-install.in: Run the mount point
 
118
        check before installing files.
 
119
 
 
120
2005-11-22  Mike Small  <smallm@panix.com>
 
121
 
 
122
        * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
 
123
        number regex so multidigit numbers are recognized correctly.
 
124
 
 
125
2005-11-22  Mike Small  <smallm@panix.com>
 
126
 
 
127
        * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
 
128
        debugging message before attempting to claim memory.
 
129
        (grub_rescue_cmd_initrd): Add a claim debugging message and try
 
130
        multiple addresses in case of failure.
 
131
 
 
132
2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
 
133
 
 
134
        * term/tparm.c (get_space): Remove empty `if' statement.
 
135
 
 
136
        * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
 
137
 
 
138
        * kern/parser.c (check_varstate): Rename `state' to 's'.
 
139
 
 
140
2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
 
141
 
 
142
        * partmap/acorn.c: Change `unsigned' to `unsigned int'.  Move all
 
143
        variable definitions to the beginning of each function.  Sort stack
 
144
        variables by size.
 
145
        (find): Rename to `acorn_partition_map_find'.  Cast `grub_disk_read'
 
146
        `buf' argument to `char *'.
 
147
 
 
148
2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
 
149
 
 
150
        * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
 
151
        (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
 
152
        minux.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
 
153
        hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
 
154
        help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
 
155
        sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
 
156
        configfile.mod, search.mod, gzio.mod and test.mod.
 
157
        (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
 
158
        (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
 
159
        (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
 
160
        (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
 
161
        (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
 
162
        (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
 
163
        (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
 
164
        (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
 
165
        (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
 
166
        (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
 
167
        (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
 
168
        (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
 
169
        (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
 
170
        (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
 
171
        (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
 
172
        (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
 
173
        (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
 
174
        (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
 
175
        (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
 
176
        (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
 
177
        (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
 
178
        (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
 
179
        (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
 
180
 
 
181
        * conf/common.mk (grub_modules_init.lst): Use `find' instead of
 
182
        `grep --include'.
 
183
        (pkgdata_MODULES): Add test.mod.
 
184
 
 
185
2005-11-18  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
 
186
 
 
187
        * genmk.rb: Fixed list rules moved to Makefile.in.  Recognise
 
188
        appending to variables with "+=".
 
189
        (PModule): Use full pathname to generate *.lst filenames.
 
190
 
 
191
        * Makefile.in: Fixed list rules moved from genmk.rb.
 
192
        (.DELETE_ON_ERROR): New special target.
 
193
        (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
 
194
 
 
195
        * conf/i386-pc.rmk: Include conf/common.mk.
 
196
        (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
 
197
        minux.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
 
198
        hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
 
199
        help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
 
200
        sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
 
201
        configfile.mod, search.mod, gzio.mod and test.mod.
 
202
        (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
 
203
        (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
 
204
        (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
 
205
        (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
 
206
        (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
 
207
        (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
 
208
        (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
 
209
        (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
 
210
        (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
 
211
        (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
 
212
        (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
 
213
        (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
 
214
        (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
 
215
        (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
 
216
        (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
 
217
        (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
 
218
        (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
 
219
        (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
 
220
        (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
 
221
        (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
 
222
        (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
 
223
        (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
 
224
        (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
 
225
        here...
 
226
        * conf/common.rmk: ... to here.  New file.
 
227
 
 
228
        * conf/common.mk: New file.
 
229
 
 
230
2005-11-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
231
 
 
232
        * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
 
233
        (grub_script.tab.c): ... here.
 
234
 
 
235
        * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
 
236
        (grub_script.tab.c): ... here.
 
237
 
 
238
        * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
 
239
        (grub_script.tab.c): ... here.
 
240
 
 
241
        * normal/command.c (grub_command_find): Fixed a memory leak of
 
242
        MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
 
243
 
 
244
2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
 
245
 
 
246
        * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
 
247
        "@" which marks the start of a comment on ARM.
 
248
        (VARIABLE): Likewise.
 
249
 
 
250
2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
 
251
 
 
252
        Add support for Linux/ADFS partition tables.
 
253
 
 
254
        * partmap/acorn.c: New file.
 
255
 
 
256
        * include/grub/acorn_filecore.h: Likewise.
 
257
 
 
258
        * DISTLIST: Added `partmap/acorn.c' and
 
259
        `include/grub/acorn_filecore.h'.
 
260
        
 
261
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
 
262
        `partmap/acorn.c'.
 
263
        (pkgdata_MODULES): Add `acorn.mod'.
 
264
        (acorn_mod_SOURCES): New variable.
 
265
        (acorn_mod_CFLAGS): Likewise.
 
266
 
 
267
        * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
 
268
        `partmap/acorn.c'.
 
269
        (pkgdata_MODULES): Add `acorn.mod'.
 
270
        (acorn_mod_SOURCES): New variable.
 
271
        (acorn_mod_CFLAGS): Likewise.
 
272
 
 
273
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
 
274
        (pkgdata_MODULES): Add `acorn.mod'.
 
275
        (acorn_mod_SOURCES): New variable.
 
276
        (acorn_mod_CFLAGS): Likewise.
 
277
        (acorn_mod_LDFLAGS): Likewise.
 
278
 
 
279
        * include/types.h (grub_disk_addr_t): New typedef.
 
280
 
 
281
2005-11-13  Marco Gerards  <mgerards@xs4all.nl>
 
282
 
 
283
        * geninit.sh: New file.
 
284
 
 
285
        * geninitheader.sh: Likewise.
 
286
 
 
287
        * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
 
288
        * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
 
289
        * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
 
290
        * commands/configfile.c (grub_configfile_init)
 
291
        (grub_configfile_fini): Likewise.
 
292
        * commands/default.c (grub_default_init, grub_default_fini):
 
293
        Likewise.
 
294
        * commands/help.c (grub_help_init, grub_help_fini): Likewise.
 
295
        * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
 
296
        * commands/search.c (grub_search_init, grub_search_fini): Likewise.
 
297
        * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
 
298
        Likewise.
 
299
        * commands/test.c (grub_test_init, grub_test_fini): Likewise.
 
300
        * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
 
301
        Likewise.
 
302
        * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
 
303
        * commands/iee1275/halt.c (grub_halt_init, grub_halt_fini):
 
304
        Likewise.
 
305
        * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
 
306
        Likewise.
 
307
        * commands/iee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
 
308
        Likewise.
 
309
        * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
 
310
        * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
 
311
        * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
 
312
        * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
 
313
        * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
 
314
        * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
 
315
        * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
 
316
        * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
 
317
        * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
 
318
        * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
 
319
        * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
 
320
        * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
 
321
        * partmap/amiga.c (grub_amiga_partition_map_init)
 
322
        (grub_amiga_partition_map_fini): Likewise.
 
323
        * partmap/apple.c (grub_apple_partition_map_init)
 
324
        (grub_apple_partition_map_fini): Likewise.
 
325
        * partmap/pc.c (grub_pc_partition_map_init)
 
326
        (grub_pc_partition_map_fini): Likewise.
 
327
        * partmap/sun.c (grub_sun_partition_map_init,
 
328
        grub_sun_partition_map_fini): Likewise.
 
329
        * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
 
330
        Likewise.
 
331
 
 
332
        * util/grub-emu.c: Include <grub_modules_init.h>.
 
333
        (main): Don't initialize and de-initialize any modules directly,
 
334
        use `grub_init_all' and `grub_fini_all' instead.
 
335
 
 
336
        * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
 
337
        `grub_vesafb_mod_init'.
 
338
        (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'.  Updated
 
339
        all users.
 
340
        * term/i386/pc/vga.c (grub_vga_init): Renamed to
 
341
        `grub_vga_mod_init'.  Updated all users.
 
342
        (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
 
343
        
 
344
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
 
345
        (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
 
346
        rules.
 
347
 
 
348
        * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
 
349
        Generate a function to initialize the module in utilities.
 
350
        Updated all callers.
 
351
        (GRUB_MOD_FINI): Add argument `name'.  Generate a function to
 
352
        initialize the module in utilities.  Updated all callers.
 
353
 
 
354
2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>
 
355
 
 
356
        * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
 
357
        escape sequence and a literal ^L to clear the screen.
 
358
 
 
359
        * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
 
360
        when returning from Open Firmware.
 
361
 
 
362
2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>
 
363
 
 
364
        * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
 
365
        (grub_ofconsole_height): Likewise.
 
366
        (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
 
367
        manually insert a '\n'.
 
368
        (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
 
369
        `grub_ofconsole_height'.  Return early if these are already set.
 
370
 
 
371
2005-11-07  Vincent Pelletier  <subdino2004@yahoo.fr>
 
372
 
 
373
        * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
 
374
        `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
 
375
        `normal/execute.c', `normal/lexer.c', `io/gzio.c',
 
376
        `kern/parser.c', `grub_script.tab.c', `normal/function.c'
 
377
        and `normal/script.c'.
 
378
        (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
 
379
        `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
 
380
        (test_mod_SOURCES): New variable.
 
381
        (test_mod_CFLAGS): Likewise.
 
382
        (test_mod_LDFLAGS): Likewise.
 
383
        (pkgdata_MODULES): Add `test.mod'.
 
384
        (grub_script.tab.c): New rule.
 
385
        (grub_script.tab.h): Likewise.
 
386
 
 
387
2005-11-07  Marco Gerards  <mgerards@xs4all.nl>
 
388
 
 
389
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
 
390
        `commands/test.c', `normal/execute.c', `normal/lexer.c',
 
391
        `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
 
392
        (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
 
393
        `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
 
394
        (test_mod_SOURCES): New variable.
 
395
        (test_mod_CFLAGS): Likewise.
 
396
        (pkgdata_MODULES): Add `test.mod'.
 
397
        (grub_script.tab.c): New rule.
 
398
        (grub_script.tab.h): Likewise.
 
399
 
 
400
2005-11-06  Marco Gerards  <mgerards@xs4all.nl>
 
401
 
 
402
        Add initial scripting support.
 
403
 
 
404
        * commands/test.c: New file.
 
405
        * include/grub/script.h: Likewise.
 
406
        * normal/execute.c: Likewise.
 
407
        * normal/function.c: Likewise.
 
408
        * normal/lexer.c: Likewise.
 
409
        * normal/parser.y: Likewise.
 
410
        * normal/script.c: Likewise.
 
411
 
 
412
        * configure.ac: Add `AC_PROG_YACC' test.
 
413
        
 
414
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
 
415
        `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
 
416
        `normal/function.c' and `normal/script.c'.
 
417
        (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
 
418
        `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
 
419
        (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
 
420
        variables.
 
421
        (pkgdata_MODULES): Add `test.mod'.
 
422
        (grub_script.tab.c): New rule.
 
423
        (grub_script.tab.h): Likewise.
 
424
 
 
425
        * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
 
426
 
 
427
        * include/grub/normal.h (grub_test_init): New prototype.
 
428
        (grub_test_fini): Likewise.
 
429
        
 
430
        * normal/command.c: Include <grub/script.h>.
 
431
        (grub_command_execute): Rewritten.
 
432
        
 
433
        * util/grub-emu.c (main): Call `grub_test_init' and
 
434
        `grub_test_fini'.
 
435
 
 
436
2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
 
437
 
 
438
        * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
 
439
        to 0.
 
440
        * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
 
441
        there are no pending characters.
 
442
 
 
443
2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
 
444
 
 
445
        * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
 
446
        `grub_strndup' to drop device arguments. Replace unnecessary
 
447
        `grub_strndup' with `grub_strdup'.
 
448
 
 
449
2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
 
450
 
 
451
        * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
 
452
        `debug' environment variable has been set.
 
453
 
 
454
2005-11-02  Hollis Blanchard  <hollis@penguinppc.org>
 
455
        
 
456
        * Makefile.in (install-local): Use $(DATA).
 
457
        (uninstall): Likewise.
 
458
        * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
 
459
        (sbin_UTILITIES): ... to here.
 
460
        (sbin_SCRIPTS): New variable.
 
461
        (grub_install_SOURCES): New variable.
 
462
        * util/powerpc/ieee1275/grub-install.in: New file.
 
463
        * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
 
464
        variable.
 
465
        (add_segments): Call `grub_util_get_path'.
 
466
 
 
467
2005-10-28  Yoshinori K. Okuji  <okuji@enbug.org>
 
468
 
 
469
        From Timothy Baldwin:
 
470
        * commands/ls.c (grub_ls_list_files): Close FILE with
 
471
        grub_file_close.
 
472
        * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
 
473
 
 
474
2005-10-24  Marco Gerards  <mgerards@xs4all.nl>
 
475
 
 
476
        * include/grub/parser.h: New file.
 
477
 
 
478
        * kern/parser.c: Likewise.
 
479
 
 
480
        * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
 
481
        (grub_setup_SOURCES): Likewise.
 
482
        (grub_probefs_SOURCES): Likewise.
 
483
        (grub_emu_SOURCES): Likewise.
 
484
        (kernel_img_HEADERS): Add `parser.h'.
 
485
 
 
486
        * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
 
487
        (grub_emu_SOURCES): Add `kern/parser.c'.
 
488
        (grubof_SOURCES): Likewise.
 
489
 
 
490
        * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
 
491
        (grubof_SOURCES): Add `kern/parser.c'.
 
492
 
 
493
        * include/grub/misc.h (grub_split_cmdline): Removed prototype.
 
494
 
 
495
        * kern/misc.c (grub_split_cmdline): Removed function.
 
496
 
 
497
        * kern/rescue.c: Include <grub/parser.h>.
 
498
        (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
 
499
        of `grub_split_cmdline'.
 
500
 
 
501
        * normal/command.c: Include <grub/parser.h>.
 
502
        (grub_command_execute):  Use `grub_parser_split_cmdline' instead
 
503
        of `grub_split_cmdline'.
 
504
 
 
505
        * normal/completion.c: Include <grub/parser.h>.
 
506
        (cmdline_state): New variable.
 
507
        (iterate_dir): End the filename with a quote depending on the
 
508
        command line state.
 
509
        (get_state): new function.
 
510
        (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
 
511
        split the arguments and determine the current argument.  When the
 
512
        argument string is not quoted, escape all spaces.
 
513
 
 
514
2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
 
515
 
 
516
        * normal/sparc64/setjmp.S: New file.
 
517
 
 
518
2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
 
519
 
 
520
        * include/grub/sparc64/libgcc.h: New file.
 
521
        * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
 
522
        (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
 
523
        normal/sparc64/setjmp.c.
 
524
 
 
525
2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
 
526
 
 
527
        * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
 
528
        * kern/sparc64/cache.S: New file.
 
529
        * kern/sparc64/cache.c: Removed.
 
530
        * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
 
531
        (COMMON_CFLAGS): Add -mno-app-regs.  Remove -mcpu=v9 and
 
532
        -mtune=ultrasparc.
 
533
        (COMMON_LDFLAGS): Add -melf64_sparc.
 
534
        (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
 
535
        (grubof_SOURCES): Use cache.S instead of cache.c.
 
536
        (grubof_LDFLAGS): Add -mno-app-regs.  Replace "-Xlinker
 
537
        --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
 
538
        (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
 
539
        commented though.
 
540
        (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
 
541
        (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
 
542
        (linux_mod_CFLAGS): Commented out.
 
543
        (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
 
544
        out because module isn't built.
 
545
        (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
 
546
        (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
 
547
        (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
 
548
        (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
 
549
        (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
 
550
        (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
 
551
        (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
 
552
        (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
 
553
        (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
 
554
        (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
 
555
        (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
 
556
        (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
 
557
        (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
 
558
        (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
 
559
 
 
560
2005-10-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
561
 
 
562
        * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
 
563
        grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
 
564
        longer, because HFS should not be used on PC.
 
565
 
 
566
2005-10-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
 
567
 
 
568
        * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
 
569
        consistently within the loop.
 
570
 
 
571
2005-10-15  Marco Gerards  <mgerards@xs4all.nl>
 
572
 
 
573
        * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
 
574
        directory can not be read.
 
575
 
 
576
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
 
577
 
 
578
        * configure.ac (AC_INIT): Increase the version number to 1.91.
 
579
 
 
580
        * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
 
581
        include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
 
582
        term/i386/pc/serial.c.
 
583
 
 
584
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
 
585
 
 
586
        * kern/file.c (grub_file_seek): Seeking to an offset equal to a
 
587
        file size must be permitted.
 
588
 
 
589
        * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
 
590
        between %ah and %al.
 
591
 
 
592
2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
 
593
 
 
594
        * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
 
595
        grub_uint64_t.
 
596
        Call the hook with a NUL-terminated filename.
 
597
        (grub_xfs_mount): Use grub_be_to_cpu32 instead of
 
598
        grub_cpu_to_be32.
 
599
 
 
600
        * kern/term.c (cursor_state): New variable.
 
601
        (grub_term_set_current): Reset the cursor state on a new
 
602
        terminal.
 
603
        (grub_setcursor): Rewritten to use CURSOR_STATE.
 
604
        (grub_getcursor): New function.
 
605
 
 
606
        * include/grub/term.h (grub_getcursor): New prototype.
 
607
 
 
608
        * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
 
609
        integers on ARM. Reported by Timothy Baldwin
 
610
        <T.E.Baldwin99@members.leeds.ac.uk>.
 
611
 
 
612
2005-10-11  Marco Gerards  <mgerards@xs4all.nl>
 
613
 
 
614
        * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
 
615
        allocated.
 
616
        (grub_sfs_dir): Likewise.
 
617
 
 
618
2005-10-09  Marco Gerards  <mgerards@xs4all.nl>
 
619
 
 
620
        Add support for the SFS filesystem.
 
621
 
 
622
        * fs/sfs.c: New file.
 
623
 
 
624
        * DISTLIST: Added `fs/sfs.c'.
 
625
 
 
626
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
 
627
        (grub_probefs_SOURCES): Likewise.
 
628
        (grub_emu_SOURCES): Likewise.
 
629
        (pkgdata_MODULES): Add `sfs.mod'.
 
630
        (sfs_mod_SOURCES): New variable.
 
631
        (sfs_mod_CFLAGS): Likewise.
 
632
        (sfs_mod_LDFLAGS): Likewise.
 
633
 
 
634
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
 
635
        (pkgdata_MODULES): Add `sfs.mod'.
 
636
        (sfs_mod_SOURCES): New variable.
 
637
        (sfs_mod_CFLAGS): Likewise.
 
638
 
 
639
        * util/grub-emu.c (main): Call `grub_sfs_init' and
 
640
        `grub_sfs_fini'.
 
641
 
 
642
        * include/grub/fs.h (grub_sfs_init): New prototype.
 
643
        (grub_sfs_fini): Likewise.
 
644
 
 
645
2005-10-07  Marco Gerards  <mgerards@xs4all.nl>
 
646
 
 
647
        Add support for the AFFS filesystem.
 
648
 
 
649
        * fs/affs.c: New file.
 
650
 
 
651
        * DISTLIST: Added `fs/affs.c'.
 
652
 
 
653
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
 
654
        (grub_probefs_SOURCES): Likewise.
 
655
        (grub_emu_SOURCES): Likewise.
 
656
        (pkgdata_MODULES): Add `affs.mod'.
 
657
        (affs_mod_SOURCES): New variable.
 
658
        (affs_mod_CFLAGS): Likewise.
 
659
        (affs_mod_LDFLAGS): Likewise.
 
660
 
 
661
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
 
662
        (pkgdata_MODULES): Add `affs.mod'.
 
663
        (affs_mod_SOURCES): New variable.
 
664
        (affs_mod_CFLAGS): Likewise.
 
665
 
 
666
        * util/grub-emu.c (main): Call `grub_affs_init' and
 
667
        `grub_affs_fini'.
 
668
 
 
669
        * include/grub/fs.h (grub_affs_init): New prototype.
 
670
        (grub_affs_fini): Likewise.
 
671
 
 
672
2005-10-01  Marco Gerards  <mgerards@xs4all.nl>
 
673
 
 
674
        * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
 
675
 
 
676
2005-10-01  Marco Gerards  <mgerards@xs4all.nl>
 
677
 
 
678
        * configure.ac: Accept `x86_64' as host_cpu.  In that case add
 
679
        `-m32' to CFLAGS.
 
680
 
 
681
        * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
 
682
        linking.
 
683
        
 
684
        * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
 
685
        (COMMON_LDFLAGS): New variable.
 
686
        (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
 
687
        (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
 
688
        (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
 
689
        (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
 
690
        (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
 
691
        (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
 
692
        (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
 
693
        (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
 
694
        (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
 
695
        (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
 
696
        (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
 
697
        (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
 
698
        (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
 
699
        (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
 
700
        (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
 
701
        variables.
 
702
        (normal_mod_ASFLAGS): Add `-m32'.
 
703
 
 
704
        * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
 
705
        (grub_host_size_t, grub_host_ssize_t): New types.
 
706
        (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
 
707
        dependant of `GRUB_CPU_SIZEOF_VOID_P' instead on
 
708
        `GRUB_HOST_SIZEOF_VOID_P'.
 
709
 
 
710
        * include/grub/kernel.h (struct grub_module_header): Type of
 
711
        member offset changed to `grub_host_off_t'.  Type of member size
 
712
        changed to `grub_host_size_t'.
 
713
        (struct grub_module_info): Type of member offset changed to
 
714
        `grub_host_off_t'.  Type of member size changed to
 
715
        `grub_host_size_t'.
 
716
 
 
717
2005-09-29  Yoshinori K. Okuji  <okuji@enbug.org>
 
718
 
 
719
        Make GRUB's kernel compliant to Multiboot Specification.
 
720
        
 
721
        * kern/i386/pc/startup.S (multiboot_header): New label.
 
722
        (multiboot_entry): Likewise.
 
723
        (multiboot_trampoline): Likewise.
 
724
 
 
725
        * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
 
726
        Increased to 0x4A0.
 
727
 
 
728
        * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
 
729
        put parentheses after a question mark.
 
730
        [!GRUB_UTIL] (my_mod): New variable.
 
731
 
 
732
        * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
 
733
 
 
734
2005-09-28  Marco Gerards  <mgerards@xs4all.nl>
 
735
 
 
736
        Adds support for the XFS filesystem.  Btrees are not supported
 
737
        yet.
 
738
 
 
739
        * fs/xfs.c: New file.
 
740
 
 
741
        * DISTLIST: Added `fs/xfs.c'.
 
742
 
 
743
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
 
744
        (grub_probefs_SOURCES): Likewise.
 
745
        (grub_emu_SOURCES): Likewise.
 
746
        (pkgdata_MODULES): Add `xfs.mod'.
 
747
        (xfs_mod_SOURCES): New variable.
 
748
        (xfs_mod_CFLAGS): Likewise.
 
749
 
 
750
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
 
751
        (pkgdata_MODULES): Add `xfs.mod'.
 
752
        (xfs_mod_SOURCES): New variable.
 
753
        (xfs_mod_CFLAGS): Likewise.
 
754
 
 
755
        * util/grub-emu.c (main): Call `grub_xfs_init' and
 
756
        `grub_xfs_fini'.
 
757
 
 
758
        * include/grub/fs.h (grub_xfs_init): New prototype.
 
759
        (grub_xfs_fini): Likewise.
 
760
 
 
761
        
 
762
2005-09-18  Vesa Jaaskelainen  <chaac@nic.fi>
 
763
 
 
764
        * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
 
765
        color modes, allow greater than 16 colors to be configured as
 
766
        a default palette.
 
767
 
 
768
2005-09-03  Yoshinori K. Okuji  <okuji@enbug.org>
 
769
 
 
770
        * normal/completion.c (complete_arguments): Add the qualifier
 
771
        const into OPTIONS.
 
772
 
 
773
        From Omniflux <omniflux+lists@omniflux.com>:
 
774
        * include/grub/terminfo.h: New file.
 
775
        * include/grub/tparm.h: Likewise.
 
776
        * include/grub/i386/pc/serial.h: Likewise.
 
777
        * term/terminfo.c: Likewise.
 
778
        * term/tparm.c: Likewise.
 
779
        * term/i386/pc/serial.c: Likewise.
 
780
        * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
 
781
        serial.mod.
 
782
        (terminfo_mod_SOURCES): New variable.
 
783
        (terminfo_mod_CFLAGS): Likewise.
 
784
        (serial_mod_SOURCES): Likewise.
 
785
        (serial_mod_CFLAGS): Likewise.
 
786
 
 
787
2005-08-31  Yoshinori K. Okuji  <okuji@enbug.org>
 
788
 
 
789
        * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
 
790
        boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
 
791
        and kern/powerpc/ieee1275/cmain.c, respectively.
 
792
 
 
793
        * boot/powerpc/ieee1275/crt0.S: Moved to ...
 
794
        * kern/powerpc/ieee1275/crt0.S: ... here.
 
795
 
 
796
        * boot/powerpc/ieee1275/cmain.c: Moved to ...
 
797
        * kern/powerpc/ieee1275/cmain.c: ... here.
 
798
        
 
799
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
 
800
        kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
 
801
        instead of boot/powerpc/ieee1275/crt0.S and
 
802
        boot/powerpc/ieee1275/cmain.c, respectively.
 
803
 
 
804
        * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
 
805
        sectors. It was not used anyway.
 
806
 
 
807
2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>
 
808
 
 
809
        * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
 
810
        `unused parameter' warning.
 
811
 
 
812
2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>
 
813
 
 
814
        * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
 
815
        function.
 
816
        (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
 
817
        getcharwidth.
 
818
 
 
819
2005-08-28  Marco Gerards  <metgerards@student.han.nl>
 
820
 
 
821
        * include/grub/normal.h (enum grub_completion_type): Added
 
822
        `GRUB_COMPLETION_TYPE_ARGUMENT'.
 
823
 
 
824
        * normal/cmdline.c (print_completion): Handle
 
825
        the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
 
826
        * normal/menu_entry.c (store_completion): Likewise.
 
827
 
 
828
        * normal/completion.c (complete_arguments): New function.
 
829
        (grub_normal_do_completion): Call `complete_arguments' when the
 
830
        current words start with a dash.
 
831
 
 
832
2005-08-27  Marco Gerards  <metgerards@student.han.nl>
 
833
 
 
834
        * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
 
835
        `gzio.mod' instead of `io.mod').
 
836
 
 
837
2005-08-22  Yoshinori K. Okuji  <okuji@enbug.org>
 
838
 
 
839
        * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
 
840
        (DISTDIRS): Added io and video.
 
841
        Rewrite the search routine to make an output consistently.
 
842
 
 
843
        * DISTLIST: Added conf/sparc64-ieee1275.mk,
 
844
        conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
 
845
        include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
 
846
        io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
 
847
        kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
 
848
        util/powerpc/ieee1275/misc.c.
 
849
        
 
850
        * include/grub/gzio.h: New file.
 
851
        * io/gzio.c: Likewise.
 
852
        
 
853
        * kern/file.c (grub_file_close): Call grub_device_close only if
 
854
        FILE->DEVICE is not NULL.
 
855
 
 
856
        * include/grub/mm.h [!NULL] (NULL): New macro.
 
857
 
 
858
        * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
 
859
 
 
860
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
 
861
        (pkgdata_MODULES): Added gzio.mod.
 
862
        (gzio_mod_SOURCES): New variable.
 
863
        (gzio_mod_CFLAGS): Likewise.
 
864
 
 
865
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
 
866
        (pkgdata_MODULES): Added gzio.mod.
 
867
        (gzio_mod_SOURCES): New variable.
 
868
        (gzio_mod_CFLAGS): Likewise.
 
869
 
 
870
        * commands/cat.c: Include grub/gzio.h.
 
871
        (grub_cmd_cat): Use grub_gzfile_open instead of
 
872
        grub_file_open.
 
873
        
 
874
        * commands/cmp.c: Include grub/gzio.h.
 
875
        (grub_cmd_cmp): Use grub_gzfile_open instead of
 
876
        grub_file_open.
 
877
 
 
878
        * loader/i386/pc/multiboot.c: Include grub/gzio.h.
 
879
        (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
 
880
        grub_file_open.
 
881
        (grub_rescue_cmd_module): Likewise.
 
882
 
 
883
2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>
 
884
 
 
885
        * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
 
886
        kern/sparc64/ieee1275/init.c because it contains _start.
 
887
        * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
 
888
 
 
889
2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>
 
890
 
 
891
        * configure.ac: Add support for sparc64 host with ieee1275
 
892
        firmware.
 
893
        * configure: Generated from configure.ac.
 
894
        * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
 
895
        instead of int.
 
896
        (grub_ofdisk_read): Likewise.
 
897
        (grub_ofdisk_open): Use %p to print pointer values, and cast the
 
898
        pointers as (void *) to remove a warning.
 
899
        (grub_ofdisk_close): Likewise.
 
900
        (grub_ofdisk_read): Likewise.
 
901
        * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
 
902
        returns, so make it return void to remove a warning.
 
903
        * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
 
904
        Corresponding prototype change.
 
905
        * kern/mm.c (grub_mm_init_region): Use %p to print pointer
 
906
        values, and cast the pointers as (void *) to remove a warning.
 
907
        (grub_mm_dump): Likewise.
 
908
        * conf/sparc64-ieee1275.mk: New file.
 
909
        * conf/sparc64-ieee1275.rmk: Likewise.
 
910
        * include/grub/sparc64/setjmp.h: Likewise.
 
911
        * include/grub/sparc64/types.h: Likewise.
 
912
        * include/grub/sparc64/ieee1275/console.h: Likewise.
 
913
        * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
 
914
        * include/grub/sparc64/ieee1275/kernel.h: Likewise.
 
915
        * include/grub/sparc64/ieee1275/time.h: Likewise.
 
916
        * kern/sparc64/cache.c: Likewise.
 
917
        * kern/sparc64/dl.c: Likewise.
 
918
        * kern/sparc64/ieee1275/init.c: Likewise.
 
919
        * kern/sparc64/ieee1275/openfw.c: Likewise.
 
920
 
 
921
2005-08-21  Yoshinori K. Okuji  <okuji@enbug.org>
 
922
 
 
923
        * util/console.c (grub_ncurses_putchar): If C is greater than
 
924
        0x7f, set C to a question mark.
 
925
        (grub_ncurses_getcharwidth): New function.
 
926
        (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
 
927
        getcharwidth.
 
928
 
 
929
        * normal/menu.c (print_entry): Made aware of Unicode. First,
 
930
        convert TITLE to UCS-4, and predict the cursor position by
 
931
        grub_getcharwidth.
 
932
 
 
933
        * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
 
934
        const to SRC.
 
935
        * kern/misc.c (grub_utf16_to_utf8): Likewise.
 
936
 
 
937
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
938
 
 
939
        * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
 
940
        the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
 
941
        grub_strcat.
 
942
 
 
943
        * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
 
944
        file by the option BOOT_IMAGE. Use grub_stpcpy instead of
 
945
        grub_strcpy and grub_strlen. Take it into account that a space
 
946
        character is inserted as a delimiter.
 
947
 
 
948
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
949
 
 
950
        * partmap/pc.c (pc_partition_map_iterate): Include the value of an
 
951
        invalid magic in thre error.
 
952
 
 
953
        * commands/search.c: New file.
 
954
        
 
955
        * util/grub-emu.c (main): Call grub_search_init and
 
956
        grub_search_fini.
 
957
 
 
958
        * kern/rescue.c (grub_rescue_print_disks): Removed.
 
959
        (grub_rescue_print_devices): New function.
 
960
        (grub_rescue_cmd_ls): Use grub_device_iterate with
 
961
        grub_rescue_print_devices instead of grub_disk_dev_iterate with
 
962
        grub_rescue_print_disks.
 
963
 
 
964
        * kern/partition.c (grub_partition_iterate): Return the result of
 
965
        PARTMAP->ITERATE instead of GRUB_ERRNO.
 
966
 
 
967
        * kern/device.c: Include grub/partition.h.
 
968
        (grub_device_iterate): New function.
 
969
 
 
970
        * include/grub/partition.h (grub_partition_iterate): Return int
 
971
        instead of grub_err_t.
 
972
 
 
973
        * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
 
974
        prototype.
 
975
        [GRUB_UTIL] (grub_search_fini): Likewise.
 
976
 
 
977
        * include/grub/device.h (grub_device_iterate): New prototype.
 
978
 
 
979
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
 
980
        commands/search.c.
 
981
        (pkgdata_MODULES): Added search.mod.
 
982
        (search_mod_SOURCES): New variable.
 
983
        (search_mod_CFLAGS): Likewise.
 
984
 
 
985
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
 
986
        (pkgdata_MODULES): Added search.mod.
 
987
        (search_mod_SOURCES): New variable.
 
988
        (search_mod_CFLAGS): Likewise.
 
989
 
 
990
        * commands/ls.c (grub_ls_list_disks): Renamed to ...
 
991
        (grub_ls_list_devices): ... this, and use grub_device_iterate.
 
992
        All callers changed.
 
993
 
 
994
        * DISTLIST: Added commands/search.c.
 
995
 
 
996
2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
997
 
 
998
        * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
 
999
        conversion.
 
1000
        (grub_getcharwidth): New function.
 
1001
 
 
1002
        * kern/misc.c (grub_utf8_to_ucs4): New function.
 
1003
 
 
1004
        * include/grub/term.h (struct grub_term): Added a new member
 
1005
        "getcharwidth".
 
1006
        (grub_getcharwidth): New prototype.
 
1007
 
 
1008
        * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
 
1009
 
 
1010
        * term/i386/pc/console.c (map_char): New function. Segregated from
 
1011
        grub_console_putchar.
 
1012
        (grub_console_putchar): Use map_char.
 
1013
        (grub_console_getcharwidth): New function.
 
1014
        (grub_console_term): Specified grub_console_getcharwidth as
 
1015
        getcharwidth.
 
1016
 
 
1017
        * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
 
1018
        (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
 
1019
 
 
1020
        * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
 
1021
        GRUB_ERRNO.
 
1022
        (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
 
1023
        on grub_strtoul completely.
 
1024
        (write_char): Declare local variables in the beginning of the
 
1025
        function.
 
1026
        (grub_vesafb_getcharwidth): New function.
 
1027
        (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
 
1028
        getcharwidth.
 
1029
 
 
1030
2005-08-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
1031
 
 
1032
        * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
 
1033
        commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
 
1034
        commands/i386/pc/vbetest.c.
 
1035
 
 
1036
        * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
 
1037
        call grub_vbe_get_controller_info again, because the returned
 
1038
        information is volatile.
 
1039
        (grub_vbe_set_video_mode): Mostly rewritten.
 
1040
        (grub_vbe_get_video_mode): Use grub_vbe_probe and use
 
1041
        grub_vbe_status_t correctly.
 
1042
        (grub_vbe_get_video_mode_info): Likewise.
 
1043
        (grub_vbe_set_pixel_rgb): Use a switch statement rather than
 
1044
        several if statements.
 
1045
 
 
1046
        * commands/i386/pc/vbe_list_modes.c: Renamed to ...
 
1047
        * commands/i386/pc/vbeinfo.c: ... this.
 
1048
 
 
1049
        * commands/i386/pc/vbe_test.c: Renamed to ...
 
1050
        * commands/i386/pc/vbetest.c: ... this.
 
1051
 
 
1052
        * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
 
1053
        ...
 
1054
        (grub_cmd_vbeinfo): ... this. Save video modes before
 
1055
        iterating. Skip a video mode, if it is not available, not enough
 
1056
        information is given or it is monochrome. Show the memory
 
1057
        model. Leave the interpretation of MODEVAR to grub_strtoul
 
1058
        completely.
 
1059
        (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
 
1060
        (GRUB_MOD_FINI): Likewise.
 
1061
 
 
1062
        * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
 
1063
        (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
 
1064
        grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
 
1065
        duplicated grub_env_get. Leave the interpretation of MODEVAR to
 
1066
        grub_strtoul completely.
 
1067
        (real2pm): Removed.
 
1068
        (GRUB_MOD_INIT): Rename vbe_test to vbetest.
 
1069
        (GRUB_MOD_FINI): Likewise.
 
1070
 
 
1071
        * normal/misc.c: Include grub/mm.h.
 
1072
 
 
1073
        * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
 
1074
        vbe_list_modes with vbetest.mod and vbeinfo.mod.
 
1075
        (vbe_list_modes_mod_SOURCES): Removed.
 
1076
        (vbe_list_modes_mod_CFLAGS): Likewise.
 
1077
        (vbe_test_mod_SOURCES): Likewise.
 
1078
        (vbe_test_mod_CFLAGS): Likewise.
 
1079
        (vbeinfo_mod_SOURCES): New variable.
 
1080
        (vbeinfo_mod_CFLAGS): Likewise.
 
1081
        (vbetest_mod_SOURCES): Likewise.
 
1082
        (vbetest_mod_CFLAGS): Likewise.
 
1083
 
 
1084
2005-08-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
1085
 
 
1086
        * normal/misc.c: New file.
 
1087
 
 
1088
        * DISTLIST: Added normal/misc.c.
 
1089
        
 
1090
        * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
 
1091
        DISK to HOOK. Call HOOK with DISK.
 
1092
        * partmap/apple.c (apple_partition_map_iterate): Likewise.
 
1093
        * partmap/pc.c (pc_partition_map_iterate): Likewise.
 
1094
        * partmap/sun.c (sun_partition_map_iterate): Likewise.
 
1095
 
 
1096
        * normal/menu_entry.c (struct screen): Added a new member
 
1097
        "completion_shown".
 
1098
        (completion_buffer): New global variable.
 
1099
        (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
 
1100
        (store_completion): New function.
 
1101
        (complete): Likewise.
 
1102
        (clear_completions): Likewise.
 
1103
        (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
 
1104
        call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
 
1105
        a tab, call complete.
 
1106
 
 
1107
        * normal/completion.c (disk_dev): Removed.
 
1108
        (print_simple_completion): Likewise.
 
1109
        (print_partition_completion): Likewise.
 
1110
        (print_func): New global variable.
 
1111
        (add_completion): Do not take the arguments WHAT or PRINT any
 
1112
        longer. Added a new argument TYPE. Instead of printing directly,
 
1113
        call PRINT_FUNC if not NULL.
 
1114
        All callers changed.
 
1115
        (complete_device): Use a local variable DEV instead of
 
1116
        DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
 
1117
        (grub_normal_do_completion): Take a new argument HOOK. Do not
 
1118
        initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
 
1119
        empty string, return NULL instead.
 
1120
        All callers changed.
 
1121
 
 
1122
        * normal/cmdline.c (print_completion): New function.
 
1123
 
 
1124
        * kern/partition.c (grub_partition_iterate): Add an argument DISK
 
1125
        to HOOK.
 
1126
        All callers changed.
 
1127
 
 
1128
        * kern/disk.c (grub_print_partinfo): Removed.
 
1129
 
 
1130
        * include/grub/partition.h (struct grub_partition_map): Add a new
 
1131
        argument DISK into HOOK of ITERATE.
 
1132
        (grub_partition_iterate): Add a new argument DISK to HOOK.
 
1133
 
 
1134
        * include/grub/normal.h (enum grub_completion_type): New enum.
 
1135
        (grub_completion_type_t): New type.
 
1136
        (GRUB_COMPLETION_TYPE_COMMAND): New constant.
 
1137
        (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
 
1138
        (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
 
1139
        (GRUB_COMPLETION_TYPE_FILE): Likewise.
 
1140
        (grub_normal_do_completion): Added a new argument HOOK.
 
1141
        (grub_normal_print_device_info): New prototype.
 
1142
 
 
1143
        * include/grub/disk.h (grub_print_partinfo): Removed.
 
1144
 
 
1145
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
 
1146
        (normal_mod_SOURCES): Likewise.
 
1147
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
1148
        (normal_mod_SOURCES): Likewise.
 
1149
 
 
1150
        * commands/ls.c (grub_ls_list_disks): Use
 
1151
        grub_normal_print_device_info instead of grub_print_partinfo. Free
 
1152
        PNAME.
 
1153
        (grub_ls_list_files): Use grub_normal_print_device_info instead of
 
1154
        duplicating the code.
 
1155
 
 
1156
2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>
 
1157
 
 
1158
        * commands/i386/pc/vbe_list_modes.c: Update source formatting to
 
1159
        follow GCS more precisely.
 
1160
        * commands/i386/pc/vbe_test.c: Likewise.
 
1161
        * include/grub/i386/pc/vbe.h: Likewise.
 
1162
        * term/i386/pc/vesafb.c: Likewise.
 
1163
        * video/i386/pc/vbe.c: Likewise.
 
1164
 
 
1165
2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>
 
1166
 
 
1167
        * DISTLIST: Added term/i386/pc/vesafb.c
 
1168
        DISTLIST: Added video/i386/pc/vbe.c
 
1169
        DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
 
1170
        DISTLIST: Added commands/i386/pc/vbe_test.c.
 
1171
        * commands/i386/pc/vbe_list_modes.c: New file.
 
1172
        * commands/i386/pc/vbe_test.c: Likewise.
 
1173
        * term/i386/pc/vesafb.c: Likewise.
 
1174
        * video/i386/pc/vbe.c: Likewise.
 
1175
        * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
 
1176
        (grub_vbe_probe) Added prototype.
 
1177
        (grub_vbe_set_video_mode) Likewise.
 
1178
        (grub_vbe_get_video_mode) Likewise.
 
1179
        (grub_vbe_get_video_mode_info) Likewise.
 
1180
        (grub_vbe_set_pixel_rgb) Likewise.
 
1181
        (grub_vbe_set_pixel_index) Likewise.
 
1182
        * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
 
1183
        (pkgdata_MODULES): Added vesafb.mod.
 
1184
        (pkgdata_MODULES): Added vbe_list_modes.mod.
 
1185
        (pkgdata_MODULES): Added vbe_test.mod.
 
1186
        (vbe_mod_SOURCES): Added.
 
1187
        (vbe_mod_CFLAGS): Likewise.
 
1188
        (vesafb_mod_SOURCES): Likewise.
 
1189
        (vesafb_mod_CFLAGS): Likewise.
 
1190
        (vbe_list_modes_mod_SOURCES): Likewise.
 
1191
        (vbe_list_modes_mod_CFLAGS): Likewise.
 
1192
        (vbe_test_mod_SOURCES): Likewise.
 
1193
        (vbe_test_mod_CFLAGS): Likewise.
 
1194
 
 
1195
2005-08-14  Yoshinori K. Okuji  <okuji@enbug.org>
 
1196
 
 
1197
        * normal/command.c (grub_command_execute): If INTERACTIVE is
 
1198
        false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
 
1199
        CMDLINE. Disable the pager if INTERACTIVE is true.
 
1200
        All callers are changed.
 
1201
 
 
1202
        * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
 
1203
        before reading a config file.
 
1204
        * normal/main.c (read_config_file): Even if a command is not
 
1205
        found, register it if it is within an entry.
 
1206
 
 
1207
        * util/grub-emu.c: Include sys/types.h and unistd.h.
 
1208
        (options): Added --hold.
 
1209
        (struct arguments): Added a new member "hold".
 
1210
        (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
 
1211
        missing.
 
1212
        (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
 
1213
        cleared by a debugger, if it is not zero.
 
1214
 
 
1215
        * include/grub/normal.h (grub_command_execute): Add an argument
 
1216
        INTERACTIVE.
 
1217
 
 
1218
2005-08-14  Vesa Jaaskelainen  <chaac@nic.fi>
 
1219
 
 
1220
        * DISTLIST: Added include/grub/i386/pc/vbe.h.
 
1221
 
 
1222
2005-08-13  Yoshinori K. Okuji  <okuji@enbug.org>
 
1223
 
 
1224
        * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
 
1225
        program with another one, because the old one didn't detect a bug
 
1226
        in gcc-3.4. Always use regparm 2, because the new test is still
 
1227
        not enough for gcc-4.0. Someone must investigate a simple test
 
1228
        case which detects a bug in gcc-4.0.
 
1229
 
 
1230
2005-08-12  Yoshinori K. Okuji  <okuji@enbug.org>
 
1231
 
 
1232
        * DISTLIST: Added normal/completion.c.
 
1233
 
 
1234
        * normal/completion.c: New file.
 
1235
        
 
1236
        * term/i386/pc/console.c (grub_console_getwh): New function.
 
1237
        (grub_console_term): Assign grub_console_getwh to getwh.
 
1238
 
 
1239
        * normal/cmdline.c (grub_tab_complete): Removed. Now the same
 
1240
        function is defined in normal/completion.c as
 
1241
        grub_normal_do_completion.
 
1242
        (grub_cmdline_get): Use grub_normal_do_completion instead of
 
1243
        grub_tab_complete.
 
1244
 
 
1245
        * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
 
1246
        returns non-zero, otherwise return 0.
 
1247
        (grub_partition_iterate): First, probe the partition map. Then,
 
1248
        call ITERATE only for this partition map.
 
1249
 
 
1250
        * kern/misc.c (grub_strncmp): Rewritten.
 
1251
 
 
1252
        * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
 
1253
        returns non-zero. Otherwise return 0.
 
1254
 
 
1255
        * include/grub/partition.h (grub_partition_map_iterate): Return
 
1256
        int instead of void.
 
1257
 
 
1258
        * include/grub/normal.h (grub_normal_do_completion): New prototype.
 
1259
 
 
1260
        * include/grub/misc.h (grub_strncmp): Change the type of N to
 
1261
        grub_size_t.
 
1262
 
 
1263
        * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
 
1264
        of void.
 
1265
 
 
1266
        * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
 
1267
        unsigned explictly before comparing it with I.
 
1268
 
 
1269
        * kern/main.c (grub_env_write_root): Add the attribute unused into
 
1270
        VAR.
 
1271
 
 
1272
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
 
1273
        normal/completion.c.
 
1274
        (normal_mod_SOURCES): Likewise.
 
1275
        * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
 
1276
        (normal_mod_SOURCES): Likewise.
 
1277
 
 
1278
        * normal/command.c (grub_iterate_commands): If ITERATE returns
 
1279
        non-zero, return one immediately.
 
1280
 
 
1281
2005-08-09  Vesa Jaaskelainen  <chaac@nic.fi>
 
1282
 
 
1283
        * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
 
1284
        * kern/i386/pc/startup.S: Updated Global Descriptor table's
 
1285
        descriptions.
 
1286
        (grub_vbe_get_controller_info): New function.
 
1287
        (grub_vbe_get_mode_info): Likewise.
 
1288
        (grub_vbe_set_mode): Likewise.
 
1289
        (grub_vbe_get_mode): Likewise.
 
1290
        (grub_vbe_set_memory_window): Likewise.
 
1291
        (grub_vbe_get_memory_window): Likewise.
 
1292
        (grub_vbe_set_scanline_length): Likewise.
 
1293
        (grub_vbe_get_scanline_length): Likewise.
 
1294
        (grub_vbe_set_display_start): Likewise.
 
1295
        (grub_vbe_get_display_start): Likewise.
 
1296
        (grub_vbe_set_palette_data): Likewise.
 
1297
        * include/grub/i386/pc/vbe.h: New file.
 
1298
 
 
1299
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
 
1300
 
 
1301
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
 
1302
        kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
 
1303
        * DISTLIST: Likewise.
 
1304
        * kern/ieee1275/of.c: Moved to ...
 
1305
        * kern/ieee1275/ieee1275.c: ... here.
 
1306
 
 
1307
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
 
1308
 
 
1309
        * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
 
1310
        (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
 
1311
        Pass 0 as `end' parameter to grub_strtoul().
 
1312
 
 
1313
2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
 
1314
 
 
1315
        * include/grub/powerpc/ieee1275/console.h: Do not include
 
1316
        <grub/types.h>.  Do not include <grub/symbol.h>.  Remove ASM_FILE
 
1317
        ifdef.
 
1318
        (grub_console_cur_color): Remove i386-specific prototype.
 
1319
        (grub_console_real_putchar): Likewise.
 
1320
        (grub_console_checkkey): Likewise.
 
1321
        (grub_console_getkey): Likewise.
 
1322
        (grub_console_getxy): Likewise.
 
1323
        (grub_console_gotoxy): Likewise.
 
1324
        (grub_console_cls): Likewise.
 
1325
        (grub_console_setcursor): Likewise.
 
1326
        * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
 
1327
        Include <grub/machine/console.h>.
 
1328
        * term/ieee1275/ofconsole.c: Likewise.
 
1329
 
 
1330
2005-08-08  Yoshinori K. Okuji  <okuji@enbug.org>
 
1331
 
 
1332
        * Makefile.in (LIBLZO): New variable.
 
1333
 
 
1334
        * configure.ac: Check for LZO version 2.
 
1335
 
 
1336
        * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
 
1337
        lzo/lzo1x.h instead of lzo1x.h.
 
1338
 
 
1339
        * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
 
1340
        of -llzo.
 
1341
 
 
1342
        * util/i386/pc/grub-setup.c (main): Do not free PREFIX
 
1343
        twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
 
1344
 
 
1345
        * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
 
1346
        copying the data from PARTITION to P.
 
1347
 
 
1348
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
1349
 
 
1350
        * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
 
1351
        negative, unload the module.
 
1352
 
 
1353
        * util/i386/pc/grub-setup.c (setup): The name of the PC partition
 
1354
        map is "pc_partition_map" but not "pc".
 
1355
        (usage): Fix the description. The options are --boot-image and
 
1356
        --core-image but not --boot-file or --core-file.
 
1357
        (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
 
1358
        based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
 
1359
        DEFAULT_DIRECTORY.
 
1360
 
 
1361
        * util/i386/pc/grub-install.in: Do not specify --boot-file or
 
1362
        --core-file. Specify INSTALL_DEVICE as an argument.
 
1363
 
 
1364
        * util/console.c: Include config.h.
 
1365
        [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
 
1366
        [HAVE_NCURSES_H]: Include ncurses.h.
 
1367
        [HAVE_CURSES_H]: Include curses.h.
 
1368
        [!A_NORMAL] (A_NORMAL): Defined as zero.
 
1369
        [!A_STANDOUT] (A_STANDOUT): Likewise.
 
1370
 
 
1371
        * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
 
1372
        -lncurses.
 
1373
        * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
 
1374
 
 
1375
        * configure.ac: Check for curses libraries and headers.
 
1376
 
 
1377
        * Makefile.in (LIBCURSES): New variable.
 
1378
 
 
1379
        * genmk.rb (Script::rule): Set the executable bits.
 
1380
 
 
1381
        * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
 
1382
        name of the PC partition map is "pc_partition_map" but not "pc".
 
1383
 
 
1384
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
1385
 
 
1386
        * util/i386/pc/grub-install.in (grub_probefs): New variable.
 
1387
        (modules): Likewise.
 
1388
        (usage): Added descriptions for --modules and --grub-probefs.
 
1389
        Handle --modules and --grub-probefs. Save the arguments in MODULES
 
1390
        and GRUB_PROBEFS, respectively.
 
1391
        Auto-detect a filesystem module against GRUBDIR. If the result is
 
1392
        empty and modules are not specified explicitly, abort the
 
1393
        installation. Add the result to MODULES.
 
1394
 
 
1395
        * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
 
1396
        disk/powerpc/ieee1275/ofdisk.c,
 
1397
        include/grub/powerpc/ieee1275/init.h and
 
1398
        term/powerpc/ieee1275/ofconsole.c.
 
1399
        Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
 
1400
        term/ieee1275/ofconsole.c.
 
1401
 
 
1402
        * include/grub/powerpc/ieee1275/console.h: Resurrected.
 
1403
 
 
1404
        * COPYING: Upgraded to the latest version. Only the address of the
 
1405
        FSF office has changed.
 
1406
        
 
1407
2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
1408
 
 
1409
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
 
1410
        kern/ieee1275.c with kern/ieee1275/of.c.
 
1411
 
 
1412
        * kern/ieee1275.c: Moved to ...
 
1413
        * kern/ieee1275/of.c: ... here.
 
1414
 
 
1415
2005-08-06  Yoshinori K. Okuji  <okuji@enbug.org>
 
1416
 
 
1417
        * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
 
1418
        readablity.
 
1419
 
 
1420
        * config.guess: Updated to the latest version from gnulib.
 
1421
        * config.sub: Likewise.
 
1422
        * install.sh: Likewise.
 
1423
        * mkinstalldirs: Likewise.
 
1424
 
 
1425
        * include/grub/console.h: Removed. This file is arch-specific. Do
 
1426
        not put this in include/grub.
 
1427
 
 
1428
        * include/grub/i386/pc/console.h: Resurrected.
 
1429
 
 
1430
        * util/console.c: Include grub/machine/console.h instead of
 
1431
        grub/console.h.
 
1432
        * util/grub-emu.c: Likewise.
 
1433
 
 
1434
2005-08-04  Marco Gerards  <metgerards@student.han.nl>
 
1435
 
 
1436
        * kern/term.c (grub_putcode): Use `grub_getwh' instead of
 
1437
        hardcoded value.
 
1438
                
 
1439
        From Vincent Pelletier  <subdino2004@yahoo.fr>
 
1440
        * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
 
1441
        Redefined to use grub_getwh.
 
1442
        (grub_term): New member named getwh.
 
1443
        (grub_getwh): New prototype.
 
1444
        * kern/term.c (grub_getwh): New function.
 
1445
        * term/i386/pc/console.c (grub_console_getwh): New function.
 
1446
        (grub_console_term): New member `getwh'.
 
1447
        * term/i386/pc/vga.c (grub_vga_getwh): New function.
 
1448
        (grub_vga_term): New member `getwh'.
 
1449
        * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
 
1450
        grub_ssize_t.
 
1451
        (grub_ofconsole_getw): New function.
 
1452
        (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
 
1453
        (grub_ofconsole_term): New field named getwh and new initial
 
1454
        value.
 
1455
 
 
1456
2005-08-03  Hollis Blanchard  <hollis@penguinppc.org>
 
1457
 
 
1458
        * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
 
1459
        * include/grub/ieee1275/ieee1275.h: ... to here.  All users updated.
 
1460
        Move `abort', `grub_reboot', and `grub_halt' prototypes ...
 
1461
        * include/grub/powerpc/ieee1275/kernel.h: ... to here.
 
1462
        * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
 
1463
        of <grub/machine/ieee1275.h>.
 
1464
        * commands/ieee1275/reboot.c: Likewise.
 
1465
        * boot/powerpc/ieee1275/ieee1275.c: Move ...
 
1466
        * kern/ieee1275.c: ... to here.  All users updated.  Change all
 
1467
        parameter structs to use new type `grub_ieee1275_cell_t'.
 
1468
        * term/powerpc/ieee1275/ofconsole.c: Move ...
 
1469
        * term/ieee1275/ofconsole.c: ... to here.  All users updated.
 
1470
        * disk/powerpc/ieee1275/ofdisk.c: Move ...
 
1471
        * disk/ieee1275/ofdisk.c: ... to here.  All users updated.
 
1472
        * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
 
1473
        to return int.
 
1474
        * include/grub/i386/pc/console.h: Move to include/grub/console.h.
 
1475
        Remove unused prototypes.  All users updated.
 
1476
        * include/grub/powerpc/ieee1275/console.h: Removed.
 
1477
        * include/grub/powerpc/ieee1275/ieee1275.h: Define
 
1478
        `grub_ieee1275_cell_t'.
 
1479
        * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
 
1480
        Cast comparisons with -1 to the correct type.
 
1481
        * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
 
1482
        type to match `grub_ieee1275_entry_fn'.
 
1483
 
 
1484
2005-08-01  Yoshinori K. Okuji  <okuji@enbug.org>
 
1485
 
 
1486
        * DISTLIST: Added util/i386/pc/grub-probefs.c.
 
1487
 
 
1488
        * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
 
1489
        (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
 
1490
        partmap/sun.c.
 
1491
        (grub_probefs_SOURCES): New variable.
 
1492
 
 
1493
        * util/i386/pc/grub-probefs.c: New file.
 
1494
 
 
1495
        * util/i386/pc/grub-setup.c (main): Call
 
1496
        grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
 
1497
        grub_hfs_init and grub_jfs_init to initialize the system. Call
 
1498
        grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
 
1499
        grub_pc_partition_map_fini to finish the system.
 
1500
 
 
1501
2005-07-31  Yoshinori K. Okuji  <okuji@enbug.org>
 
1502
 
 
1503
        * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
 
1504
        function.
 
1505
        (grub_multiboot_load_elf32): Likewise.
 
1506
        (grub_multiboot_is_elf64): Likewise.
 
1507
        (grub_multiboot_load_elf64): Likewise.
 
1508
        (grub_multiboot_load_elf): Likewise.
 
1509
        (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
 
1510
        an ELF32 or ELF64 file.
 
1511
        This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
 
1512
 
 
1513
        From Serbinenko Vladimir <serbinenko.vova@list.ru>:
 
1514
        * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
 
1515
        NULL before calling FS->LABEL.
 
1516
        * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
 
1517
        * commands/ls.c (grub_ls_list_files): Show labels, if possible.
 
1518
        (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
 
1519
        before calling FS->LABEL.
 
1520
 
 
1521
2005-07-26  Yoshinori K. Okuji  <okuji@enbug.org>
 
1522
 
 
1523
        * util/i386/pc/grub-install.in (datadir): New variable.
 
1524
        (libdir): Removed.
 
1525
        (pkgdatadir): New variable.
 
1526
        (pkglibdir): Removed.
 
1527
 
 
1528
2005-07-24  Yoshinori K. Okuji  <okuji@enbug.org>
 
1529
 
 
1530
        * DISTLIST: Added util/i386/pc/grub-install.in.
 
1531
 
 
1532
        * util/i386/pc/grub-install.in: New file.
 
1533
 
 
1534
        * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
 
1535
        (grub_install_SOURCES): Likewise.
 
1536
 
 
1537
        * genmk.rb: Added support for scripts.
 
1538
        (Script): New class.
 
1539
        (scripts): New variable.
 
1540
 
 
1541
        * Makefile.in (install-local): Install sbin_SCRIPTS by
 
1542
        INSTALL_SCRIPT.
 
1543
        (uninstall): Remove sbin_SCRIPTS.
 
1544
 
 
1545
        * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
 
1546
        device, try to get a GRUB device by
 
1547
        grub_util_biosdisk_get_grub_dev.
 
1548
        Free DEST_DEV.
 
1549
 
 
1550
        * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
 
1551
        description for --device-map.
 
1552
 
 
1553
2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
1554
 
 
1555
        Change the semantics of variable hooks. They now return strings
 
1556
        instead of error values.
 
1557
        
 
1558
        * util/i386/pc/grub-setup.c: Include grub/env.h.
 
1559
        (setup): Use grub_device_set_root instead of grub_env_set.
 
1560
 
 
1561
        * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
 
1562
        grub_env_get instead of grub_device_set_root and
 
1563
        grub_device_get_root, respectively.
 
1564
 
 
1565
        * kern/main.c (grub_env_write_root): New function.
 
1566
        (grub_set_root_dev): Register grub_env_write_hook for "root". Use
 
1567
        grub_env_set instead of grub_device_set_root.
 
1568
 
 
1569
        * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
 
1570
        many variables.
 
1571
        (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
 
1572
        rather than calling ENV->WRITE_HOOK afterwards.
 
1573
        (grub_env_get): Return the result of ENV->READ_HOOK rather than
 
1574
        passing a pointer of a pointer.
 
1575
        (grub_register_variable_hook): Change the types of "read_hook" and
 
1576
        "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
 
1577
        respectively.
 
1578
        Allocate the default empty string on the heap, because this string
 
1579
        may be freed later.
 
1580
 
 
1581
        * kern/device.c: Include grub/env.h.
 
1582
        (grub_device_set_root): Removed.
 
1583
        (grub_device_get_root): Likewise.
 
1584
        (grub_device_open): Use grub_env_get instead of
 
1585
        grub_device_get_root.
 
1586
 
 
1587
        * include/grub/env.h (grub_env_read_hook_t): New type.
 
1588
        (grub_env_write_hook_t): Likewise.
 
1589
        (grub_env_var): Change the types of "read_hook" and "write_hook"
 
1590
        to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
 
1591
        (grub_register_variable_hook): Likewise.
 
1592
 
 
1593
        * include/grub/device.h (grub_device_set_root): Removed.
 
1594
        (grub_device_set_root): Likewise.
 
1595
 
 
1596
        * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
 
1597
        make sure that DIRNAME terminates with '/', so that
 
1598
        grub_fat_find_dir will fail if PATH is not a directory.
 
1599
 
 
1600
        * commands/ls.c (grub_ls_list_files): Remove the qualifier const
 
1601
        from DIRNAME.
 
1602
        Use the qualifier auto for print_files and print_files_long.
 
1603
        If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
 
1604
        as a regular file.
 
1605
        Put a newline only if there is no error.
 
1606
        (grub_cmd_ls): Remove grub_ls_print_files, because this is not
 
1607
        used.
 
1608
 
 
1609
2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
1610
 
 
1611
        * kern/partition.c (grub_partition_probe): Initialize PART to
 
1612
        NULL. Otherwise, when no partition map is registered, this returns
 
1613
        a garbage.
 
1614
 
 
1615
2005-07-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
1616
 
 
1617
        * partmap/apple.c (apple_partition_map_iterate): Check if POS
 
1618
        equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
 
1619
        valid.
 
1620
 
 
1621
2005-07-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
1622
 
 
1623
        * commands/ls.c (grub_ls_list_disks): Print the filesystem
 
1624
        information on each device, if it does not have partitions. Print
 
1625
        "Device" instead of "Disk", because this function is not specific
 
1626
        to disk devices.
 
1627
 
 
1628
        * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
 
1629
        static to ensure that it is put on the memory rather than a
 
1630
        register.
 
1631
 
 
1632
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
 
1633
 
 
1634
        * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
 
1635
        (grub_cat_init): Likewise.
 
1636
        * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
 
1637
        (options): Likewise.
 
1638
        * commands/configfile.c (GRUB_MOD_INIT): Likewise.
 
1639
        (grub_configfile_init): Likewise.
 
1640
        * font/manager.c (GRUB_MOD_INIT): Likewise.
 
1641
        * commands/help.c (GRUB_MOD_INIT): Likewise.
 
1642
        (grub_help_init): Likewise.
 
1643
        * normal/command.c (grub_command_init): Likewise.
 
1644
        * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
 
1645
        * disk/loopback.c (grub_loop_init): Likewise.
 
1646
        (GRUB_MOD_INIT): Likewise.
 
1647
        * commands/ls.c (grub_ls_init): Likewise.
 
1648
        (GRUB_MOD_INIT): Likewise.
 
1649
        (options): Likewise.
 
1650
        * commands/boot.c (grub_boot_init): Likewise.
 
1651
        (GRUB_MOD_INIT): Likewise.
 
1652
        * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
 
1653
        * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
 
1654
        (GRUB_MOD_INIT): Likewise.
 
1655
        * commands/cmp.c (grub_cmp_init): Likewise.
 
1656
        (GRUB_MOD_INIT): Likewise.
 
1657
 
 
1658
        * normal/arg.c: Use <> instead of "" to include header files.
 
1659
        (SHORT_ARG_HELP): New macro.
 
1660
        (SHORT_ARG_USAGE): Likewise.
 
1661
        (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
 
1662
        of 'h' and 'u' for help and usage, respectively. Use more GNU-like
 
1663
        descriptions.
 
1664
        (find_short): Check if C is 'h' or 'u' explicitly.
 
1665
        (grub_arg_show_help): Use space characters instead of tabs. Treat
 
1666
        SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
 
1667
        are shown with --help and --usage only if they are not used for
 
1668
        the command itself.
 
1669
        (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
 
1670
        'h' and 'u'.
 
1671
 
 
1672
        * include/grub/arg.h (struct grub_arg_option): Add the qualifier
 
1673
        const into "longarg". Change the type of "shortarg" to int.
 
1674
 
 
1675
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
 
1676
 
 
1677
        * boot/i386/pc/boot.S (boot_drive_check): New label.
 
1678
 
 
1679
        * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
 
1680
        macro.
 
1681
 
 
1682
        * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
 
1683
        which do not pass a boot drive correctly. Copied from GRUB Legacy.
 
1684
 
 
1685
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
 
1686
 
 
1687
        * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
 
1688
        When turning off Gate A20, skip the check and return immediately,
 
1689
        because this is not fatal usually.
 
1690
 
 
1691
2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
 
1692
 
 
1693
        * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
 
1694
        be 0x7C00 instead of 0x8000.
 
1695
 
 
1696
        * boot/i386/pc/pxeboot.S: Rewritten.
 
1697
 
 
1698
        * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
 
1699
        EXT_C.
 
1700
        (gate_a20_check_state): Read a byte from 0x108000. Invert the
 
1701
        result.
 
1702
 
 
1703
2005-07-16  Yoshinori K. Okuji  <okuji@enbug.org>
 
1704
 
 
1705
        * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
 
1706
        robustness. This routine now supports a BIOS call and System
 
1707
        Control Port A to modify the gate A20.
 
1708
 
 
1709
        * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
 
1710
        Increased to 0x440.
 
1711
 
 
1712
2005-07-12  Hollis Blanchard  <hollis@penguinppc.org>
 
1713
 
 
1714
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
 
1715
        device path and resulting ihandle.
 
1716
        (grub_ofdisk_close): dprintf the ihandle being closed.
 
1717
        (grub_ofdisk_read): dprintf function parameters.
 
1718
        * kern/mm.c (grub_mm_init_region): Likewise.
 
1719
        * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
 
1720
        (grub_linux_boot): dprintf the Linux entry point, initrd address and
 
1721
        size, and boot arguments.
 
1722
        (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
 
1723
        before loading into memory.
 
1724
        (grub_rescue_cmd_initrd): dprintf the initrd's address and size
 
1725
        before loading into memory.
 
1726
 
 
1727
2005-07-12  Yoshinori K. Okuji  <okuji@enbug.org>
 
1728
 
 
1729
        * kern/mm.c: Added much documentation.
 
1730
        (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
 
1731
        8, set to 5 instead of 8.
 
1732
 
 
1733
2005-07-10  Yoshinori Okuji  <okuji@enbug.org>
 
1734
 
 
1735
        * DISTLIST: Added util/i386/pc/grub-mkimage.c.
 
1736
 
 
1737
        * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
 
1738
        (grub_mkdevicemap_SOURCES): New variable.
 
1739
 
 
1740
        * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
 
1741
        lib/device.c of GRUB Legacy.
 
1742
 
 
1743
2005-07-10  Yoshinori Okuji  <okuji@enbug.org>
 
1744
 
 
1745
        * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
 
1746
        instead of PATH is NULL.
 
1747
 
 
1748
2005-07-09  Vincent Pelletier  <subdino2004@yahoo.fr>
 
1749
 
 
1750
        * commands/cmp.c (BUFFER_SIZE): New macro.
 
1751
        (grub_cmd_cmp): Close the right file at the right time.  Compare
 
1752
        only data just read.  Don't report files of different  size as
 
1753
        identical.  Dynamically allocate buffers.  Move variable
 
1754
        declarations at the beginning of function.
 
1755
 
 
1756
2005-07-09  Yoshinori Okuji  <okuji@enbug.org>
 
1757
 
 
1758
        * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
 
1759
        reverse.
 
1760
 
 
1761
2004-07-04  Vincent Pelletier  <subdino2004@yahoo.fr>
 
1762
 
 
1763
        * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
 
1764
        when backspace is pressed at beginning of line.
 
1765
 
 
1766
2005-07-03  Yoshinori Okuji  <okuji@enbug.org>
 
1767
 
 
1768
        * DISTLIST: Added genfslist.sh.
 
1769
 
 
1770
        * normal/main.c (fs_module_list): New variable.
 
1771
        (autoload_fs_module): New function.
 
1772
        (read_fs_list): Likewise.
 
1773
        (grub_normal_execute): Call read_fs_list.
 
1774
 
 
1775
        * kern/fs.c (grub_fs_autoload_hook): New variable.
 
1776
        (grub_fs_probe): Added support for auto-loading.
 
1777
 
 
1778
        * include/grub/normal.h (struct grub_fs_module_list): New struct.
 
1779
        (grub_fs_module_list_t): New type.
 
1780
 
 
1781
        * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
 
1782
        (grub_fs_autoload_hook): New prototype.
 
1783
 
 
1784
        * genfslist.sh: New file.
 
1785
        
 
1786
        * genmk.rb: Added a rule to generate a filesystem list.
 
1787
 
 
1788
2005-06-30  Marco Gerards  <metgerards@student.han.nl>
 
1789
 
 
1790
        * configure.ac: Fix the test for cross-compiling.
 
1791
 
 
1792
        * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'.  Don't
 
1793
        define GRUB_UTIL anymore.
 
1794
 
 
1795
        * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
 
1796
        so this function works on other systems than just big endian.
 
1797
        (load_modules): Likewise.
 
1798
        (add_segments): Likewise.
 
1799
 
 
1800
2005-06-23  Hollis Blanchard  <hollis@penguinppc.org>
 
1801
 
 
1802
        * kern/misc.c (grub_vsprintf): Add `longfmt'.  If format string
 
1803
        contains `l' modifier, get a long from va_arg().
 
1804
 
 
1805
2005-06-23  Yoshinori K. Okuji  <okuji@enbug.org>
 
1806
 
 
1807
        * kern/mm.c (grub_free): If the next free block which is being
 
1808
        merged is the first free block, set the first block to the block
 
1809
        being freed.
 
1810
        Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
 
1811
 
 
1812
2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>
 
1813
 
 
1814
        * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
 
1815
        `grub_ieee1275_chosen'.
 
1816
 
 
1817
2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>
 
1818
 
 
1819
        * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
 
1820
        (grub_ieee1275_chosen): New variable.
 
1821
        (cmain): Initialize and use `grub_ieee1275_chosen' instead of
 
1822
        `chosen'.
 
1823
        * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
 
1824
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
 
1825
        Rename first argument to `phandle' for consistency.
 
1826
        (grub_ieee1275_get_property_length): Likewise.
 
1827
        (grub_ieee1275_next_property): Likewise.  Change type of first argument
 
1828
        to grub_ieee1275_phandle_t.
 
1829
        * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
 
1830
        Move export next to declaration.
 
1831
        (grub_ieee1275_chosen): New variable.
 
1832
        * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
 
1833
        Correct cosmetic typo.
 
1834
        * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
 
1835
        `grub_ieee1275_chosen'.
 
1836
        * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
 
1837
        * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
 
1838
        (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
 
1839
        * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
 
1840
        `grub_ieee1275_chosen'.
 
1841
 
 
1842
2005-05-10  Hollis Blanchard  <hollis@penguinppc.org>
 
1843
 
 
1844
        * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
 
1845
        /chosen/bootargs.
 
1846
        * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
 
1847
        /chosen/bootargs as "variable=value" pairs.
 
1848
 
 
1849
2005-05-08  Vincent Pelletier  <subdino2004@yahoo.fr>
 
1850
 
 
1851
        * include/grub/misc.h (grub_dprintf): New macro.
 
1852
        (grub_real_dprintf): New prototype.
 
1853
        (grub_strword): Likewise.
 
1854
        (grub_iswordseparator): Likewise.
 
1855
        * kern/misc.c (grub_real_dprintf): New function.
 
1856
        (grub_strword): Likewise.
 
1857
        (grub_iswordseparator): Likewise.
 
1858
 
 
1859
2005-04-30  Hollis Blanchard  <hollis@penguinppc.org>
 
1860
 
 
1861
        * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
 
1862
        (roundup): Remove macro.
 
1863
        (grub_ieee1275_flags): Make static.
 
1864
        (grub_ieee1275_realmode): Remove.
 
1865
        (grub_ieee1275_test_flag): New function.
 
1866
        (grub_ieee1275_set_flag): Likewise.
 
1867
        (find_options): Rename to `grub_ieee1275_find_options'; update
 
1868
        callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
 
1869
        GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
 
1870
        (cmain): New prototype.
 
1871
        (cmain): Use `grub_ieee1275_set_flag' instead of accessing
 
1872
        `grub_ieee1275_flags' directly.
 
1873
        * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
 
1874
        machine/biosdisk.h.
 
1875
        * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
 
1876
        Don't include grub/machine/init.h.
 
1877
        (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
 
1878
        * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
 
1879
        Remove prototype.
 
1880
        (grub_ieee1275_realmode): Likewise.
 
1881
        (grub_ieee1275_flag): New enum.
 
1882
        (grub_ieee1275_test_flag): New prototype.
 
1883
        (grub_ieee1275_set_flag): New prototype.
 
1884
        * include/grub/powerpc/ieee1275/init.h: Remove file.
 
1885
        * include/grub/powerpc/ieee1275/ofdisk.h: New file.
 
1886
        * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
 
1887
        Include grub/machine/console.h.  Include grub/machine/ofdisk.h.
 
1888
        (grub_machine_fini): Don't call `grub_ieee1275_release'.  Remove
 
1889
        comment.
 
1890
        * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
 
1891
        `grub_ieee1275_test_flag'.
 
1892
        (grub_ieee1275_encode_devname): Likewise.
 
1893
 
 
1894
2005-04-21  Hollis Blanchard  <hollis@penguinppc.org>
 
1895
 
 
1896
        * include/grub/powerpc/ieee1275/ieee1275.h
 
1897
        (grub_ieee1275_encode_devname): New prototype.
 
1898
        (grub_ieee1275_get_filename): Likewise.
 
1899
        * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
 
1900
        function.
 
1901
        (grub_set_prefix): Likewise.
 
1902
        (grub_machine_init): Call grub_set_prefix.
 
1903
        * kern/powerpc/ieee1275/openfw.c: Fix typos.
 
1904
        (grub_parse_type): New enum.
 
1905
        (grub_ieee1275_get_devargs): New function.
 
1906
        (grub_ieee1275_get_devname): Likewise.
 
1907
        (grub_ieee1275_parse_args): Likewise.
 
1908
        (grub_ieee1275_get_filename): Likewise.
 
1909
        (grub_ieee1275_encode_devname): Likewise.
 
1910
 
 
1911
2005-03-30  Marco Gerards  <metgerards@student.han.nl>
 
1912
 
 
1913
        * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
 
1914
        `grub_loader_unset'.
 
1915
 
 
1916
2005-03-26  Hollis Blanchard  <hollis@penguinppc.org>
 
1917
 
 
1918
        * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
 
1919
        instead of grub_ieee1275_interpret.
 
1920
        (grub_halt_init): New function.
 
1921
        (grub_halt_fini): Likewise.
 
1922
        (GRUB_MOD_INIT): Correct message grammar.
 
1923
        * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
 
1924
        instead of grub_ieee1275_interpret.
 
1925
        (grub_reboot_init): New function.
 
1926
        (grub_reboot_fini): Likewise.
 
1927
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
 
1928
        commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
 
1929
        util/i386/pc/misc.c with commands/ieee1275/halt.c,
 
1930
        commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
 
1931
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
 
1932
        function.
 
1933
        * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
 
1934
        Add prototype.
 
1935
        * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
 
1936
        prototype.
 
1937
        (grub_halt): Likewise.
 
1938
        * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
 
1939
        (cmain): Remove __attribute__((unused)).
 
1940
        * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
 
1941
        (grub_heap_len): Likewise.
 
1942
        (grub_machine_fini): New function.
 
1943
        * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
 
1944
        (grub_halt): Likewise.
 
1945
        * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
 
1946
        function.
 
1947
        * util/powerpc/ieee1275/misc.c: New file.
 
1948
 
 
1949
2005-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
1950
 
 
1951
        * DISTLIST: New file.
 
1952
        * gendistlist.sh: Likewise.
 
1953
        
 
1954
        * Makefile.in (COMMON_DISTFILES): Removed.
 
1955
        (BOOT_DISTFILES): Likewise.
 
1956
        (CONF_DISTFILES): Likewise.
 
1957
        (DISK_DISTFILES): Likewise.
 
1958
        (FS_DISTFILES): Likewise.
 
1959
        (INCLUDE_DISTFILES): Likewise.
 
1960
        (KERN_DISTFILES): Likewise.
 
1961
        (LOADER_DISTFILES): Likewise.
 
1962
        (TERM_DISTFILES): Likewise.
 
1963
        (UTIL_DISTFILES): Likewise.
 
1964
        (DISTFILES): Likewise.
 
1965
        (uninstall): Uninstall files in $(pkgdata_DATA).
 
1966
        (DISTLIST): New target.
 
1967
        (distdir): Use the contents of the file DISTLIST to get a list of
 
1968
        distributed files.
 
1969
 
 
1970
2005-03-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
1971
 
 
1972
        * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
 
1973
        descriptor. This is ported from GRUB Legacy.
 
1974
 
 
1975
        * gencmdlist.sh: Added an extra semicolon to make it work with
 
1976
        old sed versions. Reported by Robert Bihlmeyer
 
1977
        <robbe@orcus.priv.at>.
 
1978
 
 
1979
2005-03-08  Yoshinori Okuji  <okuji@enbug.org>
 
1980
 
 
1981
        Automatic loading of commands is supported.
 
1982
        
 
1983
        * normal/main.c (read_command_list): New function.
 
1984
        (grub_normal_execute): Call read_command_list.
 
1985
 
 
1986
        * normal/command.c (grub_register_command): Return zero or CMD.
 
1987
        Allocate CMD->NAME from the heap.
 
1988
        Initialize CMD->MODULE_NAME to zero.
 
1989
        Find the same name as well. If the same command is found and it is
 
1990
        a dummy command, overwrite members. If it is not a dummy command,
 
1991
        return zero.
 
1992
        (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
 
1993
        (grub_command_find): If a dummy command is found, load a module
 
1994
        and retry to find a command only once.
 
1995
 
 
1996
        * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
 
1997
        make sure that each command is loaded.
 
1998
 
 
1999
        * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
 
2000
        macro.
 
2001
        (struct grub_command): Remove const from the member `name'.
 
2002
        Add a new member `module_name'.
 
2003
        (grub_register_command): Return grub_command_t.
 
2004
 
 
2005
        * commands/help.c (grub_cmd_help): Call grub_command_find to make
 
2006
        sure that each command is loaded.
 
2007
 
 
2008
        * genmk.rb (PModule::rule): Specify a module name without the
 
2009
        suffix ".mod" to gencmdlist.sh.
 
2010
 
 
2011
2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
2012
 
 
2013
        * gencmdlist.sh: New file.
 
2014
        
 
2015
        * genmk.rb (PModule::rule): Generate a rule for a command list.
 
2016
        Clean command.lst.
 
2017
        Generate command.lst from $(COMMANDFILES).
 
2018
 
 
2019
        * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
 
2020
        (DATA): Added $(pkgdata_DATA).
 
2021
        (install-local): Install files in $(pkgdata_DATA).
 
2022
 
 
2023
2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>
 
2024
 
 
2025
        * term/i386/pc/vga.c (debug_command): Removed.
 
2026
        (GRUB_MOD_INIT): Do not register the command "debug".
 
2027
 
 
2028
        From Hollis Blanchard:
 
2029
        * commands/configfile.c: New file.
 
2030
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
 
2031
        commands/configfile.c.
 
2032
        (pkgdata_MODULES): Added configfile.mod.
 
2033
        (configfile_mod_SOURCES): New variable.
 
2034
        (configfile_mod_CFLAGS): Likewise.
 
2035
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
 
2036
        commands/configfile.c.
 
2037
        (pkgdata_MODULES): Added configfile.mod.
 
2038
        (configfile_mod_SOURCES): New variable.
 
2039
        (configfile_mod_CFLAGS): Likewise.
 
2040
        * util/grub-emu.c (main): Call grub_configfile_init and
 
2041
        grub_configfile_fini.
 
2042
        * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
 
2043
        prototype.
 
2044
        [GRUB_UTIL] (grub_configfile_fini): Likewise.
 
2045
        
 
2046
2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
2047
 
 
2048
        * normal/arg.c (grub_arg_show_help): Do not show the bug report
 
2049
        address.
 
2050
 
 
2051
        * commands/help.c (grub_cmd_help): Do not print newlines after
 
2052
        the last command in print_command_help.
 
2053
 
 
2054
2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
2055
 
 
2056
        * commands/default.h: New file.
 
2057
        * commands/timeout.h: Likewise.
 
2058
        * normal/context.c: Likewise.
 
2059
        
 
2060
        * util/misc.c: Do not include sys/times.h.
 
2061
        Include sys/time.h and grub/machine/time.h.
 
2062
        (grub_get_rtc): Rewritten with gettimeofday.
 
2063
 
 
2064
        * util/grub-emu.c (main): Call grub_default_init and
 
2065
        grub_timeout_init before grub_normal_init, and call
 
2066
        grub_timeout_fini and grub_default_fini after grub_main.
 
2067
 
 
2068
        * util/console.c (grub_ncurses_checkkey): Return the read
 
2069
        character or -1.
 
2070
 
 
2071
        * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
 
2072
        timeouts.
 
2073
 
 
2074
        * normal/main.c (read_config_file): Push MENU. If this fails,
 
2075
        print an error and wait for a user input.
 
2076
        Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
 
2077
        If a menu is empty or an error occurs, pop MENU.
 
2078
        (grub_normal_execute): Pop and free MENU after grub_menu_run
 
2079
        returns.
 
2080
 
 
2081
        * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
 
2082
 
 
2083
        * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
 
2084
        include time.h.
 
2085
        [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
 
2086
        without GRUB_UTIL.
 
2087
        * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
 
2088
        time.h.
 
2089
        [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
 
2090
        without GRUB_UTIL.
 
2091
 
 
2092
        * include/grub/normal.h (struct grub_menu_list): New struct.
 
2093
        (grub_menu_list_t): New type.
 
2094
        (struct grub_context): New struct.
 
2095
        (grub_context_t): New type.
 
2096
        (grub_register_command): Got rid of EXPORT_FUNC.
 
2097
        (grub_unregister_command): Likewise.
 
2098
        (grub_context_get): New prototype.
 
2099
        (grub_context_get_current_menu): Likewise.
 
2100
        (grub_context_push_menu): Likewise.
 
2101
        (grub_context_pop_menu): Likewise.
 
2102
        [GRUB_UTIL] (grub_default_init): Likewise.
 
2103
        [GRUB_UTIL] (grub_default_fini): Likewise.
 
2104
        [GRUB_UTIL] (grub_timeout_init): Likewise.
 
2105
        [GRUB_UTIL] (grub_timeout_fini): Likewise.
 
2106
 
 
2107
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
 
2108
        commands/timeout.c and normal/context.c.
 
2109
        (pkgdata_MODULES): Added default.mod and timeout.mod.
 
2110
        (normal_mod_SOURCES): Added normal/context.c.
 
2111
        (default_mod_SOURCES): New variable.
 
2112
        (default_mod_CFLAGS): Likewise.
 
2113
        (timeout_mod_SOURCES): Likewise.
 
2114
        (timeout_mod_CFLAGS): Likewise.
 
2115
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
 
2116
        conf/i386-pc.rmk.
 
2117
        (pkgdata_MODULES): Added default.mod and timeout.mod.
 
2118
        (normal_mod_SOURCES): Added normal/context.c.
 
2119
        (default_mod_SOURCES): New variable.
 
2120
        (default_mod_CFLAGS): Likewise.
 
2121
        (timeout_mod_SOURCES): Likewise.
 
2122
        (timeout_mod_CFLAGS): Likewise.
 
2123
 
 
2124
        * Makefile.in (all-local): Added $(MKFILES).
 
2125
 
 
2126
2005-02-21  Vincent Pelletier  <subdino2004@yahoo.fr>
 
2127
 
 
2128
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
 
2129
        (grub_emu_SOURCES): Likewise.
 
2130
        (pkgdata_MODULES): Add `sun.mod'.
 
2131
        (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
 
2132
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
 
2133
        `partmap/sun.c'.
 
2134
        (pkgdata_MODULES): Add `sun.mod'.
 
2135
        (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
 
2136
        * include/grub/partition.h (grub_sun_partition_map_init): New
 
2137
        prototype.
 
2138
        (grub_sun_partition_map_fini): Likewise.
 
2139
        * partmap/sun.c: New file.
 
2140
        * util/grub-emu.c (main): Initialize and de-initialize the sun
 
2141
        partitionmap support.
 
2142
 
 
2143
2005-02-19  Yoshinori K. Okuji  <okuji@enbug.org>
 
2144
 
 
2145
        This implements an Emacs-like menu entry editor.
 
2146
        
 
2147
        * normal/menu_entry.c: New file.
 
2148
        
 
2149
        * util/console.c (grub_ncurses_putchar): Translate some Unicode
 
2150
        characters to ASCII.
 
2151
        (saved_char): New variable.
 
2152
        (grub_ncurses_checkkey): Rewritten completely.
 
2153
        (grub_ncurses_getkey): Likewise.
 
2154
        (grub_ncurses_init): Call raw instead of cbreak.
 
2155
 
 
2156
        * normal/menu.c (print_entry): Do not put a space.
 
2157
        (init_page): Renamed to ...
 
2158
        (grub_menu_init_page): ... this. All callers changed.
 
2159
        (edit_menu_entry): Removed.
 
2160
        (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
 
2161
 
 
2162
        * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
 
2163
 
 
2164
        * kern/misc.c (grub_vprintf): Call grub_refresh.
 
2165
 
 
2166
        * normal/menu.c (DISP_LEFT): Renamed to ...
 
2167
        * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
 
2168
        * normal/menu.c (DISP_UP): Renamed to ...
 
2169
        * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
 
2170
        * normal/menu.c (DISP_RIGHT): Renamed to ...
 
2171
        * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
 
2172
        * normal/menu.c (DISP_DOWN): Renamed to ...
 
2173
        * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
 
2174
        * normal/menu.c (DISP_HLINE): Renamed to ...
 
2175
        * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
 
2176
        * normal/menu.c (DISP_VLINE): Renamed to ...
 
2177
        * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
 
2178
        * normal/menu.c (DISP_UL): Renamed to ...
 
2179
        * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
 
2180
        * normal/menu.c (DISP_UR): Renamed to ...
 
2181
        * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
 
2182
        * normal/menu.c (DISP_LL): Renamed to ...
 
2183
        * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
 
2184
        * normal/menu.c (DISP_LR): Renamed to ...
 
2185
        * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
 
2186
        * normal/menu.c (TERM_WIDTH): Renamed to ...
 
2187
        * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
 
2188
        * normal/menu.c (TERM_HEIGHT): Renamed to ...
 
2189
        * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
 
2190
        * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
 
2191
        * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
 
2192
        * normal/menu.c (TERM_MARGIN): Renamed to ...
 
2193
        * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
 
2194
        * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
 
2195
        * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
 
2196
        * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
 
2197
        * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
 
2198
        * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
 
2199
        * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
 
2200
        * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
 
2201
        * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
 
2202
        * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
 
2203
        * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
 
2204
        * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
 
2205
        * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
 
2206
        * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
 
2207
        * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
 
2208
        * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
 
2209
        * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
 
2210
        * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
 
2211
        * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
 
2212
        * normal/menu.c (TERM_CURSOR_X): Renamed to ...
 
2213
        * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
 
2214
        All callers changed.
 
2215
 
 
2216
        * include/grub/normal.h: New prototype.
 
2217
 
 
2218
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
 
2219
        normal/menu_entry.c.
 
2220
        (normal_mod_SOURCES): Likewise.
 
2221
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
 
2222
        (normal_mod_SOURCES): Likewise.
 
2223
 
 
2224
2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>
 
2225
 
 
2226
        * include/grub/normal.h (grub_halt_init): New prototype.
 
2227
        (grub_halt_fini): Likewise.
 
2228
        (grub_reboot_init): Likewise.
 
2229
        (grub_reboot_fini): Likewise.
 
2230
 
 
2231
        * util/grub-emu.c: Include signal.h.
 
2232
        (main_env): New global variable.
 
2233
        (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
 
2234
        catch C-c.
 
2235
        (grub_machine_fini): New function.
 
2236
        (main): Call grub_halt_init and grub_reboot_init before
 
2237
        grub_main, and grub_reboot_fini and grub_halt_fini after it.
 
2238
        Call setjmp with MAIN_ENV to go back afterwards.
 
2239
        Call grub_machine_fini right before return.
 
2240
 
 
2241
        * include/grub/util/misc.h: Include setjmp.h.
 
2242
        (main_env): New prototype.
 
2243
 
 
2244
        * include/grub/kernel.h (grub_machine_fini): New prototype.
 
2245
        * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
 
2246
        * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
 
2247
 
 
2248
        * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
 
2249
        * kern/i386/pc/init.c (grub_machine_fini): Likewise.
 
2250
        * term/i386/pc/console.c (grub_console_fini): Likewise.
 
2251
        
 
2252
        * util/i386/pc/misc.c: New file.
 
2253
        
 
2254
        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
 
2255
        util/i386/pc/misc.c, commands/i386/pc/halt.c and
 
2256
        commands/i386/pc/reboot.c.
 
2257
 
 
2258
2005-02-14  Guillem Jover  <guillem@hadrons.org>
 
2259
 
 
2260
        * include/grub/dl.h (grub_dl_check_header): New prototype.
 
2261
        (grub_arch_dl_check_header): Change return type to grub_err_t,
 
2262
        remove size parameter and export function.  Update all callers.
 
2263
        * kern/dl.c (grub_dl_check_header): New function.
 
2264
        (grub_dl_load_core): Use `grub_dl_check_header' instead of
 
2265
        `grub_arch_dl_check_header'.  Check ELF type.  Check if sections
 
2266
        are inside the core.
 
2267
        * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
 
2268
        independent ELF header checks.
 
2269
        * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
 
2270
        * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
 
2271
        `grub_dl_check_header' instead of explicit checks.  Check for the
 
2272
        ELF type.
 
2273
        * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
 
2274
        `grub_dl_check_header' instead of explicit checks.  Remove arch
 
2275
        specific ELF header checks.
 
2276
 
 
2277
        * util/grub-emu.c (grub_arch_dl_check_header): Remove the
 
2278
        argument SIZE.
 
2279
 
 
2280
2005-02-13  Hollis Blanchard  <hollis@penguinppc.org>
 
2281
 
 
2282
        * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
 
2283
        * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
 
2284
 
 
2285
2005-02-12  Hollis Blanchard  <hollis@penguinppc.org>
 
2286
 
 
2287
        * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
 
2288
        return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE. 
 
2289
        (part_map_iterate): Clear `grub_errno' and return 0 if
 
2290
        `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE. 
 
2291
        * partmap/amiga.c (amiga_partition_map_iterate): Return
 
2292
        GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
 
2293
        * partmap/apple.c (apple_partition_map_iterate): Likewise.
 
2294
 
 
2295
2005-02-01  Guillem Jover  <guillem@hadrons.org>
 
2296
 
 
2297
        * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
 
2298
        help info.
 
2299
 
 
2300
2005-01-31  Marco Gerards  <metgerards@student.han.nl>
 
2301
 
 
2302
        * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
 
2303
        Removed prototype.
 
2304
        (grub_rescue_cmd_linux): New prototype.
 
2305
        (grub_rescue_cmd_initrd): Likewise.
 
2306
        * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
 
2307
        `bi_rec'.
 
2308
        (grub_linux_release_mem): Release the memory for the initrd.
 
2309
        (grub_load_linux): Renamed from this...
 
2310
        (grub_rescue_cmd_linux): ...To this.  Changed all callers.
 
2311
        Changed `entry' not to be static.  Loop over memory regions to
 
2312
        find another one when the default fails.
 
2313
        (grub_rescue_cmd_initrd): New function.
 
2314
        (grub_linux_init): Remove function.
 
2315
        (grub_linux_fini): Likewise.
 
2316
        (GRUB_MOD_INIT): Register `initrd'.
 
2317
        (GRUB_MOD_FINI): Unregister `initrd'.
 
2318
        * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
 
2319
        Function removed.
 
2320
        (grub_linux_normal_fini): Likewise.
 
2321
        (GRUB_MOD_INIT): Register `initrd'.
 
2322
        (GRUB_MOD_FINI): Unregister `initrd'.
 
2323
 
 
2324
2005-01-31  Marco Gerards  <metgerards@student.han.nl>
 
2325
 
 
2326
        * commands/help.c: New file.
 
2327
        * normal/arg.c (show_help): Renamed to...
 
2328
        (grub_arg_show_help): ... this.
 
2329
        * commands/i386/pc/halt.c: New file.
 
2330
        * commands/i386/pc/reboot.c: Likewise.
 
2331
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
 
2332
        (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
 
2333
        (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
 
2334
        (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
 
2335
        variables.
 
2336
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
 
2337
        `commands/help.c'.
 
2338
        (pkgdata_MODULES): Add `help.mod'.
 
2339
        (help_mod_SOURCES, help_mod_CFLAGS): New variables.
 
2340
        * grub/i386/pc/init.h (grub_reboot): New prototype.
 
2341
        (grub_halt): Likewise.
 
2342
        * include/grub/normal.h (grub_arg_show_help): New prototype.
 
2343
        (grub_help_init): Likewise.
 
2344
        (grub_help_fini): Likewise.
 
2345
        * util/grub-emu.c (main): Initialize and deinitialize the help
 
2346
        command.
 
2347
 
 
2348
        * normal/cmdline.c (grub_cmdline_get): Doc fix.
 
2349
 
 
2350
        * normal/command.c (grub_command_init): Fixed the description of
 
2351
        the `set' and `unset' commands.
 
2352
 
 
2353
2005-01-31  Marco Gerards  <metgerards@student.han.nl>
 
2354
 
 
2355
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
 
2356
        function.
 
2357
        * commands/ieee1275/halt.c: New file.
 
2358
        * commands/ieee1275/reboot.c: Likewise.
 
2359
        * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
 
2360
        `__attribute__ ((unused))'.  Some GCS related fixed.
 
2361
        (grub_suspend_init) [GRUB_UTIL]: Function removed.
 
2362
        (grub_suspend_fini): Likewise.
 
2363
        * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
 
2364
        and `halt.mod'.
 
2365
        (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
 
2366
        (halt_mod_CFLAGS): New variables.
 
2367
        * include/grub/powerpc/ieee1275/ieee1275.h
 
2368
        (grub_ieee1275_interpret): New prototype.
 
2369
 
 
2370
2005-01-29  Yoshinori K. Okuji  <okuji@enbug.org>
 
2371
 
 
2372
        * include/grub/misc.h (memmove): New prototype.
 
2373
        (memcpy): Likewise.
 
2374
 
 
2375
2005-01-22  Hollis Blanchard  <hollis@penguinppc.org>
 
2376
 
 
2377
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
 
2378
        `devpath' to 0.  Use `name' instead of `devpath' with `grub_strndup'.
 
2379
 
 
2380
2005-01-22  Marco Gerards  <metgerards@student.han.nl>
 
2381
 
 
2382
        * kern/misc.c (grub_strndup): Function rewritten.
 
2383
 
 
2384
2005-01-22  Vincent Pelletier  <subdino2004@yahoo.fr>
 
2385
 
 
2386
        * normal/menu.c (TERM_WIDTH): Macro redefined.
 
2387
        (TERM_TOP_BORDER_Y): Likewise.
 
2388
        (draw_border): Replaced while-loop by a for-loop.  Make the number
 
2389
        of lines consistent with the number of lines displayed in
 
2390
        print_entries.  Added a margin below the rectangle.
 
2391
        (print_entry): Make the entry fit in the rectangle.
 
2392
        (print_entries): Display the scroll arrows next to the right
 
2393
        border.
 
2394
 
 
2395
2005-01-21  Marco Gerards  <metgerards@student.han.nl>
 
2396
 
 
2397
        * fs/minix.c (grub_minix_find_file): Reserve more space for
 
2398
        `fpath' so the \0 can be stored.  Use `grub_strcpy' instead of
 
2399
        `grub_strncpy' to copy `path' into it.
 
2400
 
 
2401
2005-01-21  Marco Gerards  <metgerards@student.han.nl>
 
2402
 
 
2403
        Add the loopback device, a device via which files can be accessed
 
2404
        as devices.
 
2405
        
 
2406
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
 
2407
        (pkgdata_MODULES): Add loopback.mod.
 
2408
        (loopback_mod_SOURCES): New variable.
 
2409
        (loopback_mod_CFLAGS): Likewise.
 
2410
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
 
2411
        `disk/loopback.c'.
 
2412
        (pkgdata_MODULES): Add loopback.mod.
 
2413
        (loopback_mod_SOURCES): New variable.
 
2414
        (loopback_mod_CFLAGS): Likewise.
 
2415
        * disk/loopback.c: new file.
 
2416
        * include/grub/normal.h (grub_loop_init): New prototype.
 
2417
        (grub_loop_fini): New prototype.
 
2418
        * util/grub-emu.c (main): Initialize and de-initialize loopback
 
2419
        support.
 
2420
        * include/grub/disk.h (grub_disk_dev_id): Add
 
2421
        `GRUB_DISK_DEVICE_LOOPBACK_ID'.
 
2422
 
 
2423
2005-01-20  Hollis Blanchard  <hollis@penguinppc.org>
 
2424
 
 
2425
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
 
2426
        function.
 
2427
        * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
 
2428
        (suspend_mod_SOURCES): New variable.
 
2429
        (suspend_mod_CFLAGS): Likewise.
 
2430
        * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
 
2431
        New prototype.
 
2432
        * commands/ieee1275/suspend.c: New file.
 
2433
 
 
2434
2005-01-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
 
2435
 
 
2436
        * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
 
2437
        ((unused))' to `__attribute__ ((used))'.        
 
2438
        (GRUB_MOD_FINI): Likewise.
 
2439
        * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
 
2440
        * genmk.rb (PModule): Assign space to common symbols when linking
 
2441
        modules.
 
2442
 
 
2443
2005-01-20  Marco Gerards  <metgerards@student.han.nl>
 
2444
 
 
2445
        * include/grub/mm.h (grub_mm_init_region): Change the type of the
 
2446
        `unsigned' arguments to `grub_size_t'.
 
2447
        (grub_malloc): Likewise.
 
2448
        (grub_realloc): Likewise.
 
2449
        (grub_memalign): Likewise.
 
2450
        * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
 
2451
        * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
 
2452
        * util/misc.c (grub_malloc): Likewise.
 
2453
        (grub_realloc): Likewise.
 
2454
        * kern/mm.c (get_header_from_pointer): Change the casts to
 
2455
        `unsigned' into a cast to `grub_size_t'.
 
2456
 
 
2457
        * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
 
2458
        point to `currnode' when `currnode' is changed.
 
2459
 
 
2460
        * util/grub-emu.c (main): Initialize `progname'.  Reported by Nico
 
2461
        Schottelius <nico-linux@schottelius.org>.
 
2462
 
 
2463
2005-01-09  Hollis Blanchard  <hollis@penguinppc.org>
 
2464
 
 
2465
        * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
 
2466
        (note_path): Remove variable.
 
2467
        (GRUB_IEEE1275_NOTE_NAME): New macro.
 
2468
        (GRUB_IEEE1275_NOTE_TYPE): Likewise.
 
2469
        (grub_ieee1275_note_hdr): New structure.
 
2470
        (grub_ieee1275_note_desc): Likewise.
 
2471
        (grub_ieee1275_note): Likewise.
 
2472
        (load_note): Remove `dir' argument.  All callers updated.  Remove
 
2473
        `note_img' and `path'.  Do not load a file from `note_path'.
 
2474
        Initialize a struct grub_ieee1275_note and write that to `out'.
 
2475
        Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
 
2476
 
 
2477
2005-01-05  Marco Gerards  <metgerards@student.han.nl>
 
2478
 
 
2479
        * util/misc.c (grub_util_read_image): Revert last change.  It
 
2480
        called `grub_util_read_at', which seeks from the beginning of the
 
2481
        file.
 
2482
 
 
2483
2005-01-04  Hollis Blanchard  <hollis@penguinppc.org>
 
2484
 
 
2485
        * TODO: Add note about endianness in grub-mkimage.
 
2486
        * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
 
2487
        section.
 
2488
        * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
 
2489
        (grub_mkimage_SOURCES): New target.
 
2490
        * include/grub/kernel.h (grub_start_addr): Remove variable.
 
2491
        (grub_end_addr): Likewise.
 
2492
        (grub_total_module_size): Likewise.
 
2493
        (grub_kernel_image_size): Likewise.
 
2494
        (GRUB_MODULE_MAGIC): New constant.
 
2495
        (grub_module_info): New structure.
 
2496
        (grub_arch_modules_addr): New prototype.
 
2497
        (grub_get_end_addr): Remove prototype.
 
2498
        * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
 
2499
        * include/grub/powerpc/ieee1275/kernel.h: New file.
 
2500
        * include/grub/util/misc.h (grub_util_get_fp_size): New
 
2501
        prototype.
 
2502
        (grub_util_read_at): Likewise.
 
2503
        (grub_util_write_image_at): Likewise.
 
2504
        * kern/main.c (grub_get_end_addr): Remove function.
 
2505
        (grub_load_modules): Call grub_arch_modules_addr instead of using
 
2506
        grub_end_addr.  Look for a grub_module_info struct in memory.  Use
 
2507
        the grub_module_info fields instead of calling grub_get_end_addr
 
2508
        as loop conditions.  Move grub_add_unused_region code here.
 
2509
        (grub_add_unused_region): Remove function.
 
2510
        * kern/i386/pc/init.c: Include grub/cache.h.
 
2511
        (grub_machine_init): Remove call to grub_get_end_addr.  Remove
 
2512
        one call to add_mem_region.
 
2513
        (grub_arch_modules_addr): New function.
 
2514
        * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
 
2515
        (grub_total_module_size): Likewise.
 
2516
        Include grub/machine/kernel.h.
 
2517
        (grub_arch_modules_addr): New function.
 
2518
        * util/grub-emu.c (grub_end_addr): Remove variable.
 
2519
        (grub_total_module_size): Likewise.
 
2520
        (grub_arch_modules_addr): New function.
 
2521
        * util/misc.c: Include unistd.h.
 
2522
        (grub_util_get_fp_size): New function.
 
2523
        (grub_util_read_at): Likewise.
 
2524
        (grub_util_write_image_at): Likewise.
 
2525
        (grub_util_read_image): Call grub_util_read_at.
 
2526
        (grub_util_write_image): Call grub_util_write_image_at.
 
2527
        * util/i386/pc/grub-mkimage.c (generate_image): Allocate
 
2528
        additional memory in kernel_img for a struct grub_module_info.
 
2529
        Fill in that grub_module_info.
 
2530
        * util/powerpc/ieee1275/grub-mkimage.c: New file.
 
2531
 
 
2532
2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
 
2533
 
 
2534
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
 
2535
        New function.
 
2536
        * include/grub/powerpc/ieee1275/ieee1275.h
 
2537
        (grub_ieee1275_milliseconds): New prototype.
 
2538
        * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
 
2539
        Change to 1000.
 
2540
        * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
 
2541
        grub_ieee1275_milliseconds.
 
2542
 
 
2543
2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
 
2544
 
 
2545
        * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
 
2546
        variable.
 
2547
        (find_options): New function.
 
2548
        (cmain): Call find_options.
 
2549
        * include/grub/powerpc/ieee1275/ieee1275.h
 
2550
        (grub_ieee1275_realmode): New extern variable.
 
2551
        * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
 
2552
        grub_map if grub_ieee1275_realmode is false.
 
2553
 
 
2554
2004-12-29  Marco Gerards  <metgerards@student.han.nl>
 
2555
 
 
2556
        * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
 
2557
        lines are inserted and make it work like readline.  Reported by
 
2558
        Vincent Pelletier <subdino2004@yahoo.fr>.
 
2559
 
 
2560
2004-12-28  Marco Gerards  <metgerards@student.han.nl>
 
2561
 
 
2562
        * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
 
2563
 
 
2564
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
 
2565
        `kern/powerpc/cache.S'.
 
2566
 
 
2567
2004-12-27  Marco Gerards  <metgerards@student.han.nl>
 
2568
 
 
2569
        * genmk.rb: Handle the `Program' class in the main loop.  Written
 
2570
        by Johan Rydberg <jrydberg@gnu.org>.
 
2571
        (Program): New class.
 
2572
        (programs): New variable.
 
2573
        * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
 
2574
        instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
 
2575
        instead of "grub/kernel.h".  Include <grub/machine/init.h>.
 
2576
        (help_arch): Function removed.
 
2577
        * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
 
2578
        `powerpc/libgcc.h' and `loader.h'.
 
2579
        (pkgdata_PROGRAMS): New variable.
 
2580
        (sbin_UTILITIES): Variable removed.
 
2581
        (grub_emu_SOURCES): Added kern/powerpc/cache.S.
 
2582
        (grubof_SOURCES): Variable re-defined so it only includes the
 
2583
        core functionality.
 
2584
        (grubof_CFLAGS): Remove `-DGRUBOF'.
 
2585
        (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
 
2586
        (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
 
2587
        (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
 
2588
        (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
 
2589
        (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
 
2590
        (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
 
2591
        (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
 
2592
        (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
 
2593
        (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
 
2594
        (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
 
2595
        (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
 
2596
        (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
 
2597
        (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
 
2598
        (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
 
2599
        (pc_mod_CFLAGS): New variables.
 
2600
        * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
 
2601
        (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
 
2602
        * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
 
2603
        * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
 
2604
        Moved from here...
 
2605
        * include/grub/i386/pc/init.h (grub_os_area_addr)
 
2606
        (rub_os_area_size): ... to here.
 
2607
        * include/grub/powerpc/ieee1275/ieee1275.h
 
2608
        (grub_ieee1275_entry_fn): Export symbol.
 
2609
        * include/grub/powerpc/ieee1275/init.h: New file.
 
2610
        * include/grub/powerpc/libgcc.h: Likewise.
 
2611
        * include/grub/cache.h: Likewise.
 
2612
        * kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
 
2613
        <hollis@penguinppc.org>.
 
2614
        * kern/dl.c: Include <grub/cache.h>.
 
2615
        (grub_dl_flush_cache): New function.
 
2616
        (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
 
2617
        for this module.
 
2618
        * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
 
2619
        (grub_console_init): Removed prototypes.
 
2620
        (grub_machine_init): Don't initialize the modules anymore.
 
2621
        * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
 
2622
        static.
 
2623
        * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
 
2624
        Macro undef removed.
 
2625
        (GRUB_HOST_WORDS_BIGENDIAN): New macro.
 
2626
        * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
 
2627
        relocation `R_PPC_REL32'.  Return an error when the relocation is
 
2628
        unknown.
 
2629
        * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
 
2630
        * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
 
2631
        * util/misc.c (grub_arch_sync_caches): Likewise.
 
2632
 
 
2633
2004-12-19  Marco Gerards  <metgerards@student.han.nl>
 
2634
 
 
2635
        * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
 
2636
        `symlist.c', add `grubof_symlist.c'.
 
2637
        (symlist.c): Variable removed.
 
2638
        (grubof_HEADERS): Variable added.
 
2639
        (grubof_symlist.c): New target.
 
2640
        (kernel_syms.lst): Use `grubof_HEADERS' instead of
 
2641
        `kernel_img_HEADERS'.
 
2642
        (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
 
2643
        * kern/powerpc/dl.c: New file.
 
2644
        * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
 
2645
        Function removed.
 
2646
        (grub_arch_dl_relocate_symbols): Likewise.
 
2647
        (grub_register_exported_symbols): Likewise.
 
2648
 
 
2649
2004-12-13  Marco Gerards  <metgerards@student.han.nl>
 
2650
 
 
2651
        * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
 
2652
        (grub_ext2_dir): Likewise.  Don't return in case of an error, jump
 
2653
        to fail instead.  Reported by Vincent Pelletier
 
2654
        <subdino2004@yahoo.fr>.
 
2655
 
 
2656
        * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
 
2657
        it is not allocated.  Reported by Vincent Pelletier
 
2658
        <subdino2004@yahoo.fr>.
 
2659
 
 
2660
        * normal/cmdline.c (grub_tab_complete): Add a blank line to the
 
2661
        output so the output looks better.
 
2662
        
 
2663
2004-12-04  Marco Gerards  <metgerards@student.han.nl>
 
2664
 
 
2665
        Modulize the partition map support and add support for the amiga
 
2666
        partition map.
 
2667
        
 
2668
        * commands/ls.c: Include <grub/partition.h> instead of
 
2669
        <grub/machine/partition.h>.
 
2670
        * kern/disk.c: Likewise.
 
2671
        * kern/rescue.c: Likewise.
 
2672
        * loader/i386/pc/chainloader.c: Likewise.
 
2673
        * normal/cmdline.c: Likewise.
 
2674
        * kern/powerpc/ieee1275/init.c: Likewise.
 
2675
        (grub_machine_init): Call `grub_pc_partition_map_init',
 
2676
        `grub_amiga_partition_map_init' and
 
2677
        `grub_apple_partition_map_init'.
 
2678
        * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
 
2679
        `disk/i386/pc/partition.c'.  Add `kern/partition.c'.
 
2680
        (kernel_img_HEADERS): Remove `machine/partition.h'.  Add
 
2681
        `partition.h' and `pc_partition.h'.
 
2682
        (grub_setup_SOURCES): Remove
 
2683
        `disk/i386/pc/partition.c'.  Add `kern/partition.c',
 
2684
        `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
 
2685
        (grub_emu_SOURCES): Likewise.
 
2686
        (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
 
2687
        (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
 
2688
        (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
 
2689
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
 
2690
        `disk/powerpc/ieee1275/partition.c'.  Add `kern/partition.c',
 
2691
        `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
 
2692
        (grubof_SOURCES): Likewise.
 
2693
        * disk/i386/pc/partition.c: File removed.
 
2694
        * disk/powerpc/ieee1275/partition.c: Likewise.
 
2695
        * include/grub/powerpc/ieee1275/partition.h: Likewise.
 
2696
        * include/grub/i386/pc/partition.h: Likewise.
 
2697
        * kern/partition.c: New file.
 
2698
        * partmap/amiga.c: Likewise.
 
2699
        * partmap/apple.c: Likewise.
 
2700
        * partmap/pc.c: Likewise.
 
2701
        * include/grub/partition.h: Likewise..
 
2702
        * include/grub/pc_partition.h: Likewise.
 
2703
        * util/grub-emu.c: Include <grub/partition.h> instead of
 
2704
        <grub/machine/partition.h>.
 
2705
        (main): Call `grub_pc_partition_map_init',
 
2706
        `grub_amiga_partition_map_init' and
 
2707
        `grub_apple_partition_map_init' and deinitialize afterwards.
 
2708
        * util/i386/pc/biosdisk.c: Include `#include
 
2709
        <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
 
2710
        `<grub/machine/partition.h>'.
 
2711
        * util/i386/pc/grub-setup.c: Likewise.
 
2712
        * util/i386/pc/biosdisk.c: Likewise.
 
2713
        (grub_util_biosdisk_get_grub_dev): Only access the PC specific
 
2714
        partition information in case of a PC partition.
 
2715
        * util/i386/pc/grub-setup.c: Include `#include
 
2716
        <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
 
2717
        `<grub/machine/partition.h>'.
 
2718
        (setup): Only access the PC specific partition information in case
 
2719
        of a PC partition.
 
2720
 
 
2721
2004-11-17  Hollis Blanchard  <hollis@penguinppc.org>
 
2722
        
 
2723
        * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
 
2724
        (grub_longjmp): Likewise.
 
2725
        * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
 
2726
        20.
 
2727
        * normal/powerpc/setjmp.S: New file.
 
2728
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
 
2729
        `normal/powerpc/setjmp.S'.
 
2730
        (grubof_CFLAGS): Add `-DGRUBOF'.
 
2731
        * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
 
2732
        [GRUB_UTIL && !GRUBOF].
 
2733
        
 
2734
2004-11-16  Marco Gerards  <metgerards@student.han.nl>
 
2735
 
 
2736
        * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
 
2737
        property named `name'.  Correctly handle the error returned by
 
2738
        `grub_ieee1275_finddevice' if a device can not be opened.
 
2739
 
 
2740
2004-11-02  Hollis Blanchard  <hollis@penguinppc.org>
 
2741
 
 
2742
        * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
 
2743
        `actual' for negativity.
 
2744
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
 
2745
        kern/fshelp.c.
 
2746
 
 
2747
2004-11-01  Marco Gerards  <metgerards@student.han.nl>
 
2748
 
 
2749
        * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
 
2750
        (PAGE_OFFSET): New macro.
 
2751
        (CRTC_ADDR_PORT): Likewise.
 
2752
        (CRTC_DATA_PORT): Likewise.
 
2753
        (START_ADDR_HIGH_REGISTER): Likewise.
 
2754
        (START_ADDR_LOW_REGISTER): Likewise.
 
2755
        (GRAPHICS_ADDR_PORT): Likewise.
 
2756
        (GRAPHICS_DATA_PORT): Likewise.
 
2757
        (READ_MAP_REGISTER): Likewise.
 
2758
        (INPUT_STATUS1_REGISTER): Likewise.
 
2759
        (INPUT_STATUS1_VERTR_BIT): Likewise.
 
2760
        (page): New variable.
 
2761
        (wait_vretrace): New function.
 
2762
        (set_read_map): Likewise.
 
2763
        (set_start_address): Likewise.
 
2764
        (grub_vga_init): Use mode 0x10 instead of mode 0x12.  Switch to
 
2765
        the right page.
 
2766
        (check_vga_mem): Take the page into account.
 
2767
        (write_char): Likewise.
 
2768
        (write_cursor): Likewise.
 
2769
        (scroll_up): Likewise.  Copy the page to the page that is not
 
2770
        shown and switch between both pages.
 
2771
        (grub_vga_putchar): Fix off by one error.
 
2772
        (grub_vga_cls): Wait for the vertical retrace.  Take the page into
 
2773
        account.
 
2774
 
 
2775
2004-11-01  Marco Gerards  <metgerards@student.han.nl>
 
2776
 
 
2777
        Add support for iso9660 (including rockridge).
 
2778
        
 
2779
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
 
2780
        (iso9660_mod_SOURCES): New variable.
 
2781
        (iso9660_mod_CFLAGS): Likewise.
 
2782
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
 
2783
        * include/grub/fs.h (grub_iso9660_init): New prototype.
 
2784
        * util/grub-emu.c (main): Call `grub_iso9660_init'.
 
2785
        * fs/iso9660.c: New file.
 
2786
 
 
2787
        * include/grub/misc.h (grub_strncat): New prototype.
 
2788
        * kern/misc.c (grub_strncat): New function.
 
2789
        
 
2790
        * fs/hfs.c (grub_hfs_mount): Translate the error
 
2791
        `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
 
2792
        * fs/jfs.c (grub_jfs_mount): Likewise.
 
2793
        * fs/ufs.c (grub_ufs_mount): Likewise.
 
2794
 
 
2795
2004-10-28  Hollis Blanchard  <hollis@penguinppc.org>
 
2796
 
 
2797
        * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
 
2798
        which initialized BAT registers.
 
2799
        * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
 
2800
        grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
 
2801
        Move from here...
 
2802
        * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
 
2803
        grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
 
2804
        ... to here.
 
2805
        * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
 
2806
        (grub_mapclaim): Likewise.
 
2807
        * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
 
2808
        grub_mapclaim instead of grub_ieee1275_claim.  Assign linux_addr by
 
2809
        hand.
 
2810
 
 
2811
2004-10-19  Hollis Blanchard  <hollis@penguinppc.org>
 
2812
 
 
2813
        * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
 
2814
        (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
 
2815
        -ffreestanding and -msoft-float.
 
2816
 
 
2817
2004-10-15  Hollis Blanchard  <hollis@penguinppc.org>
 
2818
 
 
2819
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
 
2820
        append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
 
2821
        set in grub_ieee1275_flags.
 
2822
 
 
2823
2004-10-14  Hollis Blanchard  <hollis@penguinppc.org>
 
2824
 
 
2825
        * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
 
2826
        prototype.
 
2827
        * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
 
2828
        grub_console_init first.
 
2829
        Change the memory range used for grub_ieee1275_claim and
 
2830
        grub_mm_init_region.
 
2831
        Print an error message if the claim fails.
 
2832
        Include <grub/misc.h>.
 
2833
 
 
2834
2004-10-13  Hollis Blanchard  <hollis@penguinppc.org>
 
2835
 
 
2836
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
 
2837
        Call grub_children_iterate for device nodes of type `scsi',
 
2838
        `ide', or `ata'.
 
2839
        (grub_ofdisk_open): Remove manual device alias resolution.
 
2840
        Fix memory leak when device cannot be opened.
 
2841
        * include/grub/powerpc/ieee1275/ieee1275.h 
 
2842
        (grub_children_iterate): New prototype.
 
2843
        * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
 
2844
        New function.
 
2845
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
 
2846
        Return -1 if args.size was -1.
 
2847
 
 
2848
2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
 
2849
 
 
2850
        * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
 
2851
        (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
 
2852
        World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
 
2853
        Open Firmware's memory for it; claim memory from _start to _end.
 
2854
        * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
 
2855
        (_end): New extern.
 
2856
        (_start): Zero BSS from __bss_start to _end.
 
2857
        * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
 
2858
        New extern.
 
2859
        (GRUB_IEEE1275_NO_PARTITION_0): New #define.
 
2860
 
 
2861
2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
 
2862
 
 
2863
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
 
2864
        -1 if args.base was -1.
 
2865
 
 
2866
2004-10-08  Hollis Blanchard  <hollis@penguinppc.org>
 
2867
 
 
2868
        * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
 
2869
        escape sequence instead of a literal ^L. Also call
 
2870
        grub_ofconsole_gotoxy.
 
2871
 
 
2872
2004-10-03  Hollis Blanchard  <hollis@penguinppc.org>
 
2873
 
 
2874
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
 
2875
        void *  arguments to grub_addr_t.  All callers updated.  Also make
 
2876
        the `result' argument optional.
 
2877
        (grub_ieee1275_release): change void * arguments to grub_addr_t.
 
2878
        All callers updated.
 
2879
 
 
2880
2004-09-22  Hollis Blanchard  <hollis@penguinppc.org>
 
2881
 
 
2882
        * commands/ls.c (grub_ls_list_files): Use the string following the
 
2883
        initial ')', if present, as the filesystem path.
 
2884
        * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
 
2885
 
 
2886
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
 
2887
 
 
2888
2004-09-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
2889
 
 
2890
        Make the source code of the menu interface more readable.
 
2891
        
 
2892
        * normal/menu.c: Include grub/mm.h.
 
2893
        (TERM_WIDTH): New macro.
 
2894
        (TERM_HEIGHT): Likewise.
 
2895
        (TERM_INFO_HEIGHT): Likewise.
 
2896
        (TERM_MARGIN): Likewise.
 
2897
        (TERM_SCROLL_WIDTH): Likewise.
 
2898
        (TERM_TOP_BORDER_Y): Likewise.
 
2899
        (TERM_LEFT_BORDER_X): Likewise.
 
2900
        (TERM_BORDER_WIDTH): Likewise.
 
2901
        (TERM_MESSAGE_HEIGHT): Likewise.
 
2902
        (TERM_BORDER_HEIGHT): Likewise.
 
2903
        (TERM_NUM_ENTRIES): Likewise.
 
2904
        (TERM_FIRST_ENTRY_Y): Likewise.
 
2905
        (TERM_ENTRY_WIDTH): Likewise.
 
2906
        (TERM_CURSOR_X): Likewise.
 
2907
        (draw_border): Use macros instead of magic numbers.
 
2908
        (print_entry): Likewise.
 
2909
        (print_entries): Likewise.
 
2910
        (run_menu): Likewise. Also, handle the key 'e'.
 
2911
        (run_menu_entry): Ignore empty command lines.
 
2912
        (print_message): Added a new argument EDIT. If EDIT is true,
 
2913
        print a different message.
 
2914
        (init_page): Likewise.
 
2915
        (edit_menu_entry): New function. Not implemented yet.
 
2916
 
 
2917
2004-09-17  Marco Gerards  <metgerards@student.han.nl>
 
2918
 
 
2919
        Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
 
2920
        can be loaded from normal mode.
 
2921
        
 
2922
        * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
 
2923
        `multiboot.mod'.
 
2924
        (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
 
2925
        (multiboot_mod_CFLAGS): New variables.
 
2926
        * loader/i386/pc/linux_normal.c: New file.
 
2927
        * loader/i386/pc/multiboot_normal.c: Likewise.  
 
2928
        
 
2929
        * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
 
2930
        attribute `unused'.
 
2931
        
 
2932
        * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type.  Use
 
2933
        `fdiro' to read the mode information from instead of `diro'.
 
2934
 
 
2935
        * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
 
2936
        looking up a symlink.
 
2937
 
 
2938
        * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
 
2939
        macro.
 
2940
        * normal/command.c (grub_command_execute): Don't parse the
 
2941
        arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
 
2942
        flags of the command.
 
2943
 
 
2944
        * normal/menu.c (grub_menu_run): Fix typo.
 
2945
 
 
2946
2004-09-14  Hollis Blanchard  <hollis@penguinppc.org>
 
2947
 
 
2948
        * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
 
2949
 
 
2950
        * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
 
2951
        `y + 1' instead of `y - 1'.
 
2952
 
 
2953
        * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
 
2954
        
 
2955
2004-09-14  Yoshinori K. Okuji  <okuji@enbug.org>
 
2956
 
 
2957
        From Hollis Blanchard <hollis@penguinppc.org>:
 
2958
        * kern/misc.c (memmove): New alias for grub_memmove.
 
2959
        (memcmp): New alias for grub_memcmp.
 
2960
        (memset): New alias for grub_memset.
 
2961
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property): 
 
2962
        Change "int handle" to "grub_ieee1275_phandle_t handle".
 
2963
        * include/grub/powerpc/ieee1275/ieee1275.h 
 
2964
        (grub_ieee1275_get_property): Likewise.
 
2965
        
 
2966
2004-09-12  Tomas Ebenlendr  <ebik@ucw.cz>
 
2967
 
 
2968
        Added normal mode command `chainloader' as module chain.mod, which
 
2969
        depends on normal.mod and _chain.mod.
 
2970
        
 
2971
        * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
 
2972
        (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
 
2973
        * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
 
2974
        Deleted prototype.
 
2975
        * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
 
2976
        but arguments parsing moved to ...
 
2977
        (grub_chainloader_cmd): ... here.  New function.
 
2978
        * include/grub/i386/pc/chainloader.h: New file.
 
2979
        * loader/i386/pc/chainloader_normal.c: Likewise.
 
2980
 
 
2981
2004-09-11  Marco Gerards  <metgerards@student.han.nl>
 
2982
 
 
2983
        * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
 
2984
        (grub_mkimage_LDFLAGS): Likewise.
 
2985
        (grub_emu_SOURCES): Likewise.
 
2986
        (kernel_img_HEADERS): Added fshelp.h.
 
2987
        * fs/ext2.c: Include <grub/fshelp.h>.
 
2988
        (FILETYPE_REG): New macro.
 
2989
        (FILETYPE_INO_REG): Likewise.
 
2990
        (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
 
2991
        Changed all users.
 
2992
        (ext2_block_group): Renamed to `grub_ext2_block_group'.  Changed
 
2993
        all users.
 
2994
        (grub_fshelp_node): New struct.
 
2995
        (grub_ext2_data): Added member `diropen'.  Changed member `inode'
 
2996
        to a pointer.
 
2997
        (grub_ext2_get_file_block): Removed function.
 
2998
        (grub_ext2_read_block): New function.
 
2999
        (grub_ext2_read_file): Replaced parameter `data' by `node'.
 
3000
        This function was written.
 
3001
        (grub_ext2_mount): Read the root inode.  Create a diropen struct.
 
3002
        (grub_ext2_find_file): Removed function.
 
3003
        (grub_ext2_read_symlink): New function.
 
3004
        (grub_ext2_iterate_dir): Likewise.
 
3005
        (grub_ext2_open): Rewritten.
 
3006
        (grub_ext2_dir): Rewritten.
 
3007
        * include/grub/fshelp.h: New file.
 
3008
        * fs/fshelp.c: Likewise.
 
3009
 
 
3010
2004-09-10  Yoshinori K. Okuji  <okuji@enbug.org>
 
3011
 
 
3012
        * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
 
3013
        (print_message): Add a missing newline.
 
3014
        (run_menu): Added timeout support.
 
3015
        (run_menu_entry): New local function.
 
3016
        (grub_menu_run): Added support for booting.
 
3017
 
 
3018
        * kern/loader.c (grub_loader_is_loaded): New function.
 
3019
 
 
3020
        * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
 
3021
        (grub_get_rtc): Exported.
 
3022
 
 
3023
        * include/grub/i386/pc/time.h: Include grub/symbol.h.
 
3024
        (grub_get_rtc): Exported.
 
3025
 
 
3026
        * include/grub/normal.h (struct grub_command_list): Remove
 
3027
        constant from the member `command'.
 
3028
 
 
3029
        * include/grub/loader.h (grub_loader_is_loaded): Declared.
 
3030
 
 
3031
        * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
 
3032
 
 
3033
        * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
 
3034
 
 
3035
2004-08-28  Marco Gerards  <metgerards@student.han.nl>
 
3036
 
 
3037
        Add support for the JFS filesystem.
 
3038
 
 
3039
        * fs/jfs.c: New file.
 
3040
        * include/grub/fs.h (grub_jfs_init): New prototype.
 
3041
        (grub_jfs_fini): New prototype.
 
3042
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
 
3043
        (grub_emu_SOURCES): Likewise.
 
3044
        (pkgdata_MODULES): Add jfs.mod.
 
3045
        (jfs_mod_SOURCES): New variable.
 
3046
        (jfs_mod_CFLAGS): Likewise.
 
3047
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
 
3048
        (grubof_SOURCES): Likewise.
 
3049
        * util/grub-emu.c (main): Initialize and deinitialize JFS support.
 
3050
 
 
3051
        * fs/fat.c (grub_fat_find_dir): Convert the filename little
 
3052
        endian to the host endian.
 
3053
        (grub_fat_utf16_to_utf8): Move function from there...
 
3054
        * kern/misc.c (grub_utf16_to_utf8): ...to here.  Do not convert
 
3055
        the endianess of the source string anymore.
 
3056
        * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
 
3057
 
 
3058
2004-08-24  Marco Gerards  <metgerards@student.han.nl>
 
3059
 
 
3060
        * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
 
3061
        (grub_boot_fini) [GRUB_UTIL]: Likewise.
 
3062
        (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
 
3063
        (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
 
3064
        
 
3065
        * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
 
3066
        (grub_hfs_iterate_dir): Make the function static.  Add prototypes
 
3067
        for `node_found' and `it_dir'.
 
3068
        (grub_hfs_dir): Add prototype for `dir_hook'.
 
3069
 
 
3070
        * fs/minix.c (grub_minix_get_file_block): Add prototype for
 
3071
        `grub_get_indir'.  Rename `indir' in two blocks to `indir16'
 
3072
        and `indir32' to silence a gcc warning.
 
3073
 
 
3074
        * include/grub/fs.h (grub_hfs_init): New prototype.
 
3075
        (grub_hfs_fini): Likewise.
 
3076
        
 
3077
        
 
3078
2004-08-21  Yoshinori K. Okuji  <okuji@enbug.org>
 
3079
 
 
3080
        Each disk device has its own id now. This is useful to make use
 
3081
        of multiple disk devices.
 
3082
        
 
3083
        * include/grub/disk.h (grub_disk_dev_id): New enum.
 
3084
        (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
 
3085
        (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
 
3086
 
 
3087
        * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
 
3088
        GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
 
3089
 
 
3090
        * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
 
3091
        GRUB_DISK_DEVICE_OFDISK_ID as an id.
 
3092
 
 
3093
        * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
 
3094
        GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
 
3095
 
 
3096
        * include/grub/disk.h (struct grub_disk_dev): Added a new member
 
3097
        "id" which is used by the cache manager.
 
3098
 
 
3099
        * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
 
3100
        of just "GRUB".
 
3101
 
 
3102
2004-08-18  Marco Gerards  <metgerards@student.han.nl>
 
3103
 
 
3104
        * fs/hfs.c: New file.
 
3105
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
 
3106
        (grub_emu_SOURCES): Likewise.
 
3107
        (pkgdata_MODULES): Add hfs.mod.
 
3108
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
 
3109
        (grubof_SOURCES): Likewise.
 
3110
        * util/grub-emu.c (main): Initialize and deinitialize HFS support.
 
3111
 
 
3112
        * include/grub/misc.h (grub_strncasecmp): Add prototype.
 
3113
        * kern/misc.c (grub_strncasecmp): Add function.
 
3114
 
 
3115
2004-08-14  Marco Gerards  <metgerards@student.han.nl>
 
3116
 
 
3117
        * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
 
3118
        with parentheses.
 
3119
 
 
3120
        * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
 
3121
        (grub_ext2_dir): In case the directory entry type is unknown, read
 
3122
        it from the inode.
 
3123
 
 
3124
2004-08-02  Peter Bruin  <pjbruin@dds.nl>
 
3125
 
 
3126
        * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
 
3127
        grub_load_linux instead of grub_rescue_cmd_linux as second
 
3128
        argument of grub_rescue_register_command.
 
3129
 
 
3130
        * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
 
3131
 
 
3132
2004-07-27  Marco Gerards  <metgerards@student.han.nl>
 
3133
 
 
3134
        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
 
3135
        function.
 
3136
        * commands/boot.c: Remove the check for `GRUB_UTIL'.
 
3137
        * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
 
3138
        `loader/powerpc/ieee1275/linux.c',
 
3139
        `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
 
3140
        * include/grub/powerpc/ieee1275/ieee1275.h
 
3141
        (grub_ieee1275_release): New prototype.
 
3142
        * include/grub/powerpc/ieee1275/loader.h: Rewritten.
 
3143
        * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
 
3144
        normal, boot, linux and linux_normal.
 
3145
        * loader/powerpc/ieee1275/linux.c: New file.
 
3146
        * loader/powerpc/ieee1275/linux_normal.c: Likewise.
 
3147
 
 
3148
2004-07-12  Marco Gerards  <metgerards@student.han.nl>
 
3149
 
 
3150
        * normal/arg.c (grub_arg_parse): Correct error handling after
 
3151
        reallocating the argumentlist (check if `argl' is not null instead
 
3152
        of checking if `args' is not null).
 
3153
        * kern/mm.c (grub_realloc): Return the same pointer when using the
 
3154
        same region, instead of returning the header address.
 
3155
 
 
3156
2004-07-11  Marco Gerards  <metgerards@student.han.nl>
 
3157
 
 
3158
        * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
 
3159
        one block instead of two when looking for the initial partition.
 
3160
        (grub_partition_probe): Initialize the local variable `p' with 0.
 
3161
        Use base 10 for the grub_strtoul call.
 
3162
        * kern/misc.c (grub_strncpy): Fix off by one bug.  Eliminated the
 
3163
        need for one local variable.
 
3164
        (grub_strtoul): Don't add the new value to `num', instead of that
 
3165
        just assign it.
 
3166
 
 
3167
2004-07-11  Marco Gerards  <metgerards@student.han.nl>
 
3168
 
 
3169
        * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
 
3170
        (pxeboot_img_SOURCES): New variable.
 
3171
        (pxeboot_img_ASFLAGS): Likewise.
 
3172
        (pxeboot_img_LDFLAGS): Likewise.
 
3173
        * boot/i386/pc/pxeboot.S: New file.  Based on pxeloader.S from
 
3174
        GRUB Legacy and boot.S.  Adopted for GRUB 2 by lode leroy
 
3175
        <lode_leroy@hotmail.com>.
 
3176
 
 
3177
2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 
3178
 
 
3179
        * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
 
3180
        there was no input.
 
3181
 
 
3182
2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 
3183
 
 
3184
        * normal/cmdline.c (grub_set_history): Fix off by one bug.  Fixed
 
3185
        the history buffer logic.
 
3186
 
 
3187
2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
 
3188
 
 
3189
        * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
 
3190
        (FILETYPE_INO_SYMLINK): New macros.
 
3191
        (grub_ext2_find_file): Check if the node is a directory using the
 
3192
        inode stat information instead of using the filetype in the
 
3193
        dirent.  Exclude the first character of an absolute symlink.
 
3194
        (grub_ext2_dir): Mask out the filetype part of the mode member of
 
3195
        the inode.
 
3196
 
 
3197
2004-05-24  Marco Gerards  <metgerards@student.han.nl>
 
3198
 
 
3199
        Add support for UFS version 1 and 2.  Add support for the minix
 
3200
        filesystem version 1 and 2, both the variants with 14 and 30 long
 
3201
        filenames.
 
3202
        
 
3203
        * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
 
3204
        fs/minix.c.
 
3205
        (grub_emu_SOURCES): Likewise.
 
3206
        (pkgdata_MODULES): Add ufs.mod and minix.mod.
 
3207
        (ufs_mod_SOURCES): New variable.
 
3208
        (ufs_mod_CFLAGS): Likewise.
 
3209
        (minix_mod_SOURCES): Likewise.
 
3210
        (minix_mod_CFLAGS): Likewise.
 
3211
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
 
3212
        fs/minix.c.
 
3213
        (grubof_SOURCES): Likewise.
 
3214
        * fs/ufs.c: New file.
 
3215
        * fs/minix.c: New file.
 
3216
        * include/grub/fs.h (grub_ufs_init): New prototype.
 
3217
        (grub_ufs_fini): Likewise.
 
3218
        (grub_minix_init): Likewise.
 
3219
        (grub_minix_fini): Likewise.
 
3220
        * util/grub-emu.c (main): Initialize and deinitialize UFS and
 
3221
        minix fs.
 
3222
 
 
3223
2004-04-30  Jeroen Dekkers  <jeroen@dekkers.cx>
 
3224
 
 
3225
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
 
3226
        commands/ls.c, commands/terminal.c, commands/boot.c,
 
3227
        commands/cmp.c and commands/cat.c.
 
3228
        (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
 
3229
 
 
3230
        * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
 
3231
        "env.h"
 
3232
 
 
3233
2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
 
3234
 
 
3235
        All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
 
3236
        and grub_, respectively. Because the conversion is trivial and
 
3237
        mechanical, I omit the details here. Please refer to the CVS
 
3238
        if you need more information.
 
3239
 
 
3240
2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
 
3241
 
 
3242
        * include/pupa: Renamed to ...
 
3243
        * include/grub: ... this.
 
3244
        * util/i386/pc/pupa-mkimage.c: Renamed to ...
 
3245
        * util/i386/pc/grub-mkimage.c: ... this.
 
3246
        * util/i386/pc/pupa-setup.c: Renamed to ...
 
3247
        * util/i386/pc/grub-setup.c: ... this.
 
3248
        * util/pupa-emu.c: Renamed to ...
 
3249
        * util/grub-emu.c: ... this.
 
3250
 
 
3251
2004-03-29  Marco Gerards  <metgerards@student.han.nl>
 
3252
 
 
3253
        Add support for the newworld apple macintosh (PPC).  This has been
 
3254
        tested on the powerbook 2000 only.  It only adds support for
 
3255
        generic ieee1275 functions, console and disk support.  This should
 
3256
        be easy to port to other architectures with support for Open
 
3257
        Firmware.
 
3258
        
 
3259
        * configure.ac: Accept the powerpc as host_cpu.  In the case of
 
3260
        the powerpc cpu set the host_vendor to ieee1275.  Make sure the i386
 
3261
        specific tests are only executed while building for the i386.
 
3262
        Inverse test for crosscompile.
 
3263
        * genmk.rb (Utility): Allow assembler files.
 
3264
        * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
 
3265
        * conf/powerpc-ieee1275.rmk: New file.
 
3266
        * disk/powerpc/ieee1275/ofdisk.c: Likewise.
 
3267
        * disk/powerpc/ieee1275/partition.c: Likewise.
 
3268
        * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
 
3269
        * include/pupa/powerpc/ieee1275/console.h: Likewise.
 
3270
        * include/pupa/powerpc/ieee1275/partition.h: Likewise.
 
3271
        * include/pupa/powerpc/ieee1275/time.h: Likewise.
 
3272
        * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
 
3273
        * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
 
3274
        * include/pupa/powerpc/ieee1275/loader.h
 
3275
        * include/pupa/powerpc/setjmp.h: Likewise.
 
3276
        * include/pupa/powerpc/types.h: Likewise.
 
3277
        * kern/powerpc/ieee1275/init.c: Likewise.
 
3278
        * kern/powerpc/ieee1275/openfw.c: Likewise.
 
3279
        * term/powerpc/ieee1275/ofconsole.c: Likewise.
 
3280
 
 
3281
        These files were written by Johan Rydberg
 
3282
        (jrydberg@night.trouble.net) and I only modified them slightly.
 
3283
                
 
3284
        * boot/powerpc/ieee1275/cmain.c: New file.
 
3285
        * boot/powerpc/ieee1275/crt0.S: Likewise.
 
3286
        * boot/powerpc/ieee1275/ieee1275.c: Likewise.
 
3287
        * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
 
3288
 
 
3289
2004-03-14  Jeroen Dekkers  <jeroen@dekkers.cx>
 
3290
 
 
3291
        * Makefile.in: Update copyright.
 
3292
        * genmodsrc.sh: Likewise.
 
3293
        * gensymlist.sh: Likewise.
 
3294
        * term/i386/pc/vga.c: Indent correctly.
 
3295
 
 
3296
        * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
 
3297
        bugreporting address.
 
3298
        * util/i386/pc/pupa-setup.c (usage): Likewise,
 
3299
        (main): Call pupa_ext2_init and pupa_ext2_fini.
 
3300
 
 
3301
        * fs/fat.c (log2): Renamed to ... 
 
3302
        (fat_log2): ... this.
 
3303
        All callers changed.
 
3304
        * kern/misc.c (memcpy): Alias to pupa_memmove.
 
3305
        * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
 
3306
        lvalue cast.
 
3307
        * util/console.c (pupa_ncurses_fini): Return 0.
 
3308
 
 
3309
        * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
 
3310
        Move fail label here.
 
3311
        [__GNU__]: Don't warn when using stat.
 
3312
        (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
 
3313
        (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
 
3314
        long int. Use strtol instead of strtoul.
 
3315
        
 
3316
2004-03-14  Marco Gerards  <metgerards@student.han.nl>
 
3317
 
 
3318
        * commands/boot.c: New file.
 
3319
        * commands/cat.c: Likewise.
 
3320
        * commands/cmp.c: Likewise.
 
3321
        * commands/ls.c: Likewise.
 
3322
        * commands/terminal.c: Likewise.
 
3323
        * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
 
3324
        (pupa_register_command): Changed interface to match the new
 
3325
        argument parser.
 
3326
        (pupa_command_execute): Changed (almost rewritten) so it uses
 
3327
        pupa_split_command.  Added support for setting variables using the
 
3328
        syntax `foo=bar'.
 
3329
        (rescue_command): Changed to work with the new argument parser.
 
3330
        (terminal_command): Moved from here to commands/terminal.c.
 
3331
        (set_command): New function.
 
3332
        (unset_command): New function.
 
3333
        (insmod_command): New function.
 
3334
        (rmmod_command): New function.
 
3335
        (lsmod_command): New function.
 
3336
        (pupa_command_init): Don't initialize the command terminal
 
3337
        anymore.  Initialize the commands set, unset, insmod, rmmod and
 
3338
        lsmod.
 
3339
        * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
 
3340
        (kernel_img_HEADERS): Add arg.h and env.h.
 
3341
        (pupa_mkimage_LDFLAGS): Add kern/env.c.
 
3342
        (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
 
3343
        commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
 
3344
        normal/arg.c.
 
3345
        (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
 
3346
        terminal.mod.
 
3347
        (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
 
3348
        (boot_mod_SOURCES): New variable.
 
3349
        (terminal_mod_SOURCES): Likewise.
 
3350
        (ls_mod_SOURCES): Likewise.
 
3351
        (cmp_mod_SOURCES): Likewise.
 
3352
        (cat_mod_SOURCES): Likewise.
 
3353
 
 
3354
        * normal/arg.c: New file.
 
3355
        * kern/env.c: Likewise.
 
3356
        * include/pupa/arg.h: Likewise.
 
3357
        * include/pupa/env.h: Likewise.
 
3358
        * font/manager.c (font_command): Changed to match argument parsing
 
3359
        interface changes.
 
3360
        (PUPA_MOD_INIT): Likewise.
 
3361
        * hello/hello.c (pupa_cmd_hello): Likewise.
 
3362
        (PUPA_MOD_INIT): Likewise.
 
3363
        * include/pupa/disk.h: Include <pupa/device.h>.
 
3364
        (pupa_print_partinfo): New prototype.
 
3365
        * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
 
3366
        (pupa_dl_get_prefix): Likewise.
 
3367
        * include/pupa/misc.h: Include <pupa/err.h>.
 
3368
        (pupa_isgraph): New prototype.
 
3369
        (pupa_isdigit): Likewise.
 
3370
        (pupa_split_cmdline): Likewise.
 
3371
        * include/pupa/normal.h: Include <pupa/arg.h>.
 
3372
        (pupa_command): Changed the prototype of the member `func' to
 
3373
        match the argument parsing interface.  Added member `options'.
 
3374
        (pupa_register_command): Updated to match function.
 
3375
        (pupa_arg_parse): New prototype.
 
3376
        (pupa_hello_init) [PUPA_UTIL]: New prototype.
 
3377
        (pupa_hello_fini) [PUPA_UTIL]: Likewise.
 
3378
        (pupa_ls_init) [PUPA_UTIL]: Likewise.
 
3379
        (pupa_ls_fini) [PUPA_UTIL]: Likewise.
 
3380
        (pupa_cat_init) [PUPA_UTIL]: Likewise.
 
3381
        (pupa_cat_fini) [PUPA_UTIL]: Likewise.
 
3382
        (pupa_boot_init) [PUPA_UTIL]: Likewise.
 
3383
        (pupa_boot_fini) [PUPA_UTIL]: Likewise.
 
3384
        (pupa_cmp_init) [PUPA_UTIL]: Likewise.
 
3385
        (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
 
3386
        (pupa_terminal_init) [PUPA_UTIL]: Likewise.
 
3387
        (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
 
3388
        * kern/disk.c: Include <pupa/file.h>.
 
3389
        (pupa_print_partinfo): New function.
 
3390
        * kern/dl.c: Include <pupa/env.h>.
 
3391
        (pupa_dl_dir): Variable removed.
 
3392
        (pupa_dl_load): Use the environment variable `prefix' instead of
 
3393
        the variable pupa_dl_dir.
 
3394
        (pupa_dl_set_prefix): Function removed.
 
3395
        (pupa_dl_get_prefix): Likewise.
 
3396
        * kern/i386/pc/init.c: Include <pupa/env.h>.
 
3397
        (pupa_machine_init): Use the environment variable `prefix' instead of
 
3398
        using pupa_dl_set_prefix to set the prefix.
 
3399
        * kern/main.c: Include <pupa/env.h>.
 
3400
        (pupa_set_root_dev): Use the environment variable `prefix' instead of
 
3401
        using pupa_dl_get_prefix to get the prefix.
 
3402
        * kern/misc.c: Include <pupa/env.h>.
 
3403
        (pupa_isdigit): New function.
 
3404
        (pupa_isgraph): Likewise.
 
3405
        (pupa_ftoa): Likewise.
 
3406
        (pupa_vsprintf): Added support for printing values of the type
 
3407
        `double'.  Make it possible to format variable output when using
 
3408
        formatting like `%1.2%f'.
 
3409
        (pupa_split_cmdline): New function.
 
3410
        * kern/rescue.c: Include <pupa/env.h>.
 
3411
        (next_word): Removed function.
 
3412
        (pupa_rescue_cmd_prefix): Likewise.
 
3413
        (pupa_rescue_cmd_set): New function.
 
3414
        (pupa_rescue_cmd_unset): New function.
 
3415
        (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
 
3416
        split the command line instead of splitting it here.  Added
 
3417
        support for setting variables using the syntax `foo=bar'.  Don't
 
3418
        initialize the prefix command anymore.  Initialized the set and
 
3419
        unset commands.
 
3420
        * normal/cmdline.c: Include <pupa/env.h>.
 
3421
        (pupa_tab_complete): Added prototypes for print_simple_completion,
 
3422
        print_partition_completion, add_completion, iterate_commands,
 
3423
        iterate_dev, iterate_part and iterate_dir. Moved code to print
 
3424
        partition information from here to kern/disk.c.
 
3425
        (pupa_cmdline_run): Don't check if the funtion exists anymore.
 
3426
        * normal/main.c: Include <pupa/env.h>.
 
3427
        (pupa_rescue_cmd_normal): Use the environment variable `prefix'
 
3428
        instead of using pupa_dl_get_prefix to get the prefix.
 
3429
        * term/i386/pc/vga.c: Include <pupa/arg.h>.
 
3430
        (check_vga_mem): Cast pointers to `void *' to silence a gcc
 
3431
        warning.
 
3432
        (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
 
3433
        (pupa_vga_setcolor): Declare unused variables with `__attribute__
 
3434
        ((unused))' to silence a gcc warning.
 
3435
        (pupa_vga_setcolor): Likewise.
 
3436
        (debug_command): Changed to match argument parsing
 
3437
        interface changes.
 
3438
        * util/pupa-emu.c: Include <pupa/env.h>.
 
3439
        (options): Added 0's for unused fields to silence a gcc warning.
 
3440
        (argp): Likewise.
 
3441
        (main): Use the environment variable `prefix' instead of using
 
3442
        pupa_dl_set_prefix to set the prefix.  Initialize the commands ls,
 
3443
        boot, cmp, cat and terminal.  Finish the commands boot, cmp, cat
 
3444
        and terminal.
 
3445
 
 
3446
        * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
 
3447
        * util/misc.c: Include <malloc.h>.
 
3448
        (pupa_malloc): Rewritten so errors are correctly reported.
 
3449
        (pupa_realloc): Likewise.
 
3450
        (pupa_memalign): Likewise.
 
3451
        (pupa_mm_init_region): Declare unused variables with
 
3452
        `__attribute__ ((unused))' to silence a gcc warning.
 
3453
        * normal/i386/setjmp.S: Remove tab at the end of the file to
 
3454
        silence a gcc warning.
 
3455
        * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
 
3456
        variables with `__attribute__ ((unused))' to silence a gcc
 
3457
        warning.
 
3458
        * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
 
3459
        local variable i unsigned to silence a gcc warning.
 
3460
 
 
3461
        * kern/term.c: Include <pupa/misc.h>.
 
3462
        (pupa_more_lines): New variable.
 
3463
        (pupa_more): Likewise.
 
3464
        (pupa_putcode): When the pager is active pause at the end of every
 
3465
        screen.
 
3466
        (pupa_set_more): New function.
 
3467
        * include/pupa/term.h (pupa_set_more): New prototype.
 
3468
 
 
3469
 
 
3470
2004-03-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
3471
 
 
3472
        Now this project is GRUB 2 rather than PUPA. The location of
 
3473
        the CVS repository was moved to GRUB's.
 
3474
        
 
3475
        * configure.ac: Use bug-grub as the reporting address.
 
3476
        Use GRUB instead of PUPA.
 
3477
        Change the version number to 1.90.
 
3478
 
 
3479
2004-02-24  Yoshinori K. Okuji  <okuji@enbug.org>
 
3480
 
 
3481
        * genkernsyms.sh: Updated copyright information.
 
3482
        * genmk.rb: Likewise.
 
3483
        * genmodsrc.sh: Likewise.
 
3484
        * gensymlist.sh: Likewise.
 
3485
        * boot/i386/pc/boot.S: Likewise.
 
3486
        * boot/i386/pc/diskboot.S: Likewise.
 
3487
        * disk/i386/pc/biosdisk.c: Likewise.
 
3488
        * disk/i386/pc/partition.c: Likewise.
 
3489
        * font/manager.c: Likewise.
 
3490
        * fs/ext2.c: Likewise.
 
3491
        * fs/fat.c: Likewise.
 
3492
        * include/pupa/boot.h: Likewise.
 
3493
        * include/pupa/device.h: Likewise.
 
3494
        * include/pupa/disk.h: Likewise.
 
3495
        * include/pupa/dl.h: Likewise.
 
3496
        * include/pupa/elf.h: Likewise.
 
3497
        * include/pupa/err.h: Likewise.
 
3498
        * include/pupa/file.h: Likewise.
 
3499
        * include/pupa/font.h: Likewise.
 
3500
        * include/pupa/fs.h: Likewise.
 
3501
        * include/pupa/kernel.h: Likewise.
 
3502
        * include/pupa/loader.h: Likewise.
 
3503
        * include/pupa/misc.h: Likewise.
 
3504
        * include/pupa/mm.h: Likewise.
 
3505
        * include/pupa/net.h: Likewise.
 
3506
        * include/pupa/normal.h: Likewise.
 
3507
        * include/pupa/rescue.h: Likewise.
 
3508
        * include/pupa/setjmp.h: Likewise.
 
3509
        * include/pupa/symbol.h: Likewise.
 
3510
        * include/pupa/term.h: Likewise.
 
3511
        * include/pupa/types.h: Likewise.
 
3512
        * include/pupa/i386/setjmp.h: Likewise.
 
3513
        * include/pupa/i386/types.h: Likewise.
 
3514
        * include/pupa/i386/pc/biosdisk.h: Likewise.
 
3515
        * include/pupa/i386/pc/boot.h: Likewise.
 
3516
        * include/pupa/i386/pc/console.h: Likewise.
 
3517
        * include/pupa/i386/pc/init.h: Likewise.
 
3518
        * include/pupa/i386/pc/kernel.h: Likewise.
 
3519
        * include/pupa/i386/pc/linux.h: Likewise.
 
3520
        * include/pupa/i386/pc/loader.h: Likewise.
 
3521
        * include/pupa/i386/pc/memory.h: Likewise.
 
3522
        * include/pupa/i386/pc/multiboot.h: Likewise.
 
3523
        * include/pupa/i386/pc/partition.h: Likewise.
 
3524
        * include/pupa/i386/pc/time.h: Likewise.
 
3525
        * include/pupa/i386/pc/vga.h: Likewise.
 
3526
        * include/pupa/i386/pc/util/biosdisk.h: Likewise.
 
3527
        * include/pupa/util/getroot.h: Likewise.
 
3528
        * include/pupa/util/misc.h: Likewise.
 
3529
        * include/pupa/util/resolve.h: Likewise.
 
3530
        * kern/device.c: Likewise.
 
3531
        * kern/disk.c: Likewise.
 
3532
        * kern/dl.c: Likewise.
 
3533
        * kern/err.c: Likewise.
 
3534
        * kern/file.c: Likewise.
 
3535
        * kern/fs.c: Likewise.
 
3536
        * kern/loader.c: Likewise.
 
3537
        * kern/main.c: Likewise.
 
3538
        * kern/misc.c: Likewise.
 
3539
        * kern/mm.c: Likewise.
 
3540
        * kern/rescue.c: Likewise.
 
3541
        * kern/term.c: Likewise.
 
3542
        * kern/i386/dl.c: Likewise.
 
3543
        * kern/i386/pc/init.c: Likewise.
 
3544
        * kern/i386/pc/lzo1x.S: Likewise.
 
3545
        * kern/i386/pc/startup.S: Likewise.
 
3546
        * loader/i386/pc/chainloader.c: Likewise.
 
3547
        * loader/i386/pc/linux.c: Likewise.
 
3548
        * loader/i386/pc/multiboot.c: Likewise.
 
3549
        * normal/cmdline.c: Likewise.
 
3550
        * normal/command.c: Likewise.
 
3551
        * normal/main.c: Likewise.
 
3552
        * normal/menu.c: Likewise.
 
3553
        * normal/i386/setjmp.S: Likewise.
 
3554
        * term/i386/pc/console.c: Likewise.
 
3555
        * term/i386/pc/vga.c: Likewise.
 
3556
        * util/console.c: Likewise.
 
3557
        * util/genmoddep.c: Likewise.
 
3558
        * util/misc.c: Likewise.
 
3559
        * util/pupa-emu.c: Likewise.
 
3560
        * util/resolve.c: Likewise.
 
3561
        * util/unifont2pff.rb: Likewise.
 
3562
        * util/i386/pc/biosdisk.c: Likewise.
 
3563
        * util/i386/pc/getroot.c: Likewise.
 
3564
        * util/i386/pc/pupa-mkimage.c: Likewise.
 
3565
        * util/i386/pc/pupa-setup.c: Likewise.
 
3566
 
 
3567
2004-02-15  Jeroen Dekkers  <jeroen@dekkers.cx>
 
3568
 
 
3569
        * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
 
3570
        when it is EXT2_BLOCK_SIZE (data).  New argument READ_HOOK, all
 
3571
        callers changed.  Set DATA->DISK->READ_HOOK to READ_HOOK before
 
3572
        reading and reset it after reading.
 
3573
        (pupa_ext2_close): Return PUPA_ERR_NONE.
 
3574
 
 
3575
        * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
 
3576
        Correct value.
 
3577
        (struct linux_kernel_header): Add kernel_version and
 
3578
        initrd_addr_max.
 
3579
        * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
 
3580
        pupa_file_read succeeds.
 
3581
        (pupa_rescue_cmd_initrd): Implement.
 
3582
 
 
3583
2003-12-03  Marco Gerards  <metgerards@student.han.nl>
 
3584
 
 
3585
        * fs/ext2.c (pupa_ext2_label): New function.
 
3586
        (pupa_ext2_fs): Added label.
 
3587
        * fs/fat.c (pupa_fat_label): New function.
 
3588
        (pupa_fat_fs): Added label.
 
3589
        * include/pupa/fs.h (struct pupa_fs): Added prototype label.
 
3590
 
 
3591
        * kern/misc.c (pupa_strndup): New function.
 
3592
        * include/pupa/misc.h (pupa_strndup): New prototype.
 
3593
 
 
3594
        * include/pupa/normal.h: Include <pupa/err.h>.
 
3595
        (pupa_set_history): New prototype.
 
3596
        (pupa_iterate_commands): New prototype.
 
3597
        * normal/cmdline.c: Include <pupa/machine/partition.h>,
 
3598
        <pupa/disk.h>, <pupa/file.h>.
 
3599
        (hist_size): New variable.
 
3600
        (hist_lines): Likewise.
 
3601
        (hist_end): Likewise.
 
3602
        (hist_used): Likewise.
 
3603
        (pupa_set_history): New function.
 
3604
        (pupa_history_get): Likewise.
 
3605
        (pupa_history_add): Likewise.
 
3606
        (pupa_history_replace): Likewise.
 
3607
        (pupa_tab_complete): Likewise.
 
3608
        (pupa_cmdline_run): Added tab completion and history buffer.  Tab
 
3609
        completion shows partitionnames while completing partitions, this
 
3610
        feature was suggested by Jeff Bailey.
 
3611
        * normal/command.c (pupa_iterate_commands): New function.
 
3612
        * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
 
3613
        (pupa_normal_init): Initialize history buffer.
 
3614
        (PUPA_MOD_INIT): Likewise.
 
3615
        (pupa_normal_fini): Free the history buffer.
 
3616
        (PUPA_MOD_FINI): Likewise.
 
3617
 
 
3618
        * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
 
3619
        key.
 
3620
 
 
3621
        * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
 
3622
        * configure.ac [i386]: Check for regparam bug.
 
3623
        (NESTED_FUNC_ATTR) [! i386]: Defined.
 
3624
 
 
3625
2003-11-17  Marco Gerards  <metgerards@student.han.nl>
 
3626
 
 
3627
        * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
 
3628
        (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
 
3629
        (pupa_emu_SOURCES): New variable.
 
3630
        (pupa_emu_LDFLAGS): Likewise.
 
3631
        * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
 
3632
        (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
 
3633
        * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
 
3634
        (pupa_normal_fini) [PUPA_UTIL]: Likewise.
 
3635
        * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
 
3636
        (pupa_jmp_buf): New typedef.
 
3637
        (pupa_setjmp) [PUPA_UTIL]: New macro.
 
3638
        (pupa_longjmp) [PUPA_UTIL]: Likewise.
 
3639
        * include/pupa/term.h (struct pupa_term): New member `refresh'.
 
3640
        (pupa_refresh): New prototype.
 
3641
        * include/pupa/util/getroot.h: New file.
 
3642
        * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
 
3643
        it.
 
3644
        * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
 
3645
        (pupa_rescue_cmd_cat): Likewise.
 
3646
        (pupa_rescue_cmd_ls): Likewise.
 
3647
        (pupa_rescue_cmd_testload): Likewise.
 
3648
        (pupa_rescue_cmd_lsmod): Likewise.
 
3649
        * normal/cmdline.c (pupa_cmdline_get): Likewise.
 
3650
        * normal/menu.c (run_menu): Likewise.
 
3651
        * kern/term.c (pupa_cls): Likewise.
 
3652
        (pupa_refresh): New function.
 
3653
        * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
 
3654
        (pupa_normal_fini) [PUPA_UTIL]: Likewise.
 
3655
        * util/console.c: New file.
 
3656
        
 
3657
        * util/i386/pc/getroot.c: New file.
 
3658
        * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
 
3659
        (pupa_putchar): New function.
 
3660
        (pupa_refresh): Likewise.
 
3661
        (xgetcwd): Function moved to ...
 
3662
        (strip_extra_slashes): Likewise.
 
3663
        (get_prefix): Likewise.
 
3664
        * util/i386/pc/getroot.c: ... here.     
 
3665
        (find_root_device): Function moved and renamed to...
 
3666
        * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
 
3667
        Changed all callers.
 
3668
        * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
 
3669
        and renamed to...
 
3670
        * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
 
3671
        Changed all callers.
 
3672
        * util/misc.c (pupa_memalign): New function.
 
3673
        (pupa_mm_init_region): Likewise.
 
3674
        (pupa_register_exported_symbols): Likewise.
 
3675
        (pupa_putchar): Function removed.
 
3676
        * util/pupa-emu.c: New file.
 
3677
 
 
3678
2003-11-16  Jeroen Dekkers  <jeroen@dekkers.cx>
 
3679
 
 
3680
        * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
 
3681
        (_multiboot_mod_SOURCES): New variable.
 
3682
        (_multiboot_mod_CFLAGS): Likewise.
 
3683
        * loader/i386/pc/multiboot.c: New file.
 
3684
        * include/pupa/i386/pc/multiboot.h: Likewise.
 
3685
        * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
 
3686
        (pupa_multiboot_real_boot): New function.
 
3687
        * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
 
3688
        (pupa_multiboot_real_boot): New prototype.
 
3689
        (pupa_rescue_cmd_multiboot): Likewise
 
3690
        (pupa_rescue_cmd_module): Likewise.
 
3691
 
 
3692
        * kern/loader.c (pupa_loader_set): Continue when
 
3693
        pupa_loader_unload_func() fails.
 
3694
        (pupa_loader_unset): New function.
 
3695
        * include/pupa/loader.h (pupa_loader_unset): New prototype.
 
3696
 
 
3697
        * kern/misc.c (pupa_stpcpy): New function.
 
3698
        * include/pupa/misc.h (pupa_stpcpy): New prototype.
 
3699
 
 
3700
2003-11-12  Marco Gerards  <metgerards@student.han.nl>
 
3701
 
 
3702
        * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
 
3703
        for available extensions.
 
3704
 
 
3705
        * include/pupa/i386/pc/time.h: New file.
 
3706
        * kern/disk.c: Include <pupa/machine/time.h>.
 
3707
        (PUPA_CACHE_TIMEOUT): New macro.
 
3708
        (pupa_last_time): New variable.
 
3709
        (pupa_disk_open): Flush the cache when there was a timeout.
 
3710
        (pupa_disk_close): Reset the timer.
 
3711
        * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
 
3712
        pupa_currticks.
 
3713
        * util/misc.c: Include <sys/times.h>
 
3714
        (pupa_get_rtc): New function.
 
3715
 
 
3716
2003-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>
 
3717
 
 
3718
        * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
 
3719
        as blocks.
 
3720
        (pupa_ext2_get_file_block): Use blocks member.
 
3721
 
 
3722
        * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
 
3723
        first block. Return -1 instead of pupa_errno on error.
 
3724
 
 
3725
2003-10-27  Marco Gerards  <metgerards@student.han.nl>
 
3726
 
 
3727
        * README: In the pupa-mkimage example use _chain instead of chain
 
3728
        and ext2 instead of fat.
 
3729
        * TODO: Replace ext2fs with jfs as an example.  Add an item for
 
3730
        adding journal playback for ext2fs.
 
3731
        * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
 
3732
        (pkgdata_MODULES): Added ext2.mod.
 
3733
        (ext2_mod_SOURCES): New variable.
 
3734
        (ext2_mod_CFLAGS): Likewise.
 
3735
        * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
 
3736
        * include/pupa/misc.h (pupa_strncpy): New prototype.
 
3737
        (pupa_strcat): Likewise.
 
3738
        (pupa_strncmp): Likewise.
 
3739
        * kern/misc.c (pupa_strcat): Enable function.
 
3740
        (pupa_strncpy): New function.
 
3741
        (pupa_strncmp): Likewise.
 
3742
        * fs/ext2.c: New file.
 
3743
        
 
3744
        * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
 
3745
        when the read failed before retrying.
 
3746
        * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
 
3747
        (_FILE_OFFSET_BITS): Likewise.
 
3748
        * configure.ac: Added AC_SYS_LARGEFILE.
 
3749
 
 
3750
2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
3751
 
 
3752
        * genmk.rb (PModule#rule): Make sure to get only symbol names
 
3753
        from the output of nm.
 
3754
        Reported by Robert Millan <zeratul2@wanadoo.es>.
 
3755
 
 
3756
2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
 
3757
 
 
3758
        I forgot to check in these changes for a long time. This adds
 
3759
        incomplete support for VGA console, and this is still very
 
3760
        buggy. Also, a lot of consideration is required for I18N,
 
3761
        UNICODE, and VGA font issues. Therefore, assume that this is
 
3762
        such that "better than nothing".
 
3763
        
 
3764
        * font/manager.c: New file.
 
3765
        * include/pupa/font.h: Likewise.
 
3766
        * include/pupa/i386/pc/vga.h: Likewise.
 
3767
        * term/i386/pc/vga.c: Likewise.
 
3768
        * util/unifont2pff.rb: Likewise.
 
3769
 
 
3770
        * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
 
3771
        (pkgdata_MODULES): Added vga.mod and font.mod.
 
3772
        (vga_mod_SOURCES): New variables.
 
3773
        (vga_mod_CFLAGS): Likewise.
 
3774
        (font_mod_SOURCES): Likewise.
 
3775
        (font_mod_CFLAGS): Likewise.
 
3776
 
 
3777
        * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
 
3778
 
 
3779
        * include/pupa/term.h: Include pupa/err.h.
 
3780
        (struct pupa_term): Added init and fini. 
 
3781
        Changed the argument of putchar to pupa_uint32_t.
 
3782
 
 
3783
        * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
 
3784
        (pupa_console_real_putchar): New prototype.
 
3785
        (pupa_console_putchar): Removed.
 
3786
        (pupa_console_checkkey): Exported.
 
3787
        (pupa_console_getkey): Likewise.
 
3788
 
 
3789
        * kern/misc.c (pupa_vsprintf): Add support for UNICODE
 
3790
        characters.
 
3791
 
 
3792
        * kern/term.c (pupa_term_set_current): Rewritten.
 
3793
        (pupa_putchar): Likewise.
 
3794
        (pupa_putcode): New function.
 
3795
 
 
3796
        * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
 
3797
        (pupa_console_real_putchar): ... this.
 
3798
        (pupa_vga_set_mode): New function.
 
3799
        (pupa_vga_get_font): Likewise.
 
3800
 
 
3801
        * normal/command.c: Include pupa/term.h.
 
3802
        (terminal_command): New function.
 
3803
        (pupa_command_init): Register the command "terminal".
 
3804
 
 
3805
        * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
 
3806
        (DISP_UP): Likewise.
 
3807
        (DISP_RIGHT): Likewise.
 
3808
        (DISP_DOWN): Likewise.
 
3809
        (DISP_HLINE): Likewise.
 
3810
        (DISP_VLINE): Likewise.
 
3811
        (DISP_UL): Likewise.
 
3812
        (DISP_UR): Likewise.
 
3813
        (DISP_LL): Likewise.
 
3814
        (DISP_LR): Likewise.
 
3815
 
 
3816
        * term/i386/pc/console.c (pupa_console_putchar): New function.
 
3817
        
 
3818
2003-02-08  NIIBE Yutaka  <gniibe@m17n.org>
 
3819
 
 
3820
        * util/resolve.c (pupa_util_resolve_dependencies): BUG
 
3821
        FIX. Reverse the path_list.
 
3822
 
 
3823
        * include/pupa/normal.h: Export pupa_register_command and
 
3824
        pupa_unregister_command.
 
3825
 
 
3826
        * hello/hello.c (pupa_cmd_hello): New module.
 
3827
        * conf/i386-pc.rmk: Added hello.mod.
 
3828
 
 
3829
2003-01-31  Yoshinori K. Okuji  <okuji@enbug.org>
 
3830
 
 
3831
        * kern/i386/pc/lzo1x.S: New file.
 
3832
        
 
3833
        * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
 
3834
        (compress_kernel): New variable.
 
3835
        (generate_image): Heavily modified to support compressing a
 
3836
        large part of the core image.
 
3837
 
 
3838
        * util/misc.c (pupa_util_read_image): Fix a file descriptor
 
3839
        leak.
 
3840
        (pupa_util_load_image): New function.
 
3841
 
 
3842
        * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
 
3843
        (pupa_compressed_size): New variable.
 
3844
        (codestart): Enable Gate A20 here.
 
3845
        Decompress the compressed part of the core image.
 
3846
        Rearrange the code to put functions and variables which are
 
3847
        required for initialization in the non-compressed part.
 
3848
        Include lzo1x.S.
 
3849
 
 
3850
        * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
 
3851
        here.
 
3852
 
 
3853
        * include/pupa/util/misc.h (pupa_util_write_image): Declared.
 
3854
 
 
3855
        * include/pupa/i386/pc/kernel.h 
 
3856
        (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
 
3857
        (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
 
3858
        (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
 
3859
        (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
 
3860
        (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
 
3861
 
 
3862
        * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
 
3863
 
 
3864
        * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
 
3865
        (Utility#rule): Likewise.
 
3866
 
 
3867
        * configure.ac: Check if LZO is available.
 
3868
 
 
3869
2003-01-20  Yoshinori K. Okuji  <okuji@enbug.org>
 
3870
 
 
3871
        * include/pupa/normal.h: New file.
 
3872
        * include/pupa/setjmp.h: Likewise.
 
3873
        * include/pupa/i386/setjmp.h: Likewise.
 
3874
        * normal/cmdline.c: Likewise.
 
3875
        * normal/command.c: Likewise.
 
3876
        * normal/main.c: Likewise.
 
3877
        * normal/menu.c: Likewise.
 
3878
        * normal/i386/setjmp.S: Likewise.
 
3879
        
 
3880
        * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
 
3881
        (pupa_rescue_cmd_initrd): Likewise.
 
3882
 
 
3883
        * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
 
3884
        Likewise.
 
3885
 
 
3886
        * kern/i386/pc/startup.S (translation_table): New variable.
 
3887
        (translate_keycode): New function.
 
3888
        (pupa_console_getkey): Call translate_keycode.
 
3889
 
 
3890
        * kern/rescue.c (attempt_normal_mode): New function.
 
3891
        (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
 
3892
        it failed, print a message.
 
3893
 
 
3894
        * kern/mm.c (pupa_real_malloc): Print more information when a
 
3895
        free magic is broken.
 
3896
        (pupa_free): If the first free header is not free actually, set
 
3897
        it to P.
 
3898
 
 
3899
        * kern/main.c (pupa_load_normal_mode): Just load the module
 
3900
        "normal".
 
3901
        (pupa_main): Don't print the message
 
3902
        "Entering into rescue mode..." here.
 
3903
 
 
3904
        * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
 
3905
        Declared.
 
3906
        (pupa_rescue_cmd_initrd): Likewise.
 
3907
        (pupa_rescue_cmd_initrd): Likewise.
 
3908
 
 
3909
        * include/pupa/symbol.h (FUNCTION): Specify the type.
 
3910
        (VARIABLE): Likewise.
 
3911
 
 
3912
        * include/pupa/err.h (pupa_err_t): Added
 
3913
        PUPA_ERR_UNKNOWN_COMMAND.
 
3914
 
 
3915
        * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
 
3916
        (pupa_dl_get_prefix): Likewise.
 
3917
 
 
3918
        * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
 
3919
        Added _chain.mod and _linux.mod instead of chain.mod and
 
3920
        linux.mod.
 
3921
        (chain_mod_SOURCES): Renamed to ...
 
3922
        (_chain_mod_SOURCES): ... this.
 
3923
        (chain_mod_CFLAGS): Renamed to ...
 
3924
        (_chain_mod_CFLAGS): ... this.
 
3925
        (linux_mod_SOURCES): Renamed to ...
 
3926
        (_linux_mod_SOURCES): ... this.
 
3927
        (linux_mod_CFLAGS): Renamed to ...
 
3928
        (_linux_mod_CFLAGS): ... this.
 
3929
        (normal_mod_SOURCES): New variable.
 
3930
        (normal_mod_CFLAGS): Likewise.
 
3931
        (normal_mod_ASFLAGS): Likewise.
 
3932
 
 
3933
2003-01-18  Yoshinori K. Okuji  <okuji@enbug.org>
 
3934
 
 
3935
        * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
 
3936
        possible.
 
3937
 
 
3938
        * kern/dl.c (pupa_dl_ref): Refer dependending modules
 
3939
        recursively.
 
3940
        (pupa_dl_unref): Unrefer depending modules recursively.
 
3941
        Don't call pupa_dl_unload implicitly, because PUPA can crash if
 
3942
        a module is unloaded before one depending on that module is
 
3943
        unloaded.
 
3944
        (pupa_dl_unload): Unload depending modules explicitly,
 
3945
        if possible.
 
3946
 
 
3947
2003-01-17  Yoshinori K. Okuji  <okuji@enbug.org>
 
3948
 
 
3949
        * include/pupa/i386/pc/linux.h: New file.
 
3950
        * loader/i386/pc/linux.c: Likewise.
 
3951
        
 
3952
        * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
 
3953
        Removed.
 
3954
        (pupa_chainloader_unload): Return PUPA_ERR_NONE.
 
3955
        (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
 
3956
        of PUPA_CHAINLOADER_BOOT_SECTOR.
 
3957
 
 
3958
        * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
 
3959
        (pupa_linux_prot_size): New variable.
 
3960
        (pupa_linux_tmp_addr): Likewise.
 
3961
        (pupa_linux_real_addr): Likewise.
 
3962
        (pupa_linux_boot_zimage): New function.
 
3963
        (pupa_linux_boot_bzimage): Likewise.
 
3964
 
 
3965
        * kern/i386/pc/init.c (struct mem_region): New structure.
 
3966
        (MAX_REGIONS): New macro.
 
3967
        (mem_regions): New variable.
 
3968
        (num_regions): Likewise.
 
3969
        (pupa_os_area_addr): Likewise.
 
3970
        (pupa_os_area_size): Likewise.
 
3971
        (pupa_lower_mem): Likewise.
 
3972
        (pupa_upper_mem): Likewise.
 
3973
        (add_mem_region): New function.
 
3974
        (compact_mem_regions): Likewise.
 
3975
        (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
 
3976
        the size of the conventional memory and that of so-called upper
 
3977
        memory (before the first memory hole).
 
3978
        Instead of adding each found region to free memory, use
 
3979
        add_mem_region and add them after removing overlaps.
 
3980
        Also, add only 1/4 of the upper memory to free memory. The rest
 
3981
        is used for loading OS images. Maybe this is ad hoc, but this
 
3982
        makes it much easier to relocate OS images when booting.
 
3983
 
 
3984
        * kern/rescue.c (pupa_rescue_cmd_module): Removed.
 
3985
        (pupa_enter_rescue_mode): Don't register initrd and module.
 
3986
 
 
3987
        * kern/mm.c: Include pupa/dl.h.
 
3988
 
 
3989
        * kern/main.c: Include pupa/file.h and pupa/device.h.
 
3990
 
 
3991
        * kern/loader.c (pupa_loader_load_module_func): Removed.
 
3992
        (pupa_loader_load_module): Likewise.
 
3993
 
 
3994
        * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
 
3995
        ``.o''.
 
3996
 
 
3997
        * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
 
3998
        (pupa_linux_tmp_addr): Likewise.
 
3999
        (pupa_linux_real_addr): Likewise.
 
4000
        (pupa_linux_boot_zimage): Likewise.
 
4001
        (pupa_linux_boot_bzimage): Likewise.
 
4002
 
 
4003
        * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
 
4004
        (pupa_upper_mem): Likewise.
 
4005
        (pupa_gate_a20): Don't export, because turning off Gate A20 in a
 
4006
        module is too dangerous.
 
4007
 
 
4008
        * include/pupa/loader.h (pupa_os_area_addr): Declared.
 
4009
        (pupa_os_area_size): Likewise.
 
4010
        (pupa_loader_set): Remove the first argument. Loader doesn't
 
4011
        manage modules or initrd any longer.
 
4012
        (pupa_loader_load_module): Removed.
 
4013
 
 
4014
        * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
 
4015
        (linux_mod_SOURCES): New variable.
 
4016
        (linux_mod_CFLAGS): Likewise.
 
4017
 
 
4018
2003-01-07  Yoshinori K. Okuji  <okuji@enbug.org>
 
4019
 
 
4020
        * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
 
4021
        the length of a blocklist correctly.
 
4022
 
 
4023
        * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
 
4024
        Use ioctl only if the OS file is a block device.
 
4025
        (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
 
4026
        not very useful for normal files.
 
4027
 
 
4028
        * kern/main.c (pupa_set_root_dev): New function.
 
4029
        (pupa_load_normal_mode): Likewise.
 
4030
        (pupa_main): Call those above.
 
4031
 
 
4032
        * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
 
4033
        pupa_uint16_t.
 
4034
 
 
4035
        * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
 
4036
 
 
4037
2003-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
 
4038
 
 
4039
        * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
 
4040
        (setup): Configure the installed partition information and the
 
4041
        dl prefix.
 
4042
 
 
4043
        * loader/i386/pc/chainloader.c (my_mod): New variable.
 
4044
        (pupa_chainloader_unload): New function.
 
4045
        (pupa_rescue_cmd_chainloader): Refer itself.
 
4046
        (PUPA_MOD_INIT): Save its own module in MY_MOD.
 
4047
 
 
4048
        * kern/i386/pc/startup.S (install_partition): Removed.
 
4049
        (version_string): Likewise.
 
4050
        (config_file): Likewise.
 
4051
        (pupa_install_dos_part): New variable.
 
4052
        (pupa_install_bsd_part): Likewise.
 
4053
        (pupa_prefix): Likewise.
 
4054
        (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
 
4055
 
 
4056
        * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
 
4057
        and pupa/misc.h.
 
4058
        (make_install_device): New function.
 
4059
        (pupa_machine_init): Set the dl prefix.
 
4060
 
 
4061
        * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
 
4062
        (buf): Renamed to ...
 
4063
        (linebuf): ... this.
 
4064
        (pupa_rescue_cmd_prefix): New function.
 
4065
        (pupa_rescue_cmd_insmod): Likewise.
 
4066
        (pupa_rescue_cmd_rmmod): Likewise.
 
4067
        (pupa_rescue_cmd_lsmod): Likewise.
 
4068
        (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
 
4069
        rmmod and lsmod.
 
4070
 
 
4071
        * kern/mm.c (pupa_memalign): If failed even after invalidating
 
4072
        disk caches, unload unneeded modules and retry.
 
4073
 
 
4074
        * kern/misc.c (pupa_memmove): New function.
 
4075
        (pupa_memcpy): Removed.
 
4076
        (pupa_strcpy): New function.
 
4077
        (pupa_itoa): Made static.
 
4078
 
 
4079
        * kern/dl.c (pupa_dl_iterate): New function.
 
4080
        (pupa_dl_ref): Likewise.
 
4081
        (pupa_dl_unref): Likewise.
 
4082
        (pupa_dl_unload): Return if succeeded or not.
 
4083
        (pupa_dl_unload_unneeded): New function.
 
4084
        (pupa_dl_unload_all): Likewise.
 
4085
        (pupa_dl_init): Renamed to ...
 
4086
        (pupa_dl_set_prefix): ... this.
 
4087
        (pupa_dl_get_prefix): New function.
 
4088
 
 
4089
        * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
 
4090
        (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
 
4091
        (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
 
4092
        (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
 
4093
        (pupa_install_dos_part): Declared.
 
4094
        (pupa_install_bsd_part): Likewise.
 
4095
        (pupa_prefix): Likewise.
 
4096
        (pupa_boot_drive): Likewise.
 
4097
 
 
4098
        * include/pupa/types.h: Fix a typo.
 
4099
 
 
4100
        * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
 
4101
        pupa_memmove.
 
4102
        (pupa_memmove): Declared.
 
4103
        (pupa_strcpy): Likewise.
 
4104
 
 
4105
        * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
 
4106
        pupa_mod_init takes one argument, its own module.
 
4107
        (pupa_dl_unload_unneeded): Declared.
 
4108
        (pupa_dl_unload_all): Likewise.
 
4109
        (pupa_dl_ref): Likewise.
 
4110
        (pupa_dl_unref): Likewise.
 
4111
        (pupa_dl_iterate): Likewise.
 
4112
        (pupa_dl_init): Renamed to ...
 
4113
        (pupa_dl_set_prefix): ... this.
 
4114
        (pupa_dl_get_prefix): Declared.
 
4115
 
 
4116
        * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
 
4117
        (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being 
 
4118
        unloaded.
 
4119
        (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
 
4120
        (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
 
4121
 
 
4122
        * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
 
4123
        -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
 
4124
 
 
4125
2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
 
4126
 
 
4127
        * util/i386/pc/pupa-setup.c (setup): Define the internal
 
4128
        function find_first_partition_start at the top level, because GCC
 
4129
        3.0.x cannot compile internal functions in deeper scopes
 
4130
        correctly.
 
4131
        (find_root_device): Use lstat instead of stat.
 
4132
        Don't follow symbolic links.
 
4133
        Fix the path-constructing code.
 
4134
 
 
4135
        * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
 
4136
        (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
 
4137
        by a BLKGETSIZE ioctl first, because block devices don't fill
 
4138
        the member st_mode of the structure stat on Linux.
 
4139
        [__linux__] (linux_find_partition): Use a temporary buffer
 
4140
        REAL_DEV for the working space. Copy it to DEV before returning.
 
4141
        (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
 
4142
        buffer cache consistent.
 
4143
        (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
 
4144
        strncmp. The previous value was merely wrong.
 
4145
        (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
 
4146
 
 
4147
        * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
 
4148
        FAT size is 12. The previous value was merely wrong.
 
4149
 
 
4150
        * kern/main.c (pupa_main): Don't split the starting message from
 
4151
        newlines.
 
4152
 
 
4153
        * kern/term.c (pupa_putchar): Put CR after LF instead of before
 
4154
        LF, because BIOS goes crazy about character attributes in this
 
4155
        case.
 
4156
 
 
4157
2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
 
4158
 
 
4159
        * include/i386/pc/util/biosdisk.h: New file.
 
4160
        * util/i386/pc/biosdisk.c: Likewise.
 
4161
        * util/i386/pc/pupa-setup.c: Likewise.
 
4162
        
 
4163
        * Makefile.in (INCLUDE_DISTFILES): Added
 
4164
        include/pupa/i386/pc/util/biosdisk.h.
 
4165
        (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
 
4166
        directory util/i386/pc.
 
4167
        (install-local): Added a rule for sbin_UTILITIES.
 
4168
        (uninstall): Likewise.
 
4169
 
 
4170
        * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
 
4171
 
 
4172
        * util/misc.c (xrealloc): New function.
 
4173
        (pupa_malloc): Likewise.
 
4174
        (pupa_free): Likewise.
 
4175
        (pupa_realloc): Likewise.
 
4176
        (pupa_stop): Likewise.
 
4177
        (pupa_putchar): Likewise.
 
4178
 
 
4179
        * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
 
4180
 
 
4181
        * include/pupa/util/misc.h (xrealloc): Declared.
 
4182
 
 
4183
        * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
 
4184
        macro.
 
4185
        (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
 
4186
        (PUPA_BOOT_MACHINE_BPB_END): ... this.
 
4187
 
 
4188
        * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
 
4189
        [PUPA_UTIL] (pupa_fat_fini): Likewise.
 
4190
 
 
4191
        * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
 
4192
        way should be implemented.
 
4193
        [PUPA_UTIL] (pupa_fat_fini): Likewise.
 
4194
 
 
4195
        * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
 
4196
        the size of NAME for safety.
 
4197
        (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
 
4198
        0x88.
 
4199
 
 
4200
        * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
 
4201
        (pupa_setup_SOURCES): Likewise.
 
4202
 
 
4203
        * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
 
4204
 
 
4205
2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
 
4206
 
 
4207
        * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
 
4208
        bunch of pushl's from pusha, because this destroys the return
 
4209
        value.
 
4210
 
 
4211
2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
 
4212
 
 
4213
        Use -mrtd and -mregparm=3 to reduce the generated code sizes.
 
4214
        This means that any missing prototypes could be fatal. Also, you
 
4215
        must take care when writing assembly code. See the comments at
 
4216
        the beginning of startup.S, for more details.
 
4217
        
 
4218
        * kern/i386/pc/startup.S (pupa_halt): Modified for the new
 
4219
        compilation mechanism.
 
4220
        (pupa_chainloader_real_boot): Likewise.
 
4221
        (pupa_biosdisk_rw_int13_extensions): Likewise.
 
4222
        (pupa_biosdisk_rw_standard): Likewise.
 
4223
        (pupa_biosdisk_check_int13_extensions): Likewise.
 
4224
        (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
 
4225
        (pupa_biosdisk_get_diskinfo_standard): Likewise.
 
4226
        (pupa_get_memsize): Likewise.
 
4227
        (pupa_get_mmap_entry): Likewise.
 
4228
        (pupa_console_putchar): Likewise.
 
4229
        (pupa_console_setcursor): Likewise.
 
4230
        (pupa_getrtsecs): Use pushl instead of push.
 
4231
 
 
4232
        * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
 
4233
        memory instead of the stack for a mmap entry, because some
 
4234
        BIOSes may ignore the maximum size and overflow.
 
4235
 
 
4236
        * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
 
4237
 
 
4238
        * genmk.rb (PModule#rule): Compile automatically generated
 
4239
        sources with module-specific CFLAGS as well as other sources.
 
4240
 
 
4241
2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
4242
 
 
4243
        * configure.ac: Check ld.
 
4244
        Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
 
4245
        respectively, before checking endianness and sizes.
 
4246
 
 
4247
        * Makefile.in (LD): New variable.
 
4248
        
 
4249
2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
4250
 
 
4251
        * Makefile.in (BUILD_CC): CC -> BUILD_CC.
 
4252
 
 
4253
2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
 
4254
 
 
4255
        * Changelog: New file.
 
4256