IXP1200 Network Processor Family ATM
3.Run the IXP1200 Developer’s Workbench debug library, and connects it to a remote system host via the PCI Ethernet NIC to download and debug IXP1240 microcode.
Then, atm_init() is invoked to initialize data structures in memory:
•Buffer Descriptor
•
•IP Lookup Table.
•VC Lookup Table and hash miss
•IP directed broadcast address hash table.
•Ethernet receive port MAC address hash table.
On hardware, atm_init() resides in the atm_utils.o
2.6Microengine Initialization
One microengine includes system_init.uc and invokes system_init() at its beginning. system_init() is the central microcode initialization macro. It handles initialization not handled by the StrongARM core, and then sends a signal to thread0 of every microengine, including itself. (system_init() can be invoked from any microengine. ether_tx_threads.uc is used simply because of available microstore space.)
Reset causes every microengine to execute thread0 first, so every microengine begins with thread0 waiting for the
3.0Microengine Functional Blocks
3.1ATM Receive Microengine
The ATM Receive microengine is a single microengine dedicated to receive cells from the ATM ports, check
3.1.1Structure
The following identifies the ATM Receive microengine structure for
|
|
Four threads working in parallel on one port. | One thread/port. |
|
|
20 | Application Note |
Modified on: 3/20/02,