This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Adding PCI eth pro100 for testing new port to MPC8313 RDB


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
<cyg/io/devs_eth_rdb_i82559.inl>"
        puts $::cdl_system_header "#define
CYGDAT_DEVS_ETH_INTEL_I82559_CFG
<pkgconf/devs_eth_rdb_i82559.h>"
        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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]