Steven,
The uhci.c is from 2.4.22 or 2.6.5?
I merged your code into FILO in Etherboot, but at last I found that the USB in AMD8111 is ohci. And I can not debug uhci now.
Regards
YH
-----邮件原件----- 发件人: Steven James [mailto:pyro@linuxlabs.com] 发送时间: 2004年5月10日 12:55 收件人: Gregg C Levine 抄送: Linuxbios 主题: Re: New problems with building Baremetal
Greetings,
In the lib directory, try removing ide.o from DEPS for now. That should get the library to compile.
The rest is all warnings except at the end where it can't link against libbaremetal.a
G'day, sjames
-------------------------steven james, director of research, linux labs ... ........ ..... .... 230 peachtree st nw ste 2701 the original linux labs atlanta.ga.us 30303 -since 1995 http://www.linuxlabs.com office & fax 866.545.6306 -----------------------------------------------------------------------
On Mon, 10 May 2004, Gregg C Levine wrote:
Hello from Gregg C Levine Now something else has happened. I've managed to build a copy of GCC version 2.9.5.3 and have it installed in the /opt directory. But there are unusual problems in the building of the bare metal library, here's a script output regarding the errors: Script started on Mon May 10 14:47:28 2004 root@who5:/usr/src/lobos/freebios/util/baremetal/lib# make /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/printk.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o serial_subr.o serial_subr.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o subr.o subr.c In file included from subr.c:16: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/vsprintf.c In file included from ../../../src/lib/vsprintf.c:18: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/memcpy.c In file included from ../../../src/lib/memcpy.c:1: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/malloc.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/memset.c In file included from ../../../src/lib/memset.c:1: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/compute_ip_checksum.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o elfboot.o elfboot.c In file included from elfboot.c:8: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o boot.o boot.c In file included from boot.c:4: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/pc80/ide/ide.c ../../../src/pc80/ide/ide.c:27: delay.h: No such file or directory ../../../src/pc80/ide/ide.c:28: pci.h: No such file or directory make: *** [ide.o] Error 1 root@who5:/usr/src/lobos/freebios/util/baremetal/lib# exit Script done on Mon May 10 14:47:36 2004
Obviously some of those errors can be corrected by reminding the make file to find the include files that GCC 2.95.3 prefers. But the ones that concern me, are the "missing files" for the IDE issues.
And here's the latest problem with the USB attachment to bare metal: Script started on Mon May 10 14:49:02 2004 root@who5:/usr/src/lobos/freebios/util/baremetal/usb# make /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o uhci.o uhci.c uhci.c:332: warning: `USBCMD' redefined uhci.h:290: warning: this is the location of the previous definition uhci.c:333: warning: `USBSTS' redefined uhci.h:291: warning: this is the location of the previous definition uhci.c:334: warning: `USBINTR' redefined uhci.h:292: warning: this is the location of the previous definition uhci.c:335: warning: `FRNUM' redefined uhci.h:293: warning: this is the location of the previous definition uhci.c:336: warning: `FLBASE' redefined uhci.h:294: warning: this is the location of the previous definition uhci.c:337: warning: `SOFMOD' redefined uhci.h:295: warning: this is the location of the previous definition uhci.c:338: warning: `PORTSC1' redefined uhci.h:296: warning: this is the location of the previous definition uhci.c:339: warning: `PORTSC2' redefined uhci.h:297: warning: this is the location of the previous definition uhci.c: In function `ctrl_msg': uhci.c:776: warning: assignment makes pointer from integer without a cast uhci.c: In function `hub_port_reset': uhci.c:1193: warning: passing arg 1 of `dump_hex' from incompatible pointer type uhci.c: In function `usb_hub_init': uhci.c:1272: warning: assignment makes pointer from integer without a cast uhci.c: In function `configure_device': uhci.c:1383: warning: passing arg 1 of `dump_config_descriptor' from incompatible pointer type /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o usb_scsi_low.o usb_scsi_low.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o debug.o debug.c In file included from debug.c:31: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o scsi_cmds.o scsi_cmds.c In file included from scsi_cmds.c:26: /usr/include/sys/types.h:152: warning: redefinition of `ushort' uhci.h:13: warning: `ushort' previously declared here scsi_cmds.c: In function `ll_read_block': scsi_cmds.c:258: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ll_write_block': scsi_cmds.c:280: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ll_read_long': scsi_cmds.c:311: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `get_capacity': scsi_cmds.c:328: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `query': scsi_cmds.c:349: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ReportLUNS': scsi_cmds.c:372: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ReportOpCodes': scsi_cmds.c:423: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c:423: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `CheckVolumes': scsi_cmds.c:469: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `CheckPartitions': scsi_cmds.c:494: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `UnitReady': scsi_cmds.c:514: warning: passing arg 2 of `scsi_command' from incompatible pointer type /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o pci_util.o pci_util.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o block_fill_inbuf.o block_fill_inbuf.c In file included from block_fill_inbuf.c:8: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' make: *** No rule to make target `../lib/baremetal.a', needed by `usbboot.elf'. Stop. root@who5:/usr/src/lobos/freebios/util/baremetal/usb# exit Script done on Mon May 10 14:49:10 2004
Again I expect that by instructing the make file to use the include files supplied by GCC 2.95.3, that most of the errors will be gone, but I'm listing those for reference.
Gregg C Levine hansolofalcon@worldnet.att.net
"The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Greetings,
Actually, it is my own implementation, though I did use the 2.4.x kernel's uhci.c as a guide. I couldn't use that as is since it had a good many kernel dependencies and was interrupt driven.
I did have it loading as a module at one point to test things.
If you want, I can get a machine here set up and test/debug your merge.
G'day, sjames
-------------------------steven james, director of research, linux labs ... ........ ..... .... 230 peachtree st nw ste 2701 the original linux labs atlanta.ga.us 30303 -since 1995 http://www.linuxlabs.com office & fax 866.545.6306 -----------------------------------------------------------------------
On Mon, 10 May 2004, YhLu wrote:
Steven,
The uhci.c is from 2.4.22 or 2.6.5?
I merged your code into FILO in Etherboot, but at last I found that the USB in AMD8111 is ohci. And I can not debug uhci now.
Regards
YH
-----邮件原件----- 发件人: Steven James [mailto:pyro@linuxlabs.com] 发送时间: 2004年5月10日 12:55 收件人: Gregg C Levine 抄送: Linuxbios 主题: Re: New problems with building Baremetal
Greetings,
In the lib directory, try removing ide.o from DEPS for now. That should get the library to compile.
The rest is all warnings except at the end where it can't link against libbaremetal.a
G'day, sjames
-------------------------steven james, director of research, linux labs ... ........ ..... .... 230 peachtree st nw ste 2701 the original linux labs atlanta.ga.us 30303 -since 1995 http://www.linuxlabs.com office & fax 866.545.6306
On Mon, 10 May 2004, Gregg C Levine wrote:
Hello from Gregg C Levine Now something else has happened. I've managed to build a copy of GCC version 2.9.5.3 and have it installed in the /opt directory. But there are unusual problems in the building of the bare metal library, here's a script output regarding the errors: Script started on Mon May 10 14:47:28 2004 root@who5:/usr/src/lobos/freebios/util/baremetal/lib# make /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/printk.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o serial_subr.o serial_subr.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o subr.o subr.c In file included from subr.c:16: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/vsprintf.c In file included from ../../../src/lib/vsprintf.c:18: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/memcpy.c In file included from ../../../src/lib/memcpy.c:1: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/malloc.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/memset.c In file included from ../../../src/lib/memset.c:1: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/lib/compute_ip_checksum.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o elfboot.o elfboot.c In file included from elfboot.c:8: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c -o boot.o boot.c In file included from boot.c:4: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -c ../../../src/pc80/ide/ide.c ../../../src/pc80/ide/ide.c:27: delay.h: No such file or directory ../../../src/pc80/ide/ide.c:28: pci.h: No such file or directory make: *** [ide.o] Error 1 root@who5:/usr/src/lobos/freebios/util/baremetal/lib# exit Script done on Mon May 10 14:47:36 2004
Obviously some of those errors can be corrected by reminding the make file to find the include files that GCC 2.95.3 prefers. But the ones that concern me, are the "missing files" for the IDE issues.
And here's the latest problem with the USB attachment to bare metal: Script started on Mon May 10 14:49:02 2004 root@who5:/usr/src/lobos/freebios/util/baremetal/usb# make /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o uhci.o uhci.c uhci.c:332: warning: `USBCMD' redefined uhci.h:290: warning: this is the location of the previous definition uhci.c:333: warning: `USBSTS' redefined uhci.h:291: warning: this is the location of the previous definition uhci.c:334: warning: `USBINTR' redefined uhci.h:292: warning: this is the location of the previous definition uhci.c:335: warning: `FRNUM' redefined uhci.h:293: warning: this is the location of the previous definition uhci.c:336: warning: `FLBASE' redefined uhci.h:294: warning: this is the location of the previous definition uhci.c:337: warning: `SOFMOD' redefined uhci.h:295: warning: this is the location of the previous definition uhci.c:338: warning: `PORTSC1' redefined uhci.h:296: warning: this is the location of the previous definition uhci.c:339: warning: `PORTSC2' redefined uhci.h:297: warning: this is the location of the previous definition uhci.c: In function `ctrl_msg': uhci.c:776: warning: assignment makes pointer from integer without a cast uhci.c: In function `hub_port_reset': uhci.c:1193: warning: passing arg 1 of `dump_hex' from incompatible pointer type uhci.c: In function `usb_hub_init': uhci.c:1272: warning: assignment makes pointer from integer without a cast uhci.c: In function `configure_device': uhci.c:1383: warning: passing arg 1 of `dump_config_descriptor' from incompatible pointer type /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o usb_scsi_low.o usb_scsi_low.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o debug.o debug.c In file included from debug.c:31: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o scsi_cmds.o scsi_cmds.c In file included from scsi_cmds.c:26: /usr/include/sys/types.h:152: warning: redefinition of `ushort' uhci.h:13: warning: `ushort' previously declared here scsi_cmds.c: In function `ll_read_block': scsi_cmds.c:258: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ll_write_block': scsi_cmds.c:280: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ll_read_long': scsi_cmds.c:311: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `get_capacity': scsi_cmds.c:328: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `query': scsi_cmds.c:349: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ReportLUNS': scsi_cmds.c:372: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `ReportOpCodes': scsi_cmds.c:423: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c:423: warning: passing arg 5 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `CheckVolumes': scsi_cmds.c:469: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `CheckPartitions': scsi_cmds.c:494: warning: passing arg 2 of `scsi_command' from incompatible pointer type scsi_cmds.c: In function `UnitReady': scsi_cmds.c:514: warning: passing arg 2 of `scsi_command' from incompatible pointer type /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o pci_util.o pci_util.c /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2 -DDEBUG -DZKERNEL_START=0xfff00000 -c -o block_fill_inbuf.o block_fill_inbuf.c In file included from block_fill_inbuf.c:8: ../include/string.h:9: warning: conflicting types for built-in function `strcpy' make: *** No rule to make target `../lib/baremetal.a', needed by `usbboot.elf'. Stop. root@who5:/usr/src/lobos/freebios/util/baremetal/usb# exit Script done on Mon May 10 14:49:10 2004
Again I expect that by instructing the make file to use the include files supplied by GCC 2.95.3, that most of the errors will be gone, but I'm listing those for reference.
Gregg C Levine hansolofalcon@worldnet.att.net
"The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios