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