From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15514 invoked by alias); 2 Nov 2007 02:22:19 -0000 Received: (qmail 15498 invoked by uid 22791); 2 Nov 2007 02:22:18 -0000 X-Spam-Check-By: sourceware.org Received: from web56412.mail.re3.yahoo.com (HELO web56412.mail.re3.yahoo.com) (216.252.111.91) by sourceware.org (qpsmtpd/0.31) with SMTP; Fri, 02 Nov 2007 02:22:15 +0000 Received: (qmail 27898 invoked by uid 60001); 2 Nov 2007 02:22:13 -0000 X-YMail-OSG: jWjwE5IVM1kpSKa3Z7oc16oJeztCkLqfK5Y8paLlIrn8aW6yfC8E50r8LQEQ.SFQViSKAVPCTE1s7bnWEyV1HR0JhGlKEAdB1ywSwxji_bRnwFUbHmMVyJy0ZnTUkw-- Received: from [192.88.168.36] by web56412.mail.re3.yahoo.com via HTTP; Thu, 01 Nov 2007 19:22:13 PDT Date: Fri, 02 Nov 2007 02:22:00 -0000 From: Oscar Gueta To: ecos-discuss@ecos.sourceware.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <580244.27714.qm@web56412.mail.re3.yahoo.com> X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: [ECOS] Adding PCI eth pro100 for testing new port to MPC8313 RDB X-SW-Source: 2007-11/txt/msg00008.txt.bz2 Hello all, In order to fully test the new PCI HAL for Freescale's MPC8313 RDB I added an Intel PCI ethernet (pro100) to the source tree as follows under packages/devs/eth/powerpc/rdb/i82559/current/cdl: cdl_package CYGPKG_DEVS_ETH_RDB_I82559 { display "RDB pci intel i82559 ethernet driver" description "Ethernet driver for RDB pci intel i82559." parent CYGPKG_IO_ETH_DRIVERS active_if CYGPKG_IO_ETH_DRIVERS active_if CYGPKG_HAL_POWERPC_RDB include_dir cyg/io # FIXME: This really belongs in the INTEL_I82559 package cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED { display "Intel i82559 ethernet driver required" } define_proc { puts $::cdl_system_header "/***** ethernet driver proc output start *****/" puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_INL " puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_CFG " puts $::cdl_system_header "/***** ethernet driver proc output end *****/" } ..... I also added a new target to ecos.db in order to insert the pro100 driver as follows: package CYGPKG_HAL_POWERPC_RDB { alias { "FreeScale MPC83xxRDB" hal_powerpc_rdb powerpc_rdb_hal } directory hal/powerpc/rdb script hal_powerpc_rdb.cdl hardware description " The RDB HAL package provides the support needed to run eCos on a FreeScale MPC83xx RDB board." } target rdb_pr100 { alias { "FreeScale MPC83xx RDB board with pro100" } packages { CYGPKG_HAL_POWERPC CYGPKG_HAL_POWERPC_MPC831X CYGPKG_HAL_POWERPC_RDB CYGPKG_IO_SERIAL_POWERPC_MPC831X CYGPKG_IO_PCI CYGPKG_IO_ETH_DRIVERS CYGPKG_DEVS_ETH_INTEL_I82559 CYGPKG_DEVS_ETH_RDB_I82559 } description "FreeScale MPC83xx RDB board with pro100" } I created a Redboot minimal configuration, and is defined as follows: cdl_configuration eCos { description "" ; hardware rdb ; template redboot ; package -hardware CYGPKG_HAL_POWERPC current ; package -hardware CYGPKG_HAL_POWERPC_MPC831X current ; package -hardware CYGPKG_HAL_POWERPC_RDB current ; package -hardware CYGPKG_DEVS_FLASH_POWERPC_RATTLER current ; package -hardware CYGPKG_DEVS_FLASH_AMD_AM29XXXXX current ; package -hardware CYGPKG_IO_PCI current ; package -hardware CYGPKG_IO_ETH_DRIVERS current ; package -hardware CYGPKG_DEVS_ETH_INTEL_I82559 current; package -hardware CYGPKG_DEVS_ETH_RDB_I82559 current ; package -template CYGPKG_HAL current ; package -template CYGPKG_INFRA current ; package -template CYGPKG_REDBOOT current ; package -template CYGPKG_ISOINFRA current ; package -template CYGPKG_LIBC_STRING current ; package -template CYGPKG_CRC current ; package CYGPKG_NS_DNS current ; package CYGPKG_IO_FLASH current ; }; Without importing the RedBoot, everything compiles OK. I can see the ethernet driver compiling. The problem is when Redboot minimal configuration is imported and tried to be compiled, there are pci library routines unresolved: powerpc-eabi-gcc -msoft-float -mcpu=603e -g -nostdlib -Wl,--gc-sections -Wl,-static -L/root/ecos/projects/pcieth/pcieth_install/lib -Ttarget.ld -o /root/ecos/projects/pcieth/pcieth_install/bin/redboot.elf /root/ecos/projects/pcieth/pcieth_install/lib/version.o make[1]: Leaving directory `/root/ecos/projects/pcieth/pcieth_build/redboot/current' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `rity': make: Leaving directory `/root/ecos/projects/pcieth/pcieth_build' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0xbc): undefined reference to `cyg_pci_init' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `CYG_WORD64': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0xf8): undefined reference to `cyg_pci_find_matching' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `_callbacks': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0x128): undefined reference to `cyg_pci_get_device_info' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `yg_flag_t': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0x13c): undefined reference to `cyg_pci_translate_interrupt' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `83xx_t': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0x15c): undefined reference to `cyg_pci_configure_device' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `riority': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0x29c): undefined reference to `cyg_pci_read_config_uint16' /root/ecos/projects/pcieth/pcieth_install/lib/extras.o: In function `11ddr_cs_bndsaSERKS_': /root/ecos/projects/pcieth/pcieth_install/lib/extras.o(.text.pci_init_find_82559s+0x2b8): undefined reference to `cyg_pci_write_config_uint16' collect2: ld returned 1 exit status make[1]: *** [/root/ecos/projects/pcieth/pcieth_install/bin/redboot.elf] Error 1 I am completely lost here as in cdl files and in ecm file PCI is included (I am also positive that library is compiling and working as far as I can test). Does anybody have a clue how to fix this code without making dirty changes in the ethernet driver source code or makefiles to force the compilation? Thanks in advance. /Oscar __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss