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]

Re: pci init/discovery


>>>>> Narayana, Venkat A writes:

>> > etc.). The first address is the PC it hit. If you 
>> disassemble your image
>> > you can find out where that is.
>> 
>> Notice that it's printed in Big Endian form (GDB standard).  Thus, the
>> failure is at 0x000301b8.
>> 
>> Of course, you should be able to connect with GDB (disconnect 
>> from RedBoot
>> first).  Then you can examine the registers, get a backtrace, etc.

> Thanks guys for enlighting me. I have another question,...while
> going thru the iq80310_pci.c code, i realised that, __pci_abort_handler
> is being installed at the onset of pci_config and removed while coming
> out of pci_cleanup. My problem is , i am using strataflash, and hence
> i can't write to it, unless i enter into write command mode.
> One solution is to copy the code into RAM and then update the flash,
> but i am hoping to use virtual_vector_table. I want my flash vector
> table [0x00-0x30] to be derived from 0xA0000000-0xA0000030, i,e
> when i execute ((uint32*)0x20)[4], i am executing a0000020[4]'s
> data. I don't know how to do this. Can you guys help me out.

On the IQ80310, we setup the MMU pagetable so that the first 4K page
of RAM and flash are swapped. This allows the exception vectors to
be writable so that the above __pci_abort_handler installation/removal
code works. See hal/arm/iq80310/current/include/hal_platform_setup.h
where the pagetable entries are defined.

> Also, is there any documentation or url to read about pci init/discovery.

"PCI System Architecture" by Shanley and Anderson is a good place to
start.

--Mark



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