Intel® IXP400 Software

Access-Layer Components: NPE Message Handler (IxNpeMh) API

7.Because this is a solicited message, the first ID-matching callback is removed from the solicited callback list and invoked to pass the message back to the client.

If no ID-matching callback is found, the message is discarded and an error reported.

Figure 72. Message with Response from Intel XScale® Core Software Client to an NPE

 

Client

 

 

Customer / Demo Code

1. Send Message

 

 

7. Response Callback

 

0x00 callback

2. Save Callback

callback n+k

 

 

0x01 callback

 

 

...

...

 

 

callback n+1

0xff callback

IxNpeMh

 

callback n

 

6. Get Callback

 

 

 

 

3. Send

 

 

 

Message

 

 

Access Driver

5. Receive

 

 

 

Message

 

 

NPEs

4. Message

 

 

 

 

 

 

Interrupt

 

 

NPE A

NPE B

 

NPE C

 

 

 

B2396-01

15.6Receiving Unsolicited Messages from an NPE to Client Software

The scenario of receiving unsolicited messages from an NPE to client software (as shown in Figure 73) is:

1.At initialization, the client registers an unsolicited callback for a particular NPE and a message ID.

2.After some time, the NPEs “outFIFO not empty” interrupt invokes the IxNpeMh component’s ISR.

3.Within the ISR, the IxNpeMh component receives a message from the specific NPE.

4.The IxNpeMh component determines if this message ID has an unsolicited callback registered for it.

If the message ID does not have a registered unsolicited callback, the message is solicited. (See “Sending an NPE Message with Response” on page 228.)

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

229

Page 229
Image 229
Intel IXP400 manual IxNpeMh