This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: IXP2400 Redboot / Ram Monitor / PCI Init... ?
- From: "Daly, Jeffrey" <jeffrey dot daly at intel dot com>
- To: <ecos-discuss at sources dot redhat dot com>
- Date: Wed, 9 Feb 2005 11:09:16 -0500
- Subject: [ECOS] 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