This is the mail archive of the ecos-discuss@sources.redhat.com 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]

RE: IXP2400 Redboot / Ram Monitor / PCI Init... ?


(Removing cross-post to ARM Linux kernel ML)...

The HAL_PCI_IGNORE_DEVICE macro is so that devices don't get configured.
The code to do the PCI bus probes in config space hooks the data abort
exception vector so probing non-existent devices is caught.  See
ixp2000_pci.c (or similar) for pci_config_setup() code example.
Somebody really should bring the IXP2400 stuff up to the latest version
of eCos if it's still stuck at pre-2.0.


>-----Original Message-----
>From: linux-arm-kernel-bounces@lists.arm.linux.org.uk 
>[mailto:linux-arm-kernel-bounces@lists.arm.linux.org.uk] On 
>Behalf Of Nalin Gupta
>Sent: Wednesday, February 09, 2005 10:34 AM
>To: ecos-discuss@sources.redhat.com; 
>linux-arm-kernel@lists.arm.linux.org.uk
>Subject: IXP2400 Redboot / Ram Monitor / PCI Init... ?
>
>All,
>
>I was trying to reuse(port)   *ROMRAM.ecm  for *RAM.ecm to 
>create RAM monitor,
>for Radisys IXP2400 based ENP2611 board.
>
>As of now, I am able to load and execute it, where it correctly
>display my debug messages. But while doing PCI init it was getting
>stuck.
>
>I browsed the code to find while performing Type 0 configuration, it
>iterates through Bus# / Device# / Function to query for presence of
>PCI devices.
>
>It does fine, if valid physical device is present, but stucks if it
>queries non-existent device.
>
>To confirm it, from Flash resident RomRam monitor prompt, I dumped
>valid devices pci config spaces (for IXP2400/ENP2611) they are:
>0xDA010000/0xDA020000/0xDA100000
>
>Whereas if I try to dump for non-existent device address (Something
>like 0xda040000), it used to crash.
>
>So I wonder what is the use HAL_PCI_IGNORE_DEVICE macro 
>defined in pci_hw.h  ??
>
>As per code provided by Radisys or Intel for ENP2611 or 
>IXDP2400 respectively,
>they do not seem to ignore devices for RomRam monitor they provide.
>
>1.  As per comment, only for buggy PCI chips, HAL_PCI_IGNORE_DEVICE
>needs to be implemented. So is ENP or IXDP uses any such chip.
>
>2.  Or RomRam monitor finds PCI subsystem is some different state than
>Ram monitor, as RAM executes from RomRam prompt.
>
>Any Comments ?
>
>Later, I implemented the above macro to "ignore" non-existent devices
>query, then I was able to get ENP2611 Mgmt ethernet nic init using
>bootp.
>
>Am I right in doing so ?
>
>Now I am able to see prompt, but it does not take inputs from 
>my keyboard.
>
>Any comments ?
>
>-ng 
>
>-- 
>Nalin Gupta
>Apropos Infotech Pvt. Ltd. (www.apropos.co.in)
>Bangalore, India.
>
>-------------------------------------------------------------------
>Subscription options: 
>http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
>FAQ:       http://www.arm.linux.org.uk/armlinux/mlfaq.php
>Etiquette: http://www.arm.linux.org.uk/armlinux/mletiquette.php
>

--
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]