]>
Commit | Line | Data |
---|---|---|
4ceb3636 | 1 | 2004-12-13 Marco Gerards <metgerards@student.han.nl> |
2 | ||
3 | * fs/ext2.c (grub_ext2_open): Don't use data after freeing it. | |
4 | (grub_ext2_dir): Likewise. Don't return in case of an error, jump | |
5 | to fail instead. Reported by Vincent Pelletier | |
6 | <subdino2004@yahoo.fr>. | |
7 | ||
8 | * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when | |
9 | it is not allocated. Reported by Vincent Pelletier | |
10 | <subdino2004@yahoo.fr>. | |
11 | ||
12 | * normal/cmdline.c (grub_tab_complete): Add a blank line to the | |
13 | output so the output looks better. | |
14 | ||
3f1578fe | 15 | 2004-12-04 Marco Gerards <metgerards@student.han.nl> |
16 | ||
17 | Modulize the partition map support and add support for the amiga | |
18 | partition map. | |
19 | ||
20 | * commands/ls.c: Include <grub/partition.h> instead of | |
21 | <grub/machine/partition.h>. | |
22 | * kern/disk.c: Likewise. | |
23 | * kern/rescue.c: Likewise. | |
24 | * loader/i386/pc/chainloader.c: Likewise. | |
25 | * normal/cmdline.c: Likewise. | |
26 | * kern/powerpc/ieee1275/init.c: Likewise. | |
27 | (grub_machine_init): Call `grub_pc_partition_map_init', | |
28 | `grub_amiga_partition_map_init' and | |
29 | `grub_apple_partition_map_init'. | |
30 | * conf/i386-pc.rmk (kernel_img_SOURCES): Remove | |
31 | `disk/i386/pc/partition.c'. Add `kern/partition.c'. | |
32 | (kernel_img_HEADERS): Remove `machine/partition.h'. Add | |
33 | `partition.h' and `pc_partition.h'. | |
34 | (grub_setup_SOURCES): Remove | |
35 | `disk/i386/pc/partition.c'. Add `kern/partition.c', | |
36 | `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'. | |
37 | (grub_emu_SOURCES): Likewise. | |
38 | (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'. | |
39 | (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES) | |
40 | (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables. | |
41 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove | |
42 | `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c', | |
43 | `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'. | |
44 | (grubof_SOURCES): Likewise. | |
45 | * disk/i386/pc/partition.c: File removed. | |
46 | * disk/powerpc/ieee1275/partition.c: Likewise. | |
47 | * include/grub/powerpc/ieee1275/partition.h: Likewise. | |
48 | * include/grub/i386/pc/partition.h: Likewise. | |
49 | * kern/partition.c: New file. | |
50 | * partmap/amiga.c: Likewise. | |
51 | * partmap/apple.c: Likewise. | |
52 | * partmap/pc.c: Likewise. | |
53 | * include/grub/partition.h: Likewise.. | |
54 | * include/grub/pc_partition.h: Likewise. | |
55 | * util/grub-emu.c: Include <grub/partition.h> instead of | |
56 | <grub/machine/partition.h>. | |
57 | (main): Call `grub_pc_partition_map_init', | |
58 | `grub_amiga_partition_map_init' and | |
59 | `grub_apple_partition_map_init' and deinitialize afterwards. | |
60 | * util/i386/pc/biosdisk.c: Include `#include | |
61 | <grub/partition.h>' and `include <grub/pc_partition.h>' instead of | |
62 | `<grub/machine/partition.h>'. | |
63 | * util/i386/pc/grub-setup.c: Likewise. | |
64 | * util/i386/pc/biosdisk.c: Likewise. | |
65 | (grub_util_biosdisk_get_grub_dev): Only access the PC specific | |
66 | partition information in case of a PC partition. | |
67 | * util/i386/pc/grub-setup.c: Include `#include | |
68 | <grub/partition.h>' and `include <grub/pc_partition.h>' instead of | |
69 | `<grub/machine/partition.h>'. | |
70 | (setup): Only access the PC specific partition information in case | |
71 | of a PC partition. | |
72 | ||
0ef4ced9 | 73 | 2004-11-17 Hollis Blanchard <hollis@penguinppc.org> |
74 | ||
75 | * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function. | |
76 | (grub_longjmp): Likewise. | |
77 | * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to | |
78 | 20. | |
79 | * normal/powerpc/setjmp.S: New file. | |
80 | * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add | |
81 | `normal/powerpc/setjmp.S'. | |
82 | (grubof_CFLAGS): Add `-DGRUBOF'. | |
83 | * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to | |
84 | [GRUB_UTIL && !GRUBOF]. | |
85 | ||
19950e29 | 86 | 2004-11-16 Marco Gerards <metgerards@student.han.nl> |
87 | ||
88 | * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any | |
89 | property named `name'. Correctly handle the error returned by | |
90 | `grub_ieee1275_finddevice' if a device can not be opened. | |
91 | ||
a2fea427 | 92 | 2004-11-02 Hollis Blanchard <hollis@penguinppc.org> |
93 | ||
94 | * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test | |
95 | `actual' for negativity. | |
96 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove | |
97 | kern/fshelp.c. | |
98 | ||
41ea0ea3 | 99 | 2004-11-01 Marco Gerards <metgerards@student.han.nl> |
100 | ||
101 | * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350. | |
102 | (PAGE_OFFSET): New macro. | |
103 | (CRTC_ADDR_PORT): Likewise. | |
104 | (CRTC_DATA_PORT): Likewise. | |
105 | (START_ADDR_HIGH_REGISTER): Likewise. | |
106 | (START_ADDR_LOW_REGISTER): Likewise. | |
107 | (GRAPHICS_ADDR_PORT): Likewise. | |
108 | (GRAPHICS_DATA_PORT): Likewise. | |
109 | (READ_MAP_REGISTER): Likewise. | |
110 | (INPUT_STATUS1_REGISTER): Likewise. | |
111 | (INPUT_STATUS1_VERTR_BIT): Likewise. | |
112 | (page): New variable. | |
113 | (wait_vretrace): New function. | |
114 | (set_read_map): Likewise. | |
115 | (set_start_address): Likewise. | |
116 | (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to | |
117 | the right page. | |
118 | (check_vga_mem): Take the page into account. | |
119 | (write_char): Likewise. | |
120 | (write_cursor): Likewise. | |
121 | (scroll_up): Likewise. Copy the page to the page that is not | |
122 | shown and switch between both pages. | |
123 | (grub_vga_putchar): Fix off by one error. | |
124 | (grub_vga_cls): Wait for the vertical retrace. Take the page into | |
125 | account. | |
126 | ||
ad0bd20b | 127 | 2004-11-01 Marco Gerards <metgerards@student.han.nl> |
128 | ||
129 | Add support for iso9660 (including rockridge). | |
130 | ||
131 | * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c. | |
132 | (iso9660_mod_SOURCES): New variable. | |
133 | (iso9660_mod_CFLAGS): Likewise. | |
134 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c. | |
135 | * include/grub/fs.h (grub_iso9660_init): New prototype. | |
136 | * util/grub-emu.c (main): Call `grub_iso9660_init'. | |
137 | * fs/iso9660.c: New file. | |
138 | ||
139 | * include/grub/misc.h (grub_strncat): New prototype. | |
140 | * kern/misc.c (grub_strncat): New function. | |
141 | ||
142 | * fs/hfs.c (grub_hfs_mount): Translate the error | |
143 | `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'. | |
144 | * fs/jfs.c (grub_jfs_mount): Likewise. | |
145 | * fs/ufs.c (grub_ufs_mount): Likewise. | |
146 | ||
a5477a59 | 147 | 2004-10-28 Hollis Blanchard <hollis@penguinppc.org> |
148 | ||
149 | * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements | |
150 | which initialized BAT registers. | |
151 | * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN, | |
152 | grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON): | |
153 | Move from here... | |
154 | * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN, | |
155 | grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON): | |
156 | ... to here. | |
157 | * kern/powerpc/ieee1275/openfw.c (grub_map): New function. | |
158 | (grub_mapclaim): Likewise. | |
159 | * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use | |
160 | grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by | |
161 | hand. | |
162 | ||
9304c1f8 | 163 | 2004-10-19 Hollis Blanchard <hollis@penguinppc.org> |
164 | ||
165 | * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin. | |
166 | (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add | |
167 | -ffreestanding and -msoft-float. | |
168 | ||
86f4ae25 | 169 | 2004-10-15 Hollis Blanchard <hollis@penguinppc.org> |
170 | ||
171 | * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not | |
172 | append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is | |
173 | set in grub_ieee1275_flags. | |
174 | ||
38912228 | 175 | 2004-10-14 Hollis Blanchard <hollis@penguinppc.org> |
176 | ||
177 | * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function | |
178 | prototype. | |
179 | * kern/powerpc/ieee1275/init.c (grub_machine_init): Call | |
180 | grub_console_init first. | |
181 | Change the memory range used for grub_ieee1275_claim and | |
182 | grub_mm_init_region. | |
183 | Print an error message if the claim fails. | |
184 | Include <grub/misc.h>. | |
185 | ||
d1923dc8 | 186 | 2004-10-13 Hollis Blanchard <hollis@penguinppc.org> |
187 | ||
188 | * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate): | |
189 | Call grub_children_iterate for device nodes of type `scsi', | |
190 | `ide', or `ata'. | |
191 | (grub_ofdisk_open): Remove manual device alias resolution. | |
192 | Fix memory leak when device cannot be opened. | |
193 | * include/grub/powerpc/ieee1275/ieee1275.h | |
194 | (grub_children_iterate): New prototype. | |
195 | * kern/powerpc/ieee1275/openfw.c (grub_children_iterate): | |
196 | New function. | |
197 | * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property): | |
198 | Return -1 if args.size was -1. | |
199 | ||
4512e4f3 | 200 | 2004-10-11 Hollis Blanchard <hollis@penguinppc.org> |
201 | ||
202 | * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global. | |
203 | (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old | |
204 | World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim | |
205 | Open Firmware's memory for it; claim memory from _start to _end. | |
206 | * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern. | |
207 | (_end): New extern. | |
208 | (_start): Zero BSS from __bss_start to _end. | |
209 | * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags): | |
210 | New extern. | |
211 | (GRUB_IEEE1275_NO_PARTITION_0): New #define. | |
212 | ||
4d61feb0 | 213 | 2004-10-11 Hollis Blanchard <hollis@penguinppc.org> |
214 | ||
ad0bd20b | 215 | * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return |
216 | -1 if args.base was -1. | |
4d61feb0 | 217 | |
026fa2f9 | 218 | 2004-10-08 Hollis Blanchard <hollis@penguinppc.org> |
219 | ||
220 | * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI | |
221 | escape sequence instead of a literal ^L. Also call | |
222 | grub_ofconsole_gotoxy. | |
223 | ||
9f2220ef | 224 | 2004-10-03 Hollis Blanchard <hollis@penguinppc.org> |
225 | ||
226 | * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change | |
227 | void * arguments to grub_addr_t. All callers updated. Also make | |
228 | the `result' argument optional. | |
229 | (grub_ieee1275_release): change void * arguments to grub_addr_t. | |
230 | All callers updated. | |
231 | ||
8a572cd7 | 232 | 2004-09-22 Hollis Blanchard <hollis@penguinppc.org> |
233 | ||
234 | * commands/ls.c (grub_ls_list_files): Use the string following the | |
235 | initial ')', if present, as the filesystem path. | |
236 | * kern/rescue.c (grub_rescue_cmd_ls): Likewise. | |
237 | ||
238 | * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first. | |
239 | ||
18aa81f2 | 240 | 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org> |
241 | ||
242 | Make the source code of the menu interface more readable. | |
243 | ||
244 | * normal/menu.c: Include grub/mm.h. | |
245 | (TERM_WIDTH): New macro. | |
246 | (TERM_HEIGHT): Likewise. | |
247 | (TERM_INFO_HEIGHT): Likewise. | |
248 | (TERM_MARGIN): Likewise. | |
249 | (TERM_SCROLL_WIDTH): Likewise. | |
250 | (TERM_TOP_BORDER_Y): Likewise. | |
251 | (TERM_LEFT_BORDER_X): Likewise. | |
252 | (TERM_BORDER_WIDTH): Likewise. | |
253 | (TERM_MESSAGE_HEIGHT): Likewise. | |
254 | (TERM_BORDER_HEIGHT): Likewise. | |
255 | (TERM_NUM_ENTRIES): Likewise. | |
256 | (TERM_FIRST_ENTRY_Y): Likewise. | |
257 | (TERM_ENTRY_WIDTH): Likewise. | |
258 | (TERM_CURSOR_X): Likewise. | |
259 | (draw_border): Use macros instead of magic numbers. | |
260 | (print_entry): Likewise. | |
261 | (print_entries): Likewise. | |
262 | (run_menu): Likewise. Also, handle the key 'e'. | |
263 | (run_menu_entry): Ignore empty command lines. | |
264 | (print_message): Added a new argument EDIT. If EDIT is true, | |
265 | print a different message. | |
266 | (init_page): Likewise. | |
267 | (edit_menu_entry): New function. Not implemented yet. | |
268 | ||
b47efe30 | 269 | 2004-09-17 Marco Gerards <metgerards@student.han.nl> |
270 | ||
271 | Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels | |
272 | can be loaded from normal mode. | |
273 | ||
274 | * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and | |
275 | `multiboot.mod'. | |
276 | (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES) | |
277 | (multiboot_mod_CFLAGS): New variables. | |
278 | * loader/i386/pc/linux_normal.c: New file. | |
279 | * loader/i386/pc/multiboot_normal.c: Likewise. | |
280 | ||
281 | * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the | |
282 | attribute `unused'. | |
283 | ||
284 | * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use | |
285 | `fdiro' to read the mode information from instead of `diro'. | |
286 | ||
287 | * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after | |
288 | looking up a symlink. | |
289 | ||
290 | * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New | |
291 | macro. | |
292 | * normal/command.c (grub_command_execute): Don't parse the | |
293 | arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the | |
294 | flags of the command. | |
295 | ||
296 | * normal/menu.c (grub_menu_run): Fix typo. | |
297 | ||
da75ac71 | 298 | 2004-09-14 Hollis Blanchard <hollis@penguinppc.org> |
299 | ||
300 | * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware. | |
301 | ||
302 | * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use | |
303 | `y + 1' instead of `y - 1'. | |
304 | ||
305 | * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'. | |
306 | ||
062b24c2 | 307 | 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org> |
308 | ||
309 | From Hollis Blanchard <hollis@penguinppc.org>: | |
310 | * kern/misc.c (memmove): New alias for grub_memmove. | |
311 | (memcmp): New alias for grub_memcmp. | |
312 | (memset): New alias for grub_memset. | |
313 | * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property): | |
314 | Change "int handle" to "grub_ieee1275_phandle_t handle". | |
315 | * include/grub/powerpc/ieee1275/ieee1275.h | |
316 | (grub_ieee1275_get_property): Likewise. | |
317 | ||
8ddad845 | 318 | 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz> |
319 | ||
320 | Added normal mode command `chainloader' as module chain.mod, which | |
321 | depends on normal.mod and _chain.mod. | |
322 | ||
323 | * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'. | |
324 | (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added. | |
325 | * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader): | |
326 | Deleted prototype. | |
327 | * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All | |
328 | but arguments parsing moved to ... | |
329 | (grub_chainloader_cmd): ... here. New function. | |
330 | * include/grub/i386/pc/chainloader.h: New file. | |
331 | * loader/i386/pc/chainloader_normal.c: Likewise. | |
332 | ||
2c1f4ce3 | 333 | 2004-09-11 Marco Gerards <metgerards@student.han.nl> |
334 | ||
335 | * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c. | |
336 | (grub_mkimage_LDFLAGS): Likewise. | |
337 | (grub_emu_SOURCES): Likewise. | |
338 | (kernel_img_HEADERS): Added fshelp.h. | |
339 | * fs/ext2.c: Include <grub/fshelp.h>. | |
340 | (FILETYPE_REG): New macro. | |
341 | (FILETYPE_INO_REG): Likewise. | |
342 | (grub_ext_sblock): Renamed to `grub_ext2_sblock'. | |
343 | Changed all users. | |
344 | (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed | |
345 | all users. | |
346 | (grub_fshelp_node): New struct. | |
347 | (grub_ext2_data): Added member `diropen'. Changed member `inode' | |
348 | to a pointer. | |
349 | (grub_ext2_get_file_block): Removed function. | |
350 | (grub_ext2_read_block): New function. | |
351 | (grub_ext2_read_file): Replaced parameter `data' by `node'. | |
352 | This function was written. | |
353 | (grub_ext2_mount): Read the root inode. Create a diropen struct. | |
354 | (grub_ext2_find_file): Removed function. | |
355 | (grub_ext2_read_symlink): New function. | |
356 | (grub_ext2_iterate_dir): Likewise. | |
357 | (grub_ext2_open): Rewritten. | |
358 | (grub_ext2_dir): Rewritten. | |
359 | * include/grub/fshelp.h: New file. | |
360 | * fs/fshelp.c: Likewise. | |
361 | ||
3c52136a | 362 | 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org> |
363 | ||
364 | * normal/menu.c: Include grub/loader.h and grub/machine/time.h. | |
365 | (print_message): Add a missing newline. | |
366 | (run_menu): Added timeout support. | |
367 | (run_menu_entry): New local function. | |
368 | (grub_menu_run): Added support for booting. | |
369 | ||
370 | * kern/loader.c (grub_loader_is_loaded): New function. | |
371 | ||
372 | * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h. | |
373 | (grub_get_rtc): Exported. | |
374 | ||
375 | * include/grub/i386/pc/time.h: Include grub/symbol.h. | |
376 | (grub_get_rtc): Exported. | |
377 | ||
378 | * include/grub/normal.h (struct grub_command_list): Remove | |
379 | constant from the member `command'. | |
380 | ||
381 | * include/grub/loader.h (grub_loader_is_loaded): Declared. | |
382 | ||
383 | * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant. | |
384 | ||
385 | * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h. | |
386 | ||
aa033560 | 387 | 2004-08-28 Marco Gerards <metgerards@student.han.nl> |
388 | ||
389 | Add support for the JFS filesystem. | |
390 | ||
391 | * fs/jfs.c: New file. | |
392 | * include/grub/fs.h (grub_jfs_init): New prototype. | |
393 | (grub_jfs_fini): New prototype. | |
394 | * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c. | |
395 | (grub_emu_SOURCES): Likewise. | |
396 | (pkgdata_MODULES): Add jfs.mod. | |
397 | (jfs_mod_SOURCES): New variable. | |
398 | (jfs_mod_CFLAGS): Likewise. | |
399 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c. | |
400 | (grubof_SOURCES): Likewise. | |
401 | * util/grub-emu.c (main): Initialize and deinitialize JFS support. | |
402 | ||
403 | * fs/fat.c (grub_fat_find_dir): Convert the filename little | |
404 | endian to the host endian. | |
405 | (grub_fat_utf16_to_utf8): Move function from there... | |
406 | * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert | |
407 | the endianess of the source string anymore. | |
408 | * include/grub/misc.h (grub_utf16_to_utf8): New prototype. | |
409 | ||
94bc45af | 410 | 2004-08-24 Marco Gerards <metgerards@student.han.nl> |
411 | ||
412 | * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional. | |
413 | (grub_boot_fini) [GRUB_UTIL]: Likewise. | |
414 | (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise. | |
415 | (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise. | |
416 | ||
417 | * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'. | |
418 | (grub_hfs_iterate_dir): Make the function static. Add prototypes | |
419 | for `node_found' and `it_dir'. | |
420 | (grub_hfs_dir): Add prototype for `dir_hook'. | |
421 | ||
422 | * fs/minix.c (grub_minix_get_file_block): Add prototype for | |
423 | `grub_get_indir'. Rename `indir' in two blocks to `indir16' | |
424 | and `indir32' to silence a gcc warning. | |
425 | ||
426 | * include/grub/fs.h (grub_hfs_init): New prototype. | |
427 | (grub_hfs_fini): Likewise. | |
428 | ||
429 | ||
97543f08 | 430 | 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org> |
431 | ||
432 | Each disk device has its own id now. This is useful to make use | |
433 | of multiple disk devices. | |
434 | ||
435 | * include/grub/disk.h (grub_disk_dev_id): New enum. | |
436 | (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant. | |
437 | (GRUB_DISK_DEVICE_OFDISK_ID): Likewise. | |
438 | ||
439 | * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify | |
440 | GRUB_DISK_DEVICE_BIOSDISK_ID as an id. | |
441 | ||
442 | * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify | |
443 | GRUB_DISK_DEVICE_OFDISK_ID as an id. | |
444 | ||
445 | * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify | |
446 | GRUB_DISK_DEVICE_BIOSDISK_ID as an id. | |
447 | ||
448 | * include/grub/disk.h (struct grub_disk_dev): Added a new member | |
449 | "id" which is used by the cache manager. | |
450 | ||
451 | * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead | |
452 | of just "GRUB". | |
453 | ||
64372eb4 | 454 | 2004-08-18 Marco Gerards <metgerards@student.han.nl> |
455 | ||
456 | * fs/hfs.c: New file. | |
457 | * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c. | |
458 | (grub_emu_SOURCES): Likewise. | |
459 | (pkgdata_MODULES): Add hfs.mod. | |
460 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c. | |
461 | (grubof_SOURCES): Likewise. | |
462 | * util/grub-emu.c (main): Initialize and deinitialize HFS support. | |
463 | ||
464 | * include/grub/misc.h (grub_strncasecmp): Add prototype. | |
465 | * kern/misc.c (grub_strncasecmp): Add function. | |
466 | ||
cc61b58f | 467 | 2004-08-14 Marco Gerards <metgerards@student.han.nl> |
468 | ||
469 | * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro | |
470 | with parentheses. | |
471 | ||
472 | * fs/ext2.c (FILETYPE_UNKNOWN): New macro. | |
473 | (grub_ext2_dir): In case the directory entry type is unknown, read | |
474 | it from the inode. | |
475 | ||
0ef123f6 | 476 | 2004-08-02 Peter Bruin <pjbruin@dds.nl> |
477 | ||
478 | * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass | |
479 | grub_load_linux instead of grub_rescue_cmd_linux as second | |
480 | argument of grub_rescue_register_command. | |
481 | ||
482 | * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk. | |
483 | ||
a447c5df | 484 | 2004-07-27 Marco Gerards <metgerards@student.han.nl> |
485 | ||
486 | * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New | |
487 | function. | |
488 | * commands/boot.c: Remove the check for `GRUB_UTIL'. | |
489 | * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add | |
490 | `loader/powerpc/ieee1275/linux.c', | |
491 | `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'. | |
492 | * include/grub/powerpc/ieee1275/ieee1275.h | |
493 | (grub_ieee1275_release): New prototype. | |
494 | * include/grub/powerpc/ieee1275/loader.h: Rewritten. | |
495 | * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize | |
496 | normal, boot, linux and linux_normal. | |
497 | * loader/powerpc/ieee1275/linux.c: New file. | |
498 | * loader/powerpc/ieee1275/linux_normal.c: Likewise. | |
499 | ||
5a9e3546 | 500 | 2004-07-12 Marco Gerards <metgerards@student.han.nl> |
501 | ||
502 | * normal/arg.c (grub_arg_parse): Correct error handling after | |
503 | reallocating the argumentlist (check if `argl' is not null instead | |
504 | of checking if `args' is not null). | |
505 | * kern/mm.c (grub_realloc): Return the same pointer when using the | |
506 | same region, instead of returning the header address. | |
507 | ||
e15199cb | 508 | 2004-07-11 Marco Gerards <metgerards@student.han.nl> |
509 | ||
510 | * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip | |
511 | one block instead of two when looking for the initial partition. | |
512 | (grub_partition_probe): Initialize the local variable `p' with 0. | |
513 | Use base 10 for the grub_strtoul call. | |
514 | * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the | |
515 | need for one local variable. | |
516 | (grub_strtoul): Don't add the new value to `num', instead of that | |
517 | just assign it. | |
518 | ||
020616c2 | 519 | 2004-07-11 Marco Gerards <metgerards@student.han.nl> |
520 | ||
521 | * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img. | |
522 | (pxeboot_img_SOURCES): New variable. | |
523 | (pxeboot_img_ASFLAGS): Likewise. | |
524 | (pxeboot_img_LDFLAGS): Likewise. | |
525 | * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from | |
526 | GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy | |
527 | <lode_leroy@hotmail.com>. | |
528 | ||
6c51eb64 | 529 | 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz> |
530 | ||
531 | * kern/rescue.c (grub_enter_rescue_mode): Don't continue when | |
532 | there was no input. | |
533 | ||
cfb12aff | 534 | 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz> |
535 | ||
536 | * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed | |
537 | the history buffer logic. | |
538 | ||
6eabba74 | 539 | 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz> |
540 | ||
541 | * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY) | |
542 | (FILETYPE_INO_SYMLINK): New macros. | |
543 | (grub_ext2_find_file): Check if the node is a directory using the | |
544 | inode stat information instead of using the filetype in the | |
545 | dirent. Exclude the first character of an absolute symlink. | |
546 | (grub_ext2_dir): Mask out the filetype part of the mode member of | |
547 | the inode. | |
548 | ||
66e19ef8 | 549 | 2004-05-24 Marco Gerards <metgerards@student.han.nl> |
550 | ||
551 | Add support for UFS version 1 and 2. Add support for the minix | |
552 | filesystem version 1 and 2, both the variants with 14 and 30 long | |
553 | filenames. | |
554 | ||
555 | * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and | |
556 | fs/minix.c. | |
557 | (grub_emu_SOURCES): Likewise. | |
558 | (pkgdata_MODULES): Add ufs.mod and minix.mod. | |
559 | (ufs_mod_SOURCES): New variable. | |
560 | (ufs_mod_CFLAGS): Likewise. | |
561 | (minix_mod_SOURCES): Likewise. | |
562 | (minix_mod_CFLAGS): Likewise. | |
563 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and | |
564 | fs/minix.c. | |
565 | (grubof_SOURCES): Likewise. | |
566 | * fs/ufs.c: New file. | |
567 | * fs/minix.c: New file. | |
568 | * include/grub/fs.h (grub_ufs_init): New prototype. | |
569 | (grub_ufs_fini): Likewise. | |
570 | (grub_minix_init): Likewise. | |
571 | (grub_minix_fini): Likewise. | |
572 | * util/grub-emu.c (main): Initialize and deinitialize UFS and | |
573 | minix fs. | |
574 | ||
cc2e748a | 575 | 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx> |
576 | ||
577 | * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c, | |
578 | commands/ls.c, commands/terminal.c, commands/boot.c, | |
579 | commands/cmp.c and commands/cat.c. | |
580 | (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc. | |
581 | ||
582 | * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of | |
583 | "env.h" | |
584 | ||
4b13b216 | 585 | 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> |
586 | ||
587 | All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_ | |
588 | and grub_, respectively. Because the conversion is trivial and | |
589 | mechanical, I omit the details here. Please refer to the CVS | |
590 | if you need more information. | |
591 | ||
6a142551 | 592 | 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> |
593 | ||
594 | * include/pupa: Renamed to ... | |
595 | * include/grub: ... this. | |
596 | * util/i386/pc/pupa-mkimage.c: Renamed to ... | |
597 | * util/i386/pc/grub-mkimage.c: ... this. | |
598 | * util/i386/pc/pupa-setup.c: Renamed to ... | |
599 | * util/i386/pc/grub-setup.c: ... this. | |
600 | * util/pupa-emu.c: Renamed to ... | |
601 | * util/grub-emu.c: ... this. | |
602 | ||
e56cdf21 | 603 | 2004-03-29 Marco Gerards <metgerards@student.han.nl> |
604 | ||
605 | Add support for the newworld apple macintosh (PPC). This has been | |
606 | tested on the powerbook 2000 only. It only adds support for | |
607 | generic ieee1275 functions, console and disk support. This should | |
608 | be easy to port to other architectures with support for Open | |
609 | Firmware. | |
610 | ||
611 | * configure.ac: Accept the powerpc as host_cpu. In the case of | |
612 | the powerpc cpu set the host_vendor to ieee1275. Make sure the i386 | |
613 | specific tests are only executed while building for the i386. | |
614 | Inverse test for crosscompile. | |
615 | * genmk.rb (Utility): Allow assembler files. | |
616 | * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno. | |
617 | * conf/powerpc-ieee1275.rmk: New file. | |
618 | * disk/powerpc/ieee1275/ofdisk.c: Likewise. | |
619 | * disk/powerpc/ieee1275/partition.c: Likewise. | |
620 | * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise. | |
621 | * include/pupa/powerpc/ieee1275/console.h: Likewise. | |
622 | * include/pupa/powerpc/ieee1275/partition.h: Likewise. | |
623 | * include/pupa/powerpc/ieee1275/time.h: Likewise. | |
624 | * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise. | |
625 | * include/pupa/powerpc/ieee1275/multiboot.h: Likewise. | |
626 | * include/pupa/powerpc/ieee1275/loader.h | |
627 | * include/pupa/powerpc/setjmp.h: Likewise. | |
628 | * include/pupa/powerpc/types.h: Likewise. | |
629 | * kern/powerpc/ieee1275/init.c: Likewise. | |
630 | * kern/powerpc/ieee1275/openfw.c: Likewise. | |
631 | * term/powerpc/ieee1275/ofconsole.c: Likewise. | |
632 | ||
633 | These files were written by Johan Rydberg | |
634 | (jrydberg@night.trouble.net) and I only modified them slightly. | |
635 | ||
636 | * boot/powerpc/ieee1275/cmain.c: New file. | |
637 | * boot/powerpc/ieee1275/crt0.S: Likewise. | |
638 | * boot/powerpc/ieee1275/ieee1275.c: Likewise. | |
639 | * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise. | |
640 | ||
8c8cc205 | 641 | 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx> |
642 | ||
643 | * Makefile.in: Update copyright. | |
644 | * genmodsrc.sh: Likewise. | |
645 | * gensymlist.sh: Likewise. | |
646 | * term/i386/pc/vga.c: Indent correctly. | |
647 | ||
648 | * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as | |
649 | bugreporting address. | |
650 | * util/i386/pc/pupa-setup.c (usage): Likewise, | |
651 | (main): Call pupa_ext2_init and pupa_ext2_fini. | |
652 | ||
653 | * fs/fat.c (log2): Renamed to ... | |
654 | (fat_log2): ... this. | |
655 | All callers changed. | |
656 | * kern/misc.c (memcpy): Alias to pupa_memmove. | |
657 | * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix | |
658 | lvalue cast. | |
659 | * util/console.c (pupa_ncurses_fini): Return 0. | |
660 | ||
661 | * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]: | |
662 | Move fail label here. | |
663 | [__GNU__]: Don't warn when using stat. | |
664 | (open_device)[!__linux__]: Check if FD < 0 instead of !FD. | |
665 | (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to | |
666 | long int. Use strtol instead of strtoul. | |
667 | ||
db1771cf | 668 | 2004-03-14 Marco Gerards <metgerards@student.han.nl> |
669 | ||
670 | * commands/boot.c: New file. | |
671 | * commands/cat.c: Likewise. | |
672 | * commands/cmp.c: Likewise. | |
673 | * commands/ls.c: Likewise. | |
674 | * commands/terminal.c: Likewise. | |
675 | * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>. | |
676 | (pupa_register_command): Changed interface to match the new | |
677 | argument parser. | |
678 | (pupa_command_execute): Changed (almost rewritten) so it uses | |
679 | pupa_split_command. Added support for setting variables using the | |
680 | syntax `foo=bar'. | |
681 | (rescue_command): Changed to work with the new argument parser. | |
682 | (terminal_command): Moved from here to commands/terminal.c. | |
683 | (set_command): New function. | |
684 | (unset_command): New function. | |
685 | (insmod_command): New function. | |
686 | (rmmod_command): New function. | |
687 | (lsmod_command): New function. | |
688 | (pupa_command_init): Don't initialize the command terminal | |
689 | anymore. Initialize the commands set, unset, insmod, rmmod and | |
690 | lsmod. | |
691 | * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c. | |
692 | (kernel_img_HEADERS): Add arg.h and env.h. | |
693 | (pupa_mkimage_LDFLAGS): Add kern/env.c. | |
694 | (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c, | |
695 | commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c, | |
696 | normal/arg.c. | |
697 | (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and | |
698 | terminal.mod. | |
699 | (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c. | |
700 | (boot_mod_SOURCES): New variable. | |
701 | (terminal_mod_SOURCES): Likewise. | |
702 | (ls_mod_SOURCES): Likewise. | |
703 | (cmp_mod_SOURCES): Likewise. | |
704 | (cat_mod_SOURCES): Likewise. | |
705 | ||
706 | * normal/arg.c: New file. | |
707 | * kern/env.c: Likewise. | |
708 | * include/pupa/arg.h: Likewise. | |
709 | * include/pupa/env.h: Likewise. | |
710 | * font/manager.c (font_command): Changed to match argument parsing | |
711 | interface changes. | |
712 | (PUPA_MOD_INIT): Likewise. | |
713 | * hello/hello.c (pupa_cmd_hello): Likewise. | |
714 | (PUPA_MOD_INIT): Likewise. | |
715 | * include/pupa/disk.h: Include <pupa/device.h>. | |
716 | (pupa_print_partinfo): New prototype. | |
717 | * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed. | |
718 | (pupa_dl_get_prefix): Likewise. | |
719 | * include/pupa/misc.h: Include <pupa/err.h>. | |
720 | (pupa_isgraph): New prototype. | |
721 | (pupa_isdigit): Likewise. | |
722 | (pupa_split_cmdline): Likewise. | |
723 | * include/pupa/normal.h: Include <pupa/arg.h>. | |
724 | (pupa_command): Changed the prototype of the member `func' to | |
725 | match the argument parsing interface. Added member `options'. | |
726 | (pupa_register_command): Updated to match function. | |
727 | (pupa_arg_parse): New prototype. | |
728 | (pupa_hello_init) [PUPA_UTIL]: New prototype. | |
729 | (pupa_hello_fini) [PUPA_UTIL]: Likewise. | |
730 | (pupa_ls_init) [PUPA_UTIL]: Likewise. | |
731 | (pupa_ls_fini) [PUPA_UTIL]: Likewise. | |
732 | (pupa_cat_init) [PUPA_UTIL]: Likewise. | |
733 | (pupa_cat_fini) [PUPA_UTIL]: Likewise. | |
734 | (pupa_boot_init) [PUPA_UTIL]: Likewise. | |
735 | (pupa_boot_fini) [PUPA_UTIL]: Likewise. | |
736 | (pupa_cmp_init) [PUPA_UTIL]: Likewise. | |
737 | (pupa_cmp_fini) [PUPA_UTIL]: Likewise. | |
738 | (pupa_terminal_init) [PUPA_UTIL]: Likewise. | |
739 | (pupa_terminal_fini) [PUPA_UTIL]: Likewise. | |
740 | * kern/disk.c: Include <pupa/file.h>. | |
741 | (pupa_print_partinfo): New function. | |
742 | * kern/dl.c: Include <pupa/env.h>. | |
743 | (pupa_dl_dir): Variable removed. | |
744 | (pupa_dl_load): Use the environment variable `prefix' instead of | |
745 | the variable pupa_dl_dir. | |
746 | (pupa_dl_set_prefix): Function removed. | |
747 | (pupa_dl_get_prefix): Likewise. | |
748 | * kern/i386/pc/init.c: Include <pupa/env.h>. | |
749 | (pupa_machine_init): Use the environment variable `prefix' instead of | |
750 | using pupa_dl_set_prefix to set the prefix. | |
751 | * kern/main.c: Include <pupa/env.h>. | |
752 | (pupa_set_root_dev): Use the environment variable `prefix' instead of | |
753 | using pupa_dl_get_prefix to get the prefix. | |
754 | * kern/misc.c: Include <pupa/env.h>. | |
755 | (pupa_isdigit): New function. | |
756 | (pupa_isgraph): Likewise. | |
757 | (pupa_ftoa): Likewise. | |
758 | (pupa_vsprintf): Added support for printing values of the type | |
759 | `double'. Make it possible to format variable output when using | |
760 | formatting like `%1.2%f'. | |
761 | (pupa_split_cmdline): New function. | |
762 | * kern/rescue.c: Include <pupa/env.h>. | |
763 | (next_word): Removed function. | |
764 | (pupa_rescue_cmd_prefix): Likewise. | |
765 | (pupa_rescue_cmd_set): New function. | |
766 | (pupa_rescue_cmd_unset): New function. | |
767 | (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to | |
768 | split the command line instead of splitting it here. Added | |
769 | support for setting variables using the syntax `foo=bar'. Don't | |
770 | initialize the prefix command anymore. Initialized the set and | |
771 | unset commands. | |
772 | * normal/cmdline.c: Include <pupa/env.h>. | |
773 | (pupa_tab_complete): Added prototypes for print_simple_completion, | |
774 | print_partition_completion, add_completion, iterate_commands, | |
775 | iterate_dev, iterate_part and iterate_dir. Moved code to print | |
776 | partition information from here to kern/disk.c. | |
777 | (pupa_cmdline_run): Don't check if the funtion exists anymore. | |
778 | * normal/main.c: Include <pupa/env.h>. | |
779 | (pupa_rescue_cmd_normal): Use the environment variable `prefix' | |
780 | instead of using pupa_dl_get_prefix to get the prefix. | |
781 | * term/i386/pc/vga.c: Include <pupa/arg.h>. | |
782 | (check_vga_mem): Cast pointers to `void *' to silence a gcc | |
783 | warning. | |
784 | (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case. | |
785 | (pupa_vga_setcolor): Declare unused variables with `__attribute__ | |
786 | ((unused))' to silence a gcc warning. | |
787 | (pupa_vga_setcolor): Likewise. | |
788 | (debug_command): Changed to match argument parsing | |
789 | interface changes. | |
790 | * util/pupa-emu.c: Include <pupa/env.h>. | |
791 | (options): Added 0's for unused fields to silence a gcc warning. | |
792 | (argp): Likewise. | |
793 | (main): Use the environment variable `prefix' instead of using | |
794 | pupa_dl_set_prefix to set the prefix. Initialize the commands ls, | |
795 | boot, cmp, cat and terminal. Finish the commands boot, cmp, cat | |
796 | and terminal. | |
797 | ||
798 | * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>. | |
799 | * util/misc.c: Include <malloc.h>. | |
800 | (pupa_malloc): Rewritten so errors are correctly reported. | |
801 | (pupa_realloc): Likewise. | |
802 | (pupa_memalign): Likewise. | |
803 | (pupa_mm_init_region): Declare unused variables with | |
804 | `__attribute__ ((unused))' to silence a gcc warning. | |
805 | * normal/i386/setjmp.S: Remove tab at the end of the file to | |
806 | silence a gcc warning. | |
807 | * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused | |
808 | variables with `__attribute__ ((unused))' to silence a gcc | |
809 | warning. | |
810 | * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the | |
811 | local variable i unsigned to silence a gcc warning. | |
812 | ||
813 | * kern/term.c: Include <pupa/misc.h>. | |
814 | (pupa_more_lines): New variable. | |
815 | (pupa_more): Likewise. | |
816 | (pupa_putcode): When the pager is active pause at the end of every | |
817 | screen. | |
818 | (pupa_set_more): New function. | |
819 | * include/pupa/term.h (pupa_set_more): New prototype. | |
820 | ||
821 | ||
3b1139cb | 822 | 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org> |
823 | ||
824 | Now this project is GRUB 2 rather than PUPA. The location of | |
825 | the CVS repository was moved to GRUB's. | |
826 | ||
827 | * configure.ac: Use bug-grub as the reporting address. | |
828 | Use GRUB instead of PUPA. | |
829 | Change the version number to 1.90. | |
830 | ||
8367695c | 831 | 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org> |
832 | ||
833 | * genkernsyms.sh: Updated copyright information. | |
834 | * genmk.rb: Likewise. | |
835 | * genmodsrc.sh: Likewise. | |
836 | * gensymlist.sh: Likewise. | |
837 | * boot/i386/pc/boot.S: Likewise. | |
838 | * boot/i386/pc/diskboot.S: Likewise. | |
839 | * disk/i386/pc/biosdisk.c: Likewise. | |
840 | * disk/i386/pc/partition.c: Likewise. | |
841 | * font/manager.c: Likewise. | |
842 | * fs/ext2.c: Likewise. | |
843 | * fs/fat.c: Likewise. | |
844 | * include/pupa/boot.h: Likewise. | |
845 | * include/pupa/device.h: Likewise. | |
846 | * include/pupa/disk.h: Likewise. | |
847 | * include/pupa/dl.h: Likewise. | |
848 | * include/pupa/elf.h: Likewise. | |
849 | * include/pupa/err.h: Likewise. | |
850 | * include/pupa/file.h: Likewise. | |
851 | * include/pupa/font.h: Likewise. | |
852 | * include/pupa/fs.h: Likewise. | |
853 | * include/pupa/kernel.h: Likewise. | |
854 | * include/pupa/loader.h: Likewise. | |
855 | * include/pupa/misc.h: Likewise. | |
856 | * include/pupa/mm.h: Likewise. | |
857 | * include/pupa/net.h: Likewise. | |
858 | * include/pupa/normal.h: Likewise. | |
859 | * include/pupa/rescue.h: Likewise. | |
860 | * include/pupa/setjmp.h: Likewise. | |
861 | * include/pupa/symbol.h: Likewise. | |
862 | * include/pupa/term.h: Likewise. | |
863 | * include/pupa/types.h: Likewise. | |
864 | * include/pupa/i386/setjmp.h: Likewise. | |
865 | * include/pupa/i386/types.h: Likewise. | |
866 | * include/pupa/i386/pc/biosdisk.h: Likewise. | |
867 | * include/pupa/i386/pc/boot.h: Likewise. | |
868 | * include/pupa/i386/pc/console.h: Likewise. | |
869 | * include/pupa/i386/pc/init.h: Likewise. | |
870 | * include/pupa/i386/pc/kernel.h: Likewise. | |
871 | * include/pupa/i386/pc/linux.h: Likewise. | |
872 | * include/pupa/i386/pc/loader.h: Likewise. | |
873 | * include/pupa/i386/pc/memory.h: Likewise. | |
874 | * include/pupa/i386/pc/multiboot.h: Likewise. | |
875 | * include/pupa/i386/pc/partition.h: Likewise. | |
876 | * include/pupa/i386/pc/time.h: Likewise. | |
877 | * include/pupa/i386/pc/vga.h: Likewise. | |
878 | * include/pupa/i386/pc/util/biosdisk.h: Likewise. | |
879 | * include/pupa/util/getroot.h: Likewise. | |
880 | * include/pupa/util/misc.h: Likewise. | |
881 | * include/pupa/util/resolve.h: Likewise. | |
882 | * kern/device.c: Likewise. | |
883 | * kern/disk.c: Likewise. | |
884 | * kern/dl.c: Likewise. | |
885 | * kern/err.c: Likewise. | |
886 | * kern/file.c: Likewise. | |
887 | * kern/fs.c: Likewise. | |
888 | * kern/loader.c: Likewise. | |
889 | * kern/main.c: Likewise. | |
890 | * kern/misc.c: Likewise. | |
891 | * kern/mm.c: Likewise. | |
892 | * kern/rescue.c: Likewise. | |
893 | * kern/term.c: Likewise. | |
894 | * kern/i386/dl.c: Likewise. | |
895 | * kern/i386/pc/init.c: Likewise. | |
896 | * kern/i386/pc/lzo1x.S: Likewise. | |
897 | * kern/i386/pc/startup.S: Likewise. | |
898 | * loader/i386/pc/chainloader.c: Likewise. | |
899 | * loader/i386/pc/linux.c: Likewise. | |
900 | * loader/i386/pc/multiboot.c: Likewise. | |
901 | * normal/cmdline.c: Likewise. | |
902 | * normal/command.c: Likewise. | |
903 | * normal/main.c: Likewise. | |
904 | * normal/menu.c: Likewise. | |
905 | * normal/i386/setjmp.S: Likewise. | |
906 | * term/i386/pc/console.c: Likewise. | |
907 | * term/i386/pc/vga.c: Likewise. | |
908 | * util/console.c: Likewise. | |
909 | * util/genmoddep.c: Likewise. | |
910 | * util/misc.c: Likewise. | |
911 | * util/pupa-emu.c: Likewise. | |
912 | * util/resolve.c: Likewise. | |
913 | * util/unifont2pff.rb: Likewise. | |
914 | * util/i386/pc/biosdisk.c: Likewise. | |
915 | * util/i386/pc/getroot.c: Likewise. | |
916 | * util/i386/pc/pupa-mkimage.c: Likewise. | |
917 | * util/i386/pc/pupa-setup.c: Likewise. | |
918 | ||
e6eced71 | 919 | 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx> |
920 | ||
921 | * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND | |
922 | when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all | |
923 | callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before | |
924 | reading and reset it after reading. | |
925 | (pupa_ext2_close): Return PUPA_ERR_NONE. | |
926 | ||
927 | * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS): | |
928 | Correct value. | |
929 | (struct linux_kernel_header): Add kernel_version and | |
930 | initrd_addr_max. | |
931 | * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether | |
932 | pupa_file_read succeeds. | |
933 | (pupa_rescue_cmd_initrd): Implement. | |
934 | ||
5aded270 | 935 | 2003-12-03 Marco Gerards <metgerards@student.han.nl> |
936 | ||
937 | * fs/ext2.c (pupa_ext2_label): New function. | |
938 | (pupa_ext2_fs): Added label. | |
939 | * fs/fat.c (pupa_fat_label): New function. | |
940 | (pupa_fat_fs): Added label. | |
941 | * include/pupa/fs.h (struct pupa_fs): Added prototype label. | |
942 | ||
943 | * kern/misc.c (pupa_strndup): New function. | |
944 | * include/pupa/misc.h (pupa_strndup): New prototype. | |
945 | ||
946 | * include/pupa/normal.h: Include <pupa/err.h>. | |
947 | (pupa_set_history): New prototype. | |
948 | (pupa_iterate_commands): New prototype. | |
949 | * normal/cmdline.c: Include <pupa/machine/partition.h>, | |
950 | <pupa/disk.h>, <pupa/file.h>. | |
951 | (hist_size): New variable. | |
952 | (hist_lines): Likewise. | |
953 | (hist_end): Likewise. | |
954 | (hist_used): Likewise. | |
955 | (pupa_set_history): New function. | |
956 | (pupa_history_get): Likewise. | |
957 | (pupa_history_add): Likewise. | |
958 | (pupa_history_replace): Likewise. | |
959 | (pupa_tab_complete): Likewise. | |
960 | (pupa_cmdline_run): Added tab completion and history buffer. Tab | |
961 | completion shows partitionnames while completing partitions, this | |
962 | feature was suggested by Jeff Bailey. | |
963 | * normal/command.c (pupa_iterate_commands): New function. | |
964 | * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro. | |
965 | (pupa_normal_init): Initialize history buffer. | |
966 | (PUPA_MOD_INIT): Likewise. | |
967 | (pupa_normal_fini): Free the history buffer. | |
968 | (PUPA_MOD_FINI): Likewise. | |
969 | ||
970 | * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace | |
971 | key. | |
972 | ||
973 | * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN. | |
974 | * configure.ac [i386]: Check for regparam bug. | |
975 | (NESTED_FUNC_ATTR) [! i386]: Defined. | |
976 | ||
1f7315a3 | 977 | 2003-11-17 Marco Gerards <metgerards@student.han.nl> |
978 | ||
979 | * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu. | |
980 | (pupa_setup_SOURCES): Added util/i386/pc/getroot.c. | |
981 | (pupa_emu_SOURCES): New variable. | |
982 | (pupa_emu_LDFLAGS): Likewise. | |
983 | * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype. | |
984 | (pupa_ext2_fini) [PUPA_UTIL]: Likewise. | |
985 | * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise. | |
986 | (pupa_normal_fini) [PUPA_UTIL]: Likewise. | |
987 | * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>. | |
988 | (pupa_jmp_buf): New typedef. | |
989 | (pupa_setjmp) [PUPA_UTIL]: New macro. | |
990 | (pupa_longjmp) [PUPA_UTIL]: Likewise. | |
991 | * include/pupa/term.h (struct pupa_term): New member `refresh'. | |
992 | (pupa_refresh): New prototype. | |
993 | * include/pupa/util/getroot.h: New file. | |
994 | * kern/misc.c (pupa_vsprintf): Refresh the screen after updating | |
995 | it. | |
996 | * kern/rescue.c (pupa_rescue_get_command_line): Likewise. | |
997 | (pupa_rescue_cmd_cat): Likewise. | |
998 | (pupa_rescue_cmd_ls): Likewise. | |
999 | (pupa_rescue_cmd_testload): Likewise. | |
1000 | (pupa_rescue_cmd_lsmod): Likewise. | |
1001 | * normal/cmdline.c (pupa_cmdline_get): Likewise. | |
1002 | * normal/menu.c (run_menu): Likewise. | |
1003 | * kern/term.c (pupa_cls): Likewise. | |
1004 | (pupa_refresh): New function. | |
1005 | * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function. | |
1006 | (pupa_normal_fini) [PUPA_UTIL]: Likewise. | |
1007 | * util/console.c: New file. | |
1008 | ||
1009 | * util/i386/pc/getroot.c: New file. | |
1010 | * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>. | |
1011 | (pupa_putchar): New function. | |
1012 | (pupa_refresh): Likewise. | |
1013 | (xgetcwd): Function moved to ... | |
1014 | (strip_extra_slashes): Likewise. | |
1015 | (get_prefix): Likewise. | |
1016 | * util/i386/pc/getroot.c: ... here. | |
1017 | (find_root_device): Function moved and renamed to... | |
1018 | * util/i386/pc/getroot.c (pupa_find_root_device): ... here. | |
1019 | Changed all callers. | |
1020 | * util/i386/pc/pupa-setup.c (guess_root_device): Function moved | |
1021 | and renamed to... | |
1022 | * util/i386/pc/getroot.c (pupa_guess_root_device): ... here. | |
1023 | Changed all callers. | |
1024 | * util/misc.c (pupa_memalign): New function. | |
1025 | (pupa_mm_init_region): Likewise. | |
1026 | (pupa_register_exported_symbols): Likewise. | |
1027 | (pupa_putchar): Function removed. | |
1028 | * util/pupa-emu.c: New file. | |
1029 | ||
9a5c1ade | 1030 | 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx> |
1031 | ||
1032 | * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod. | |
1033 | (_multiboot_mod_SOURCES): New variable. | |
1034 | (_multiboot_mod_CFLAGS): Likewise. | |
1035 | * loader/i386/pc/multiboot.c: New file. | |
1036 | * include/pupa/i386/pc/multiboot.h: Likewise. | |
1037 | * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h. | |
1038 | (pupa_multiboot_real_boot): New function. | |
1039 | * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h. | |
1040 | (pupa_multiboot_real_boot): New prototype. | |
1041 | (pupa_rescue_cmd_multiboot): Likewise | |
1042 | (pupa_rescue_cmd_module): Likewise. | |
1043 | ||
1044 | * kern/loader.c (pupa_loader_set): Continue when | |
1045 | pupa_loader_unload_func() fails. | |
1046 | (pupa_loader_unset): New function. | |
1047 | * include/pupa/loader.h (pupa_loader_unset): New prototype. | |
1048 | ||
1049 | * kern/misc.c (pupa_stpcpy): New function. | |
1050 | * include/pupa/misc.h (pupa_stpcpy): New prototype. | |
1051 | ||
8e72a9c0 | 1052 | 2003-11-12 Marco Gerards <metgerards@student.han.nl> |
1053 | ||
1054 | * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check | |
1055 | for available extensions. | |
1056 | ||
1057 | * include/pupa/i386/pc/time.h: New file. | |
1058 | * kern/disk.c: Include <pupa/machine/time.h>. | |
1059 | (PUPA_CACHE_TIMEOUT): New macro. | |
1060 | (pupa_last_time): New variable. | |
1061 | (pupa_disk_open): Flush the cache when there was a timeout. | |
1062 | (pupa_disk_close): Reset the timer. | |
1063 | * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from | |
1064 | pupa_currticks. | |
1065 | * util/misc.c: Include <sys/times.h> | |
1066 | (pupa_get_rtc): New function. | |
1067 | ||
c4adbd32 | 1068 | 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx> |
1069 | ||
1070 | * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks | |
1071 | as blocks. | |
1072 | (pupa_ext2_get_file_block): Use blocks member. | |
1073 | ||
1074 | * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the | |
1075 | first block. Return -1 instead of pupa_errno on error. | |
1076 | ||
bfd30f06 | 1077 | 2003-10-27 Marco Gerards <metgerards@student.han.nl> |
1078 | ||
1079 | * README: In the pupa-mkimage example use _chain instead of chain | |
1080 | and ext2 instead of fat. | |
1081 | * TODO: Replace ext2fs with jfs as an example. Add an item for | |
1082 | adding journal playback for ext2fs. | |
1083 | * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c. | |
1084 | (pkgdata_MODULES): Added ext2.mod. | |
1085 | (ext2_mod_SOURCES): New variable. | |
1086 | (ext2_mod_CFLAGS): Likewise. | |
1087 | * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP. | |
1088 | * include/pupa/misc.h (pupa_strncpy): New prototype. | |
1089 | (pupa_strcat): Likewise. | |
1090 | (pupa_strncmp): Likewise. | |
1091 | * kern/misc.c (pupa_strcat): Enable function. | |
1092 | (pupa_strncpy): New function. | |
1093 | (pupa_strncmp): Likewise. | |
1094 | * fs/ext2.c: New file. | |
1095 | ||
1096 | * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE | |
1097 | when the read failed before retrying. | |
1098 | * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed. | |
1099 | (_FILE_OFFSET_BITS): Likewise. | |
1100 | * configure.ac: Added AC_SYS_LARGEFILE. | |
1101 | ||
98d15063 | 1102 | 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> |
1103 | ||
1104 | * genmk.rb (PModule#rule): Make sure to get only symbol names | |
1105 | from the output of nm. | |
1106 | Reported by Robert Millan <zeratul2@wanadoo.es>. | |
1107 | ||
18d9c7cd | 1108 | 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org> |
1109 | ||
1110 | I forgot to check in these changes for a long time. This adds | |
1111 | incomplete support for VGA console, and this is still very | |
1112 | buggy. Also, a lot of consideration is required for I18N, | |
1113 | UNICODE, and VGA font issues. Therefore, assume that this is | |
1114 | such that "better than nothing". | |
1115 | ||
1116 | * font/manager.c: New file. | |
1117 | * include/pupa/font.h: Likewise. | |
1118 | * include/pupa/i386/pc/vga.h: Likewise. | |
1119 | * term/i386/pc/vga.c: Likewise. | |
1120 | * util/unifont2pff.rb: Likewise. | |
1121 | ||
1122 | * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h. | |
1123 | (pkgdata_MODULES): Added vga.mod and font.mod. | |
1124 | (vga_mod_SOURCES): New variables. | |
1125 | (vga_mod_CFLAGS): Likewise. | |
1126 | (font_mod_SOURCES): Likewise. | |
1127 | (font_mod_CFLAGS): Likewise. | |
1128 | ||
1129 | * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant. | |
1130 | ||
1131 | * include/pupa/term.h: Include pupa/err.h. | |
1132 | (struct pupa_term): Added init and fini. | |
1133 | Changed the argument of putchar to pupa_uint32_t. | |
1134 | ||
1135 | * include/pupa/i386/pc/console.h: Include pupa/symbol.h. | |
1136 | (pupa_console_real_putchar): New prototype. | |
1137 | (pupa_console_putchar): Removed. | |
1138 | (pupa_console_checkkey): Exported. | |
1139 | (pupa_console_getkey): Likewise. | |
1140 | ||
1141 | * kern/misc.c (pupa_vsprintf): Add support for UNICODE | |
1142 | characters. | |
1143 | ||
1144 | * kern/term.c (pupa_term_set_current): Rewritten. | |
1145 | (pupa_putchar): Likewise. | |
1146 | (pupa_putcode): New function. | |
1147 | ||
1148 | * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ... | |
1149 | (pupa_console_real_putchar): ... this. | |
1150 | (pupa_vga_set_mode): New function. | |
1151 | (pupa_vga_get_font): Likewise. | |
1152 | ||
1153 | * normal/command.c: Include pupa/term.h. | |
1154 | (terminal_command): New function. | |
1155 | (pupa_command_init): Register the command "terminal". | |
1156 | ||
1157 | * normal/menu.c (DISP_LEFT): Changed to a UNICODE value. | |
1158 | (DISP_UP): Likewise. | |
1159 | (DISP_RIGHT): Likewise. | |
1160 | (DISP_DOWN): Likewise. | |
1161 | (DISP_HLINE): Likewise. | |
1162 | (DISP_VLINE): Likewise. | |
1163 | (DISP_UL): Likewise. | |
1164 | (DISP_UR): Likewise. | |
1165 | (DISP_LL): Likewise. | |
1166 | (DISP_LR): Likewise. | |
1167 | ||
1168 | * term/i386/pc/console.c (pupa_console_putchar): New function. | |
1169 | ||
977329f5 | 1170 | 2003-02-08 NIIBE Yutaka <gniibe@m17n.org> |
1171 | ||
1172 | * util/resolve.c (pupa_util_resolve_dependencies): BUG | |
1173 | FIX. Reverse the path_list. | |
1174 | ||
1175 | * include/pupa/normal.h: Export pupa_register_command and | |
1176 | pupa_unregister_command. | |
1177 | ||
1178 | * hello/hello.c (pupa_cmd_hello): New module. | |
1179 | * conf/i386-pc.rmk: Added hello.mod. | |
1180 | ||
1f5ab428 | 1181 | 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org> |
1182 | ||
1183 | * kern/i386/pc/lzo1x.S: New file. | |
1184 | ||
1185 | * util/i386/pc/pupa-mkimage.c: Include lzo1x.h. | |
1186 | (compress_kernel): New variable. | |
1187 | (generate_image): Heavily modified to support compressing a | |
1188 | large part of the core image. | |
1189 | ||
1190 | * util/misc.c (pupa_util_read_image): Fix a file descriptor | |
1191 | leak. | |
1192 | (pupa_util_load_image): New function. | |
1193 | ||
1194 | * kern/i386/pc/startup.S: Include pupa/machine/kernel.h. | |
1195 | (pupa_compressed_size): New variable. | |
1196 | (codestart): Enable Gate A20 here. | |
1197 | Decompress the compressed part of the core image. | |
1198 | Rearrange the code to put functions and variables which are | |
1199 | required for initialization in the non-compressed part. | |
1200 | Include lzo1x.S. | |
1201 | ||
1202 | * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20 | |
1203 | here. | |
1204 | ||
1205 | * include/pupa/util/misc.h (pupa_util_write_image): Declared. | |
1206 | ||
1207 | * include/pupa/i386/pc/kernel.h | |
1208 | (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro. | |
1209 | (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4. | |
1210 | (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise. | |
1211 | (PUPA_KERNEL_MACHINE_PREFIX): Likewise. | |
1212 | (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro. | |
1213 | ||
1214 | * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable. | |
1215 | ||
1216 | * genmk.rb (Image#rule): Put LDFLAGS at the end of a line. | |
1217 | (Utility#rule): Likewise. | |
1218 | ||
1219 | * configure.ac: Check if LZO is available. | |
1220 | ||
ce5bf700 | 1221 | 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org> |
1222 | ||
1223 | * include/pupa/normal.h: New file. | |
1224 | * include/pupa/setjmp.h: Likewise. | |
1225 | * include/pupa/i386/setjmp.h: Likewise. | |
1226 | * normal/cmdline.c: Likewise. | |
1227 | * normal/command.c: Likewise. | |
1228 | * normal/main.c: Likewise. | |
1229 | * normal/menu.c: Likewise. | |
1230 | * normal/i386/setjmp.S: Likewise. | |
1231 | ||
1232 | * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global. | |
1233 | (pupa_rescue_cmd_initrd): Likewise. | |
1234 | ||
1235 | * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader): | |
1236 | Likewise. | |
1237 | ||
1238 | * kern/i386/pc/startup.S (translation_table): New variable. | |
1239 | (translate_keycode): New function. | |
1240 | (pupa_console_getkey): Call translate_keycode. | |
1241 | ||
1242 | * kern/rescue.c (attempt_normal_mode): New function. | |
1243 | (pupa_enter_rescue_mode): Attempt to execute the normal mode. If | |
1244 | it failed, print a message. | |
1245 | ||
1246 | * kern/mm.c (pupa_real_malloc): Print more information when a | |
1247 | free magic is broken. | |
1248 | (pupa_free): If the first free header is not free actually, set | |
1249 | it to P. | |
1250 | ||
1251 | * kern/main.c (pupa_load_normal_mode): Just load the module | |
1252 | "normal". | |
1253 | (pupa_main): Don't print the message | |
1254 | "Entering into rescue mode..." here. | |
1255 | ||
1256 | * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd): | |
1257 | Declared. | |
1258 | (pupa_rescue_cmd_initrd): Likewise. | |
1259 | (pupa_rescue_cmd_initrd): Likewise. | |
1260 | ||
1261 | * include/pupa/symbol.h (FUNCTION): Specify the type. | |
1262 | (VARIABLE): Likewise. | |
1263 | ||
1264 | * include/pupa/err.h (pupa_err_t): Added | |
1265 | PUPA_ERR_UNKNOWN_COMMAND. | |
1266 | ||
1267 | * include/pupa/dl.h (pupa_dl_set_prefix): Exported. | |
1268 | (pupa_dl_get_prefix): Likewise. | |
1269 | ||
1270 | * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod. | |
1271 | Added _chain.mod and _linux.mod instead of chain.mod and | |
1272 | linux.mod. | |
1273 | (chain_mod_SOURCES): Renamed to ... | |
1274 | (_chain_mod_SOURCES): ... this. | |
1275 | (chain_mod_CFLAGS): Renamed to ... | |
1276 | (_chain_mod_CFLAGS): ... this. | |
1277 | (linux_mod_SOURCES): Renamed to ... | |
1278 | (_linux_mod_SOURCES): ... this. | |
1279 | (linux_mod_CFLAGS): Renamed to ... | |
1280 | (_linux_mod_CFLAGS): ... this. | |
1281 | (normal_mod_SOURCES): New variable. | |
1282 | (normal_mod_CFLAGS): Likewise. | |
1283 | (normal_mod_ASFLAGS): Likewise. | |
1284 | ||
1285 | 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org> | |
1286 | ||
1287 | * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if | |
1288 | possible. | |
1289 | ||
1290 | * kern/dl.c (pupa_dl_ref): Refer dependending modules | |
1291 | recursively. | |
1292 | (pupa_dl_unref): Unrefer depending modules recursively. | |
1293 | Don't call pupa_dl_unload implicitly, because PUPA can crash if | |
1294 | a module is unloaded before one depending on that module is | |
1295 | unloaded. | |
1296 | (pupa_dl_unload): Unload depending modules explicitly, | |
1297 | if possible. | |
1298 | ||
c04da074 | 1299 | 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org> |
1300 | ||
1301 | * include/pupa/i386/pc/linux.h: New file. | |
1302 | * loader/i386/pc/linux.c: Likewise. | |
1303 | ||
1304 | * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector): | |
1305 | Removed. | |
1306 | (pupa_chainloader_unload): Return PUPA_ERR_NONE. | |
1307 | (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead | |
1308 | of PUPA_CHAINLOADER_BOOT_SECTOR. | |
1309 | ||
1310 | * kern/i386/pc/startup.S: Include pupa/machine/linux.h. | |
1311 | (pupa_linux_prot_size): New variable. | |
1312 | (pupa_linux_tmp_addr): Likewise. | |
1313 | (pupa_linux_real_addr): Likewise. | |
1314 | (pupa_linux_boot_zimage): New function. | |
1315 | (pupa_linux_boot_bzimage): Likewise. | |
1316 | ||
1317 | * kern/i386/pc/init.c (struct mem_region): New structure. | |
1318 | (MAX_REGIONS): New macro. | |
1319 | (mem_regions): New variable. | |
1320 | (num_regions): Likewise. | |
1321 | (pupa_os_area_addr): Likewise. | |
1322 | (pupa_os_area_size): Likewise. | |
1323 | (pupa_lower_mem): Likewise. | |
1324 | (pupa_upper_mem): Likewise. | |
1325 | (add_mem_region): New function. | |
1326 | (compact_mem_regions): Likewise. | |
1327 | (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to | |
1328 | the size of the conventional memory and that of so-called upper | |
1329 | memory (before the first memory hole). | |
1330 | Instead of adding each found region to free memory, use | |
1331 | add_mem_region and add them after removing overlaps. | |
1332 | Also, add only 1/4 of the upper memory to free memory. The rest | |
1333 | is used for loading OS images. Maybe this is ad hoc, but this | |
1334 | makes it much easier to relocate OS images when booting. | |
1335 | ||
1336 | * kern/rescue.c (pupa_rescue_cmd_module): Removed. | |
1337 | (pupa_enter_rescue_mode): Don't register initrd and module. | |
1338 | ||
1339 | * kern/mm.c: Include pupa/dl.h. | |
1340 | ||
1341 | * kern/main.c: Include pupa/file.h and pupa/device.h. | |
1342 | ||
1343 | * kern/loader.c (pupa_loader_load_module_func): Removed. | |
1344 | (pupa_loader_load_module): Likewise. | |
1345 | ||
1346 | * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of | |
1347 | ``.o''. | |
1348 | ||
1349 | * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared. | |
1350 | (pupa_linux_tmp_addr): Likewise. | |
1351 | (pupa_linux_real_addr): Likewise. | |
1352 | (pupa_linux_boot_zimage): Likewise. | |
1353 | (pupa_linux_boot_bzimage): Likewise. | |
1354 | ||
1355 | * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared. | |
1356 | (pupa_upper_mem): Likewise. | |
1357 | (pupa_gate_a20): Don't export, because turning off Gate A20 in a | |
1358 | module is too dangerous. | |
1359 | ||
1360 | * include/pupa/loader.h (pupa_os_area_addr): Declared. | |
1361 | (pupa_os_area_size): Likewise. | |
1362 | (pupa_loader_set): Remove the first argument. Loader doesn't | |
1363 | manage modules or initrd any longer. | |
1364 | (pupa_loader_load_module): Removed. | |
1365 | ||
1366 | * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod. | |
1367 | (linux_mod_SOURCES): New variable. | |
1368 | (linux_mod_CFLAGS): Likewise. | |
1369 | ||
a13f9237 | 1370 | 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org> |
1371 | ||
1372 | * util/i386/pc/pupa-setup.c (setup): Convert the endianness of | |
1373 | the length of a blocklist correctly. | |
1374 | ||
1375 | * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]: | |
1376 | Use ioctl only if the OS file is a block device. | |
1377 | (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is | |
1378 | not very useful for normal files. | |
1379 | ||
1380 | * kern/main.c (pupa_set_root_dev): New function. | |
1381 | (pupa_load_normal_mode): Likewise. | |
1382 | (pupa_main): Call those above. | |
1383 | ||
1384 | * include/pupa/types.h (pupa_swap_bytes16): Cast the result to | |
1385 | pupa_uint16_t. | |
1386 | ||
1387 | * include/pupa/kernel.h (pupa_enter_normal_mode): Removed. | |
1388 | ||
a5ffe966 | 1389 | 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org> |
1390 | ||
1391 | * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h. | |
1392 | (setup): Configure the installed partition information and the | |
1393 | dl prefix. | |
1394 | ||
1395 | * loader/i386/pc/chainloader.c (my_mod): New variable. | |
1396 | (pupa_chainloader_unload): New function. | |
1397 | (pupa_rescue_cmd_chainloader): Refer itself. | |
1398 | (PUPA_MOD_INIT): Save its own module in MY_MOD. | |
1399 | ||
1400 | * kern/i386/pc/startup.S (install_partition): Removed. | |
1401 | (version_string): Likewise. | |
1402 | (config_file): Likewise. | |
1403 | (pupa_install_dos_part): New variable. | |
1404 | (pupa_install_bsd_part): Likewise. | |
1405 | (pupa_prefix): Likewise. | |
1406 | (pupa_chainloader_real_boot): Call pupa_dl_unload_all. | |
1407 | ||
1408 | * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h | |
1409 | and pupa/misc.h. | |
1410 | (make_install_device): New function. | |
1411 | (pupa_machine_init): Set the dl prefix. | |
1412 | ||
1413 | * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h. | |
1414 | (buf): Renamed to ... | |
1415 | (linebuf): ... this. | |
1416 | (pupa_rescue_cmd_prefix): New function. | |
1417 | (pupa_rescue_cmd_insmod): Likewise. | |
1418 | (pupa_rescue_cmd_rmmod): Likewise. | |
1419 | (pupa_rescue_cmd_lsmod): Likewise. | |
1420 | (pupa_enter_rescue_mode): Register new commands: prefix, insmod, | |
1421 | rmmod and lsmod. | |
1422 | ||
1423 | * kern/mm.c (pupa_memalign): If failed even after invalidating | |
1424 | disk caches, unload unneeded modules and retry. | |
1425 | ||
1426 | * kern/misc.c (pupa_memmove): New function. | |
1427 | (pupa_memcpy): Removed. | |
1428 | (pupa_strcpy): New function. | |
1429 | (pupa_itoa): Made static. | |
1430 | ||
1431 | * kern/dl.c (pupa_dl_iterate): New function. | |
1432 | (pupa_dl_ref): Likewise. | |
1433 | (pupa_dl_unref): Likewise. | |
1434 | (pupa_dl_unload): Return if succeeded or not. | |
1435 | (pupa_dl_unload_unneeded): New function. | |
1436 | (pupa_dl_unload_all): Likewise. | |
1437 | (pupa_dl_init): Renamed to ... | |
1438 | (pupa_dl_set_prefix): ... this. | |
1439 | (pupa_dl_get_prefix): New function. | |
1440 | ||
1441 | * include/pupa/i386/pc/kernel.h: Include pupa/types.h. | |
1442 | (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro. | |
1443 | (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise. | |
1444 | (PUPA_KERNEL_MACHINE_PREFIX): Likewise. | |
1445 | (pupa_install_dos_part): Declared. | |
1446 | (pupa_install_bsd_part): Likewise. | |
1447 | (pupa_prefix): Likewise. | |
1448 | (pupa_boot_drive): Likewise. | |
1449 | ||
1450 | * include/pupa/types.h: Fix a typo. | |
1451 | ||
1452 | * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to | |
1453 | pupa_memmove. | |
1454 | (pupa_memmove): Declared. | |
1455 | (pupa_strcpy): Likewise. | |
1456 | ||
1457 | * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now | |
1458 | pupa_mod_init takes one argument, its own module. | |
1459 | (pupa_dl_unload_unneeded): Declared. | |
1460 | (pupa_dl_unload_all): Likewise. | |
1461 | (pupa_dl_ref): Likewise. | |
1462 | (pupa_dl_unref): Likewise. | |
1463 | (pupa_dl_iterate): Likewise. | |
1464 | (pupa_dl_init): Renamed to ... | |
1465 | (pupa_dl_set_prefix): ... this. | |
1466 | (pupa_dl_get_prefix): Declared. | |
1467 | ||
1468 | * fs/fat.c [!PUPA_UTIL] (my_mod): New variable. | |
1469 | (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being | |
1470 | unloaded. | |
1471 | (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded. | |
1472 | (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself. | |
1473 | ||
1474 | * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith, | |
1475 | -Wmissing-prototypes, -Wundef and -Wstrict-prototypes. | |
1476 | ||
012d7999 | 1477 | 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org> |
1478 | ||
1479 | * util/i386/pc/pupa-setup.c (setup): Define the internal | |
1480 | function find_first_partition_start at the top level, because GCC | |
1481 | 3.0.x cannot compile internal functions in deeper scopes | |
1482 | correctly. | |
1483 | (find_root_device): Use lstat instead of stat. | |
1484 | Don't follow symbolic links. | |
1485 | Fix the path-constructing code. | |
1486 | ||
1487 | * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro. | |
1488 | (pupa_util_biosdisk_open) [__linux__]: Get the size of a device | |
1489 | by a BLKGETSIZE ioctl first, because block devices don't fill | |
1490 | the member st_mode of the structure stat on Linux. | |
1491 | [__linux__] (linux_find_partition): Use a temporary buffer | |
1492 | REAL_DEV for the working space. Copy it to DEV before returning. | |
1493 | (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the | |
1494 | buffer cache consistent. | |
1495 | (get_os_disk) [__linux__]: Use the length 5 instead of 4 for | |
1496 | strncmp. The previous value was merely wrong. | |
1497 | (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat. | |
1498 | ||
1499 | * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the | |
1500 | FAT size is 12. The previous value was merely wrong. | |
1501 | ||
1502 | * kern/main.c (pupa_main): Don't split the starting message from | |
1503 | newlines. | |
1504 | ||
1505 | * kern/term.c (pupa_putchar): Put CR after LF instead of before | |
1506 | LF, because BIOS goes crazy about character attributes in this | |
1507 | case. | |
1508 | ||
1cc73a62 | 1509 | 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org> |
1510 | ||
1511 | * include/i386/pc/util/biosdisk.h: New file. | |
1512 | * util/i386/pc/biosdisk.c: Likewise. | |
1513 | * util/i386/pc/pupa-setup.c: Likewise. | |
1514 | ||
1515 | * Makefile.in (INCLUDE_DISTFILES): Added | |
1516 | include/pupa/i386/pc/util/biosdisk.h. | |
1517 | (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the | |
1518 | directory util/i386/pc. | |
1519 | (install-local): Added a rule for sbin_UTILITIES. | |
1520 | (uninstall): Likewise. | |
1521 | ||
1522 | * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc. | |
1523 | ||
1524 | * util/misc.c (xrealloc): New function. | |
1525 | (pupa_malloc): Likewise. | |
1526 | (pupa_free): Likewise. | |
1527 | (pupa_realloc): Likewise. | |
1528 | (pupa_stop): Likewise. | |
1529 | (pupa_putchar): Likewise. | |
1530 | ||
1531 | * kern/disk.c (pupa_disk_read): Prevent L from underflowing. | |
1532 | ||
1533 | * include/pupa/util/misc.h (xrealloc): Declared. | |
1534 | ||
1535 | * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New | |
1536 | macro. | |
1537 | (PUPA_BOOT_MACHINE_BPBEND): Renamed to ... | |
1538 | (PUPA_BOOT_MACHINE_BPB_END): ... this. | |
1539 | ||
1540 | * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared. | |
1541 | [PUPA_UTIL] (pupa_fat_fini): Likewise. | |
1542 | ||
1543 | * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better | |
1544 | way should be implemented. | |
1545 | [PUPA_UTIL] (pupa_fat_fini): Likewise. | |
1546 | ||
1547 | * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase | |
1548 | the size of NAME for safety. | |
1549 | (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of | |
1550 | 0x88. | |
1551 | ||
1552 | * conf/i386-pc.rmk (sbin_UTILITIES): New variable. | |
1553 | (pupa_setup_SOURCES): Likewise. | |
1554 | ||
1555 | * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules. | |
1556 | ||
08b70fe8 | 1557 | 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org> |
1558 | ||
1559 | * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a | |
1560 | bunch of pushl's from pusha, because this destroys the return | |
1561 | value. | |
1562 | ||
62ddcc8f | 1563 | 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org> |
1564 | ||
1565 | Use -mrtd and -mregparm=3 to reduce the generated code sizes. | |
1566 | This means that any missing prototypes could be fatal. Also, you | |
1567 | must take care when writing assembly code. See the comments at | |
1568 | the beginning of startup.S, for more details. | |
1569 | ||
1570 | * kern/i386/pc/startup.S (pupa_halt): Modified for the new | |
1571 | compilation mechanism. | |
1572 | (pupa_chainloader_real_boot): Likewise. | |
1573 | (pupa_biosdisk_rw_int13_extensions): Likewise. | |
1574 | (pupa_biosdisk_rw_standard): Likewise. | |
1575 | (pupa_biosdisk_check_int13_extensions): Likewise. | |
1576 | (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise. | |
1577 | (pupa_biosdisk_get_diskinfo_standard): Likewise. | |
1578 | (pupa_get_memsize): Likewise. | |
1579 | (pupa_get_mmap_entry): Likewise. | |
1580 | (pupa_console_putchar): Likewise. | |
1581 | (pupa_console_setcursor): Likewise. | |
1582 | (pupa_getrtsecs): Use pushl instead of push. | |
1583 | ||
1584 | * kern/i386/pc/init.c (pupa_machine_init): Use the scratch | |
1585 | memory instead of the stack for a mmap entry, because some | |
1586 | BIOSes may ignore the maximum size and overflow. | |
1587 | ||
1588 | * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3. | |
1589 | ||
1590 | * genmk.rb (PModule#rule): Compile automatically generated | |
1591 | sources with module-specific CFLAGS as well as other sources. | |
1592 | ||
9962ed99 | 1593 | 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org> |
1594 | ||
1595 | * configure.ac: Check ld. | |
1596 | Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS | |
1597 | respectively, before checking endianness and sizes. | |
1598 | ||
1599 | * Makefile.in (LD): New variable. | |
1600 | ||
abdfc3c5 | 1601 | 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org> |
1602 | ||
1603 | * Makefile.in (BUILD_CC): CC -> BUILD_CC. | |
1604 | ||
6a161fa9 | 1605 | 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org> |
1606 | ||
1607 | * Changelog: New file. | |
1608 |