summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c5a1a50)
raw | patch | inline | side by side (parent: c5a1a50)
author | Aravind Batni <aravindbr@ti.com> | |
Wed, 24 Dec 2014 20:26:22 +0000 (15:26 -0500) | ||
committer | Aravind Batni <aravindbr@ti.com> | |
Wed, 24 Dec 2014 20:26:22 +0000 (15:26 -0500) |
67 files changed:
diff --git a/fw/v1/classify1.p b/fw/v1/classify1.p
index b31d7fa682f1d4565735027e69d0abe6301f6eb9..b9f406064e69c1a4be49052b258d3c7f77e76050 100644 (file)
--- a/fw/v1/classify1.p
+++ b/fw/v1/classify1.p
mov r2, 1
sbco r2, cMailbox, 0, 4
- // Wait for the set command to take hold
+ // Wait for the set command to take hold
wbs s_flags.info.tStatus_Command0
// The host will clear mailbox slot 0 when it is ready for this PDSP to run
zero &s_runCxt, SIZE(s_runCxt)
+ // Need not store PDSP ID as it is replaced with #define
// Store the PDSP ID
// TBD: To be replaced with #define (from image build)
- mov s_runCxt.pdspId, PASS_PDSP_ID
- sbco s_runCxt.pdspId, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
-
+ mov r2.b0, PASS_PDSP_ID
+ sbco r2.b0, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
+
#ifdef PASS_PROC_RA
// Temporary debug code
//set s_runCxt.flag2.t_raEn,
.using cdeScope
f_mainLoop:
-
#ifdef PASS_TIMESTAMP_OP
+ // Only when the timer feature is enabled
+ // qbbc l_mainLoop000, s_runCxt.flag3.t_eoamEn
// look for timer roll over
qbbc l_mainLoop000, s_flags.info.tStatus_Timer
set s_flags.info.tStatus_Timer // set to clear timer event
#endif
-#ifdef PASS_PROC_IP_REASSEM
- // Look for command (FIRMWARE_CMD_IP_REASSEM_CFG only)
+#ifdef PASS_PROC_CMD1
+ // Look for command
qbbc l_mainLoop001, s_flags.info.tStatus_Command1
+ // If there is a command, differentiate between EOAM and IP Reassem
+ // in the PDSP that has both features
+#ifdef PASS_PROC_IP_REASSEM
+ lbco r1.b0, cMailbox, FIRMWARE_CMD_IP_REASSEM_CFG_OFFSET, 1
+ qbeq l_mainLoop00_ipReassem_0, r1.b0, FIRMWARE_CMD_IP_REASSEM_CFG
+#endif
+#ifdef PASS_PROC_EOAM_CMD
+ // Process EOAM config command
+ lbco r1, cMailbox, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+
+ // Clear the valid bit fields
+ not r1.b2, r1.b1
+ // force clear valid bits to zero and retain valid bits positions
+ and s_runCxt.flag3, s_runCxt.flag3, r1.b2
+
+ // Clear garbage ctrl bit fields (since the sender already cleard it no need */
+ // and r1.b0, r1.b0, r1.b1
+
+ // set the run time flags
+ or s_runCxt.flag3, s_runCxt.flag3, r1.b0
+
+ // clear the command flag
+ mov r1, 0
+ sbco r1, cMailbox, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ jmp l_mainLoop001
+#endif
+#ifdef PASS_PROC_IP_REASSEM
+l_mainLoop00_ipReassem_0:
// Process IP Reassembly Configuration Update
mov r0.w0, FIRMWARE_INNER_IP_PDSP
qbeq l_mainLoop00_ipReassem_1, r0.w0, PASS_PDSP_ID
// clear command flag
mov r1, 0
- sbco r1, cMailbox, FIRMWARE_CMD_IP_REASSEM_CFG_OFFSET, 4
+ sbco r1, cMailbox, FIRMWARE_CMD_IP_REASSEM_CFG_OFFSET, 4
- // pass through
-
-#endif
+ // pass through
+#endif
+#endif
l_mainLoop001:
#ifndef PASS_PROC_FIREWALL
call f_c1ForwardHeldPacketMatch
#else
+ #ifdef PASS_PROC_EOAM
+ qbbc l_c1FwdFirewallMatch, s_runCxt.flag3.t_eoamEn
+ call f_c1ForwardHeldEoamPktMatch
+ jmp l_mainLoop1
+ #endif
+l_c1FwdFirewallMatch:
call f_c1ForwardHeldFirewallPktMatch
#endif
jmp l_mainLoop1
#ifndef PASS_PROC_FIREWALL
call f_c1ForwardHeldPacketNoMatch
#else
+ #ifdef PASS_PROC_EOAM
+ qbbc l_c1FwdFirewallNoMatch, s_runCxt.flag3.t_eoamEn
+ call f_c1ForwardHeldEoamPktNoMatch
+ jmp l_mainLoop1
+ #endif
+l_c1FwdFirewallNoMatch:
call f_c1ForwardHeldFirewallPktNoMatch
#endif
l_mainLoop1:
// and then patched in
// The run context has the PDSP ID
- lsl s_pktCxt.phyLink, s_runCxt.pdspId, PKT_PDSP_ID_SHIFT
+ //lsl s_pktCxt.phyLink, s_runCxt.pdspId, PKT_PDSP_ID_SHIFT
+ mov s_pktCxt.phyLink, PASS_PDSP_ID << PKT_PDSP_ID_SHIFT
// Or in the LUT1 matching index
or s_pktCxt.phyLink, s_pktCxt.phyLink, s_l1Status.index
jmp f_c1CurPktForward
.leave currentFwdScope
-
+
+#ifndef PASS_PROC_FIREWALL
// ******************************************************************************************************
// * FUNCTION PURPOSE: Standard routing of the current packet
// ******************************************************************************************************
f_nextFailPktForward:
// Inc the no match stat
- #ifndef PASS_PROC_FIREWALL
mov s_stats.value, PA_STATS_UPDATE_REQ | PA_STATS_LUT1_NO_MATCH
- #endif
mov r30.w0, fci_c1Parse14_1
// Broadcast and multicast check if no match found
.leave lut1MatchScope
.leave currentFwdScope
-
+#endif
+
// *********************************************************************************************
// * FUNCTION PURPOSE: C1 Current packet forwarding
// *********************************************************************************************
f_c1Parse:
- lbco r1, cMailbox, 0, 4
- add r1, r1, 1
- sbco r1, cMailbox, 0, 4
+ lbco r1, cMailbox, 0, 4
+ add r1, r1, 1
+ sbco r1, cMailbox, 0, 4
// Read the descriptor
xin XID_CDEDATA, s_pktDescr, SIZE(s_pktDescr)
// Read packet extended info
xin XID_PINFO_SRC, s_pktExtDescr, SIZE(s_pktExtDescr)
+#ifdef PASS_PROC_EOAM
+ // ignore the bypass flag when EOAM feature is enabled
+ qbbc l_c1Parse0, s_runCxt.flag3.t_eoamEn
+ // The context is read from the control section. Advance
+ // to the control section
+ mov s_cdeCmdWd.operation, CDE_CMD_ADVANCE_TO_CONTROL
+ xout XID_CDECTRL, s_cdeCmdWd, 4
+
+ // Insert 32 bytes of PS info
+ // This is legal even though the window has advanced to control
+ //mov s_cdeInsert.operation, CDE_CMD_INSERT_PSDATA
+ //mov s_cdeInsert.byteCount, 32
+ ldi r4, CDE_CMD_INSERT_PSDATA | (32 << 8)
+ xout XID_CDECTRL, s_cdeCmdWd, 4
+
+ // below check is not needed since the packet is not from Ethernet OR SRIO
+ // qbeq l_c1Parse6, s_pktDescr.ctrlDataSize, 0 // Packet is from ethernet
+ // qbne l_c1Parse3a, s_pktDescr.ctrlDataSize, 8 // Only SRIO packet contains 8-byte PS Info
+ // Extract pkt type
+ // lsr r1.b0, s_pktDescr.pktType_pvtFlags, PA_PKT_TYPE_SHIFT
+ // qbeq l_c1Parse8, r1.b0, PA_PKT_TYPE_SRIO_TYPE_9
+ // qbeq l_c1Parse8, r1.b0, PA_PKT_TYPE_SRIO_TYPE_11
+
+// l_c1Parse3a:
+ // l_c1Parse3a - l_c1Parse5: command and re-entry packet
+ // Read in the whole packet context. This is the largest command size
+ // There is no cost if this is not a data packet.
+ xin XID_CDEDATA, s_pktCxt, SIZE(s_pktCxt)
+
+ // extract the command ID
+ lsr r1.b0, s_pktCxt.paCmdId_Length, SUBS_CMD_WORD_ID_SHIFT
+
+ // qbeq l_c1Parse9, r1.b0, PSH_CMD_PA_RX_PARSE
+ qbeq f_paConfigure, r1.b0, PSH_CMD_CONFIG
+
+// l_c1Parse9:
+ // Delete the control information. It will be replace with the packet context during parse
+ //mov s_cdeCmdWd.operation, CDE_CMD_FLUSH_TO_PACKET
+ //xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
+
+ // Delete only the pktCxt from the control info
+ mov s_cdeCmdWd.operation, CDE_CMD_FLUSH
+ //mov s_cdeCmdWd.byteCount, (SIZE(s_pktCxt) + 7) & 0xf8 // Round up to multiple of 8 bytes
+ sub s_cdeCmdWd.byteCount, s_pktDescr.ctrlDataSize, 8
+ xout XID_CDECTRL, s_cdeCmdWd, 4
+
+ mov s_cdeCmdWd.operation, CDE_CMD_ADVANCE_TO_PACKET
+ xout XID_CDECTRL, s_cdeCmdWd, 4
+
+ // save Extended Header to be examined later
+ xout XID_PINFO_A, s_pktExtDescr, SIZE(s_pktExtDescr)
+
+// l_c1Parse10:
+ // Default RA setting
+ // TBD: priority settings
+ zero &s_raInfo, SIZE(s_raInfo)
+ qbbc l_c1Parse0_set_ra_threadId_1, s_runCxt.flag2.t_raToQueue
+ // RA output is host queue
+ mov s_raInfo.flags, THREADID_CDMA0
+ jmp l_c1Parse0_set_ra_threadId_end
+l_c1Parse0_set_ra_threadId_1:
+ mov s_raInfo.flags, PASS_RA_DEST_THREAD_ID
+ // pass through
+l_c1Parse0_set_ra_threadId_end:
+ wbs s_flags.info.tStatus_CDEOutPacket
+ sbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+
+ // s_l1View1(16), s_l1View2 (16) and s_l1View3 (16) share the same area
+ // Clear the LUT1 view areas
+ // Note: packet descriptor will still reside at r6-r13
+ zero &s_l1ViewD, SIZE(s_l1ViewD)
+ xout XID_LUT1V1, s_l1ViewD, SIZE(s_l1ViewD)
+ xout XID_LUT1V2, s_l1ViewD, SIZE(s_l1ViewD)
+ xout XID_LUT1V3, s_l1ViewD, SIZE(s_l1ViewD)
+
+ jmp f_c1ParseMac
+
+l_c1Parse0:
+#endif
// Check drop/bypass flag
qbbc l_c1Parse1, s_pktDescr.pktFlags.t_pktBypass
// Clear Bypass at the last PDSP
and s_next.Hdr, s_pktCxt.eId_portNum_nextHdr.b0, 0x3f
mov s_param.action, SUBS_ACTION_PARSE
-
+
#ifndef PASS_PROC_FIREWALL
// non-Firewall operation
qbeq l_c1Parse9b, s_next.Hdr, PA_HDR_CUSTOM_C1
qbeq l_c1Parse9b, s_next.Hdr, PA_HDR_CUSTOM_C2
qble l_c1Parse9b, s_next.Hdr, PA_HDR_TCP
- // Firmwall parsing preparation
+ // Firewall parsing preparation
and s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, NOT_PKT_EIDX_MASK
mov r28.b0, s_pktCxt.startOffset
set s_runCxt.flags.t_l4Avil
xout XID_LUT1V1, s_l1ViewD, SIZE(s_l1ViewD)
xout XID_LUT1V2, s_l1ViewD, SIZE(s_l1ViewD)
xout XID_LUT1V3, s_l1ViewD, SIZE(s_l1ViewD)
-
set s_runCxt.flags.t_firstLookup
l_c1Parse11:
// The main parse loop
// default route is enabled globally
// Update r1 with offset for interface (get to zero base)
lsr r1.w0, s_pktCxt.eId_portNum_nextHdr, PKT_EMACPORT_SHIFT
- and r1.w0, r1.w0, PKT_EMACPORT_MASK
+ and r1.w0, r1.w0, PKT_EMACPORT_MASK
qbeq l_c1Parse14, r1.w0, 0
mov r1.w2, OFFSET_DEFAULT_ROUTE_CFG_BASE
// Restore the stratOffset
mov s_pktCxt.startOffset, r28.b0
#endif
-
+
+fci_c1Parse14:
l_c1Parse14:
// Restore the latest extended Packet Info
xin XID_PINFO_A, s_pktExtDescr, SIZE(s_pktExtDescr)
.leave checkScope
.leave pktCaptureScope
+
+#ifdef PASS_PROC_EOAM
+// **************************************************************************************************
+// * FUNCTION PURPOSE: Forward a packet that had a match in the EOAM LUT1 search
+// **************************************************************************************************
+// * DESCRIPTION: On entry r5 contains the LUT1 status, which indicated a match for the
+// * held packet, and the match index value. The packet is forwarded as required.
+// *
+// * Register Usage:
+// *
+// * R0:
+// * R1: scratch
+// * R2:
+// * R3:
+// * R4:
+// * R5: LUT1 Status (s_l1Status) / LUT1 Command (s_l1Cmd) - lut1Scope
+// * R6: | packet capture info (L2 PDSP only)
+// * R7: |
+// * R8: LUT1 info (s_l1f) -
+// * R9: | -
+// * R10: | Forward match Info (valid at function exit) - lut1MatchSCope
+// * R11: | -
+// * R12: | -
+// * R13:
+// * R14: |
+// * R15: | Extended Header Info
+// * R16: |
+// * R17: |
+// * R18: |
+// * R19: | usrStats FIFO CB
+// * R20: | usrStats Request
+// * R21:
+// * R22:
+// * R23:
+// * R24:
+// * R25:
+// * R26:
+// * R27:
+// * R28:
+// * R29: c1RunContext (s_runCxt) - Global Scope
+// * R30: w2-unused w0-function return address -
+// * R31: System Flags (s_flags) -
+// *
+// *
+// **************************************************************************************************/
+
+ .using lut1Scope
+ .using lut1MatchScope
+ .using pktScope // Used only for sizing
+ .using cdeScope
+ .using usrStatsFifoScope
+
+f_c1ForwardHeldEoamPktMatch:
+
+ // Record the match
+ mov s_stats.value, PA_STATS_UPDATE_REQ | PA_STATS_LUT1_MATCH
+
+ // Load the routing info associated with LUT1
+ // This is the l1Info and match routing information
+ lsl r1.w0, s_l1Status.index, 6 // l1 index * 256
+ lbco &s_l1f, PAMEM_CONST_PDSP_LUT1_INFO, r1.w0, SIZE(s_l1f)+SIZE(s_fmPlace) // l1Info + routing info
+
+ // The following fields must be patched into the packet context with
+ // Results from the lookup
+ // // previous LUT1 match bit
+ // // custom C2 bit
+ // - LUT1 PDSP ID
+ // - LUT1 match index
+ // The 16 bit word s_pktCxt.phyLink will be created in r1.w0
+ // and then patched in
+
+ // The run context has the PDSP ID
+ //lsl s_pktCxt.phyLink, s_runCxt.pdspId, PKT_PDSP_ID_SHIFT
+ mov s_pktCxt.phyLink, PASS_PDSP_ID << PKT_PDSP_ID_SHIFT
+
+ // Or in the LUT1 matching index
+ or s_pktCxt.phyLink, s_pktCxt.phyLink, s_l1Status.index
+
+ // Set the bit to indicate a LUT1 match has occurred
+ set s_pktCxt.flags.t_flag_pl1Match
+
+#ifdef TO_BE_DELETE
+ // Set the virtual link enable bit if necessary
+ qbbc l_c1ForwardHeldPacketEoamMatch0, s_l1f.ctrlFlag.vlink_enable
+ set s_pktCxt.flags.t_flag_use_vlink
+ // Store virtual link num in s_pktCxt.vlanPri_vLink for further stages
+ and s_pktCxt.vlanPri_vLink.b1, s_pktCxt.vlanPri_vLink.b1, PKT_VALN_PRI_MASK
+ or s_pktCxt.vlanPri_vLink.b1, s_pktCxt.vlanPri_vLink.b1, s_l1fv.vLinkNum.b1
+ mov s_pktCxt.vlanPri_vLink.b0, s_l1fv.vLinkNum.b0
+ sbco s_pktCxt.vlanPri_vLink, cCdeHeldPkt, SIZE(s_pktDescr)+OFFSET(s_pktCxt.vlanPri_vLink), SIZE(s_pktCxt.vlanPri_vLink)
+
+l_c1ForwardHeldPacketEoamMatch0:
+#endif
+ // The pmatch, c2c, pdsp ID and LUT1 index are patched into psinfo
+ sbco s_pktCxt.flags, cCdeHeldPkt, SIZE(s_pktDescr)+OFFSET(s_pktCxt.flags), SIZE(s_pktCxt.flags)
+ sbco s_pktCxt.phyLink, cCdeHeldPkt, SIZE(s_pktDescr)+OFFSET(s_pktCxt.phyLink), SIZE(s_pktCxt.phyLink)
+
+ // Record the effective packet size for user statistics update
+ // It will casue 3 cycles for all forwarding packets regardless of statistics update or not
+ // lbco s_usrStatsReq.pktSize, cCdeHeldPkt, SIZE(s_pktDescr)+OFFSET(s_pktCxt.endOffset), SIZE(s_pktCxt.endOffset)
+ mov s_usrStatsReq.pktSize, s_pktCxt.endOffset
+
+ // Patch swinfo0 with the context
+ sbco s_matchForward_eoam.context, cCdeHeldPkt, OFFSET(s_pktDescr.swinfo0), 4
+
+ // TBD: Clear TimeSync word (Should we clear time stamp)
+
+ // Check whether the packet is 802.1ag packet
+ qbbc l_stdHeldPktEoamForward2,s_pktCxt6.eoamFlags.t_flag_8021ag
+ // target flow matched and it is 802.1ag packet
+ // check if we need to force disable statistics counts
+ // Statistics Updates here as per MEG level and Packet Opcodes
+ qbgt l_stdHeldPktMatchEoamForward1_1, s_matchForward_eoam.megLevel, s_pktCxt6.megLevel
+ qblt l_stdHeldPktMatchEoamForward1_0, s_matchForward_eoam.megLevel, s_pktCxt6.megLevel
+ qbeq l_stdHeldPktMatchEoamForward1_1, s_pktCxt6.opCode, PA_EOAM_APS_LINEAR_OPCODE
+ qbeq l_stdHeldPktMatchEoamForward1_1, s_pktCxt6.opCode, PA_EOAM_APS_RING_OPCODE
+ qbeq l_stdHeldPktMatchEoamForward1_1, s_pktCxt6.opCode, PA_EOAM_CCM_OPCODE
+
+l_stdHeldPktMatchEoamForward1_0:
+ // force disable the statistics
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+l_stdHeldPktMatchEoamForward1_1:
+ qbbc l_stdHeldPktEoamForward2, s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ // Known EOAM control packet, forward to queue
+ // Normal host route: no special operation is required
+ // Send the packet on its way
+
+ // Free the packet Ext Info
+ mov s_pktExtDescr.threadId, THREADID_CDMA0
+ xout XID_PINFO_DST, s_pktExtDescr, SIZE(s_pktExtDescr)
+
+ // CDE workaround: do not use CDE_FLG_SET_DESTQUEUE
+ //ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_DESTQUEUE | CDE_FLG_SET_PSINFO) << 8)
+ mov r4.w0, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_PSINFO) << 8)
+ mov s_cdeCmdPkt.psInfoSize, (SIZE(s_pktCxt) + 7) & 0xf8 // Round up to multiple of 8 bytes
+ sbco s_matchForward.queue, cCdeHeldPkt, OFFSET(s_pktDescr.destQ), SIZE(s_pktDescr.destQ)
+ mov s_cdeCmdPkt.flowId, s_matchForward.flowId
+ // xout XID_CDECTRL, s_cdeCmdPkt, SIZE(s_cdeCmdPkt)
+
+ // Unknown EOAM type found OR No Match OR non EOAM packet
+l_stdHeldPktEoamForward2:
+ // Check if we need to record the statistics
+ qbbs l_stdHeldPktEoamForward3_0, s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ // we need record
+ // User Statistics operation:
+ // Record and insert the statistics update into the FIFO
+ // Note all user commands are in the same location (r12)
+ mov s_usrStatsReq.index, s_matchForward_eoam.statsIndex
+
+ lbco s_fifoCb, PAMEM_CONST_USR_STATS_FIFO_BASE, OFFSET_PDSP_USR_STATS_FIFO_CB, SIZE(s_fifoCb)
+ add r1.b0, s_fifoCb.in, 4
+ and r1.b0, r1.b0, 0x1F
+
+ qbne l_stdHeldEoamPktForward2_1, s_fifoCb.out, r1.b0
+ // FIFO is full, bump the system error
+ mov s_stats.value, PA_STATS_UPDATE_REQ | PA_STATS_C1_SYSTEM_FAIL
+ // Skip insert the request
+ jmp fci_stdHeldPktEoamForward3
+
+l_stdHeldEoamPktForward2_1:
+ // Insert the request into the FIFO
+ add r1.w2, s_fifoCb.in, OFFSET_PDSP_USR_STATS_FIFO
+ sbco s_usrStatsReq, PAMEM_CONST_USR_STATS_FIFO_BASE, r1.w2, SIZE(s_usrStatsReq)
+ sbco r1.b0, PAMEM_CONST_USR_STATS_FIFO_BASE, OFFSET_PDSP_USR_STATS_FIFO_CB + OFFSET(s_fifoCb.in), SIZE(s_fifoCb.in)
+
+l_stdHeldPktEoamForward3_0:
+ // No need to check further as the match happened for a known EOAM packet, that needs forwarding to a queue, after stats update
+ qbbs l_stdHeldEoamPktForward4, s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+
+fci_stdHeldPktEoamForward3:
+ // Check whether it is a cipher packet
+ qbbc l_stdHeldPktEoamForward5, s_pktCxt6.eoamFlags.t_flag_cipherPkt
+ // Cipher packet found
+ // Route to RA
+ qbbs l_stdHeldEoamPktForward3_1, s_runCxt.flag2.t_raEn
+ // Send the packet on its way
+ // Free the packet Ext Info
+ // mov s_pktExtDescr.threadId, s_matchForward_pa.dest
+
+ // Load flags and operation in one instruction
+ ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_PSINFO) << 8)
+ mov s_cdeCmdPkt.psInfoSize, 32
+ jmp l_stdHeldEoamPktForward4
+
+l_stdHeldEoamPktForward3_1:
+ // Send the packet on its way to RA
+ qbbs l_stdHeldEoamPktForward3_set_ra_dest_1, s_runCxt.flag2.t_raUseLocDMA
+ // use global DMA
+ mov s_pktExtDescr.threadId, THREADID_CDMA0
+ mov s_cdeCmdPkt.destQueue, PASS_RA_QUEUE
+ jmp l_stdHeldEoamPktForward3_set_ra_dest_end
+
+l_stdHeldEoamPktForward3_set_ra_dest_1:
+ // use local DMA
+ mov s_pktExtDescr.threadId, THREADID_CDMA1
+ mov s_cdeCmdPkt.destQueue, PASS_RA_LOC_QUEUE
+ // pass through
+
+l_stdHeldEoamPktForward3_set_ra_dest_end:
+ // Free the packet Ext Info
+ // CDE workaround: do not use CDE_FLG_SET_DESTQUEUE
+ //ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_DESTQUEUE | CDE_FLG_SET_PSINFO) << 8)
+ ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_PSINFO) << 8)
+ sbco s_cdeCmdPkt.destQueue, cCdeHeldPkt, OFFSET(s_pktDescr.destQ), SIZE(s_pktDescr.destQ)
+ mov s_cdeCmdPkt.psInfoSize, 32
+ mov s_cdeCmdPkt.flowId, s_runCxt.raFlow
+
+l_stdHeldEoamPktForward4:
+ // Clear Word2 in pktCxt
+ mov r24, 0
+ xout XID_PINFO_DST, s_pktExtDescr, SIZE(s_pktExtDescr)
+ xout XID_CDECTRL, s_cdeCmdPkt, SIZE(s_cdeCmdPkt)
+ ret
+
+l_stdHeldPktEoamForward5:
+ // Check if the next stage is Ingress1 Othrewise no action
+ qbeq l_stdHeldPktEoamForward6, s_pktExtDescr.threadId, PA_DEST_INGRESS1
+ // Free the packet Ext Info
+ // CDE workaround: do not use CDE_FLG_SET_DESTQUEUE
+ //ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_DESTQUEUE | CDE_FLG_SET_PSINFO) << 8)
+ ldi r4, CDE_CMD_HPKT_RELEASE | (CDE_FLG_SET_PSINFO << 8)
+ mov s_cdeCmdPkt.psInfoSize, 32
+ jmp l_stdHeldEoamPktForward4
+
+l_stdHeldPktEoamForward6:
+ qbbc l_stdHeldEoamPktForward4, s_pktCxt6.eoamFlags.t_flag_ip
+ // Ip packet found
+ // Update next route to Ingress 3 for Outer IP/UDP Parse
+ mov s_pktExtDescr.threadId, PA_DEST_INGRESS3
+ // Free the packet Ext Info
+ // CDE workaround: do not use CDE_FLG_SET_DESTQUEUE
+ //ldi r4, CDE_CMD_HPKT_RELEASE | ((CDE_FLG_SET_FLOWID | CDE_FLG_SET_DESTQUEUE | CDE_FLG_SET_PSINFO) << 8)
+ ldi r4, CDE_CMD_HPKT_RELEASE | (CDE_FLG_SET_PSINFO << 8)
+ mov s_cdeCmdPkt.psInfoSize, 32
+ jmp l_stdHeldEoamPktForward4
+
+f_c1ForwardHeldEoamPktNoMatch:
+ jmp fci_stdHeldPktEoamForward3
+
+ .leave usrStatsFifoScope
+ .leave pktScope // Used only for sizing
+ .leave lut1MatchScope
+ .leave lut1Scope
+ .leave cdeScope
+#endif
+
+
.using startScope
.using initScope
f_c1LocalInit:
// Clear the LUT table of all 256 entries
- .using lut1Scope
+ .using lut1Scope
mov r3, 0
l_c1LocalInitD:
mov s_paForward.forwardType, PA_FORWARD_TYPE_DISCARD // default successful route
mov s_paForward2.forwardType, PA_FORWARD_TYPE_DISCARD // default failure route
+#ifdef PASS_PROC_EOAM
+ sbco &r3, PAMEM_CONST_RO_TIME_ACC_TABLE, OFFSET_RO_TIME_ACC_CONSTANTS, 28
+#endif
+
// r2.w0 = 0x4000, r2.w2 = 0
mov r2, 256*64
sbco s_headerParse.c1ParseMac, PAMEM_CONST_PARSE, 0, SIZE(s_headerParse)
-#ifdef PASS_PROC_L2
+#ifdef PASS_PROC_L2_PARSE
// Ethertypes table
mov s_ethertypes.vlan, ETH_TAG_VLAN
mov s_ethertypes.spVlan, ETH_TAG_SP_OUTER_VLAN
mov r0.w2, PA_LUT1_INDEX_LAST_FREE
qbne l_paComAddRepLut1_3, s_paAddL1Hdr.index, r0.w2
#else
+
+#ifdef PASS_PROC_EOAM
+ qbbc l_paComAddRepLut1Eoam, s_runCxt.flag3.t_eoamEn
+ // Get a free index if requested
+ mov r0.w2, PA_LUT1_INDEX_LAST_FREE
+ qbne l_paComAddRepLut1_3, s_paAddL1Hdr.index, r0.w2
+ jmp l_paComAddRepLut1_00
+l_paComAddRepLut1Eoam:
+#endif // PASS_PROC_EOAM
mov s_paAddL1fAcl.statsCmd, s_paAddL1Hdr.index
set s_paAddL1fAcl.statsCmd.t_stats_update_req
add s_paAddL1fAcl.statsCmd2, s_paAddL1fAcl.statsCmd, 1
set s_paAddL1fAcl.statsCmd2.t_stats_type_byte
#endif
-
+l_paComAddRepLut1_00:
lmbd r1.b1, r1.b0, 0 // Find free MAP entry index
qbne l_paComAddRepLut1_1, r1.b1, 32
// No free entries
mov s_l1PendCmd.operation, LUT1_CMD_INSERTM
#else
mov s_l1PendCmd.operation, LUT1_CMD_INSERT
+#ifdef PASS_PROC_EOAM
+ // Overwrite the information for IN0PDSP1, when EOAM is enabled
+ qbbc l_paComAddRepLut1_7b, s_runCxt.flag3.t_eoamEn
+ mov s_l1PendCmd.operation, LUT1_CMD_INSERTM
+l_paComAddRepLut1_7b:
+#endif
#endif
mov s_l1PendCmd.index, s_paAddL1Hdr.index
mov s_l1PendCmd.flags, 0
diff --git a/fw/v1/classify2.p b/fw/v1/classify2.p
index 5dc2b1fdad0d1395dfbae69bc19258192cf10602..ce88b3b6d80281e9055437eea77002958bebdd6f 100644 (file)
--- a/fw/v1/classify2.p
+++ b/fw/v1/classify2.p
mov r2, 1
sbco r2, cMailbox, 0, 4
- // Wait for the set command to take hold
+ // Wait for the set command to take hold
wbs s_flags.info.tStatus_Command0
// The host will clear mailbox slot 0 when it is ready for this PDSP to run
zero &s_runCxt, SIZE(s_runCxt)
// Store the PDSP ID
- mov s_runCxt.pdspId, PASS_PDSP_ID
- sbco s_runCxt.pdspId, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
-
+ mov r2.b0, PASS_PDSP_ID
+ sbco r2.b0, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
+
+
// Store the version number
mov r2.w0, PASS_C2_VER & 0xFFFF
mov r2.w2, PASS_C2_VER >> 16
f_c2Parse:
// packet counter
- lbco r1, cMailbox, 0, 4
- add r1, r1, 1
- sbco r1, cMailbox, 0, 4
+ lbco r1, cMailbox, 0, 4
+ add r1, r1, 1
+ sbco r1, cMailbox, 0, 4
// Read the descriptor
xin XID_CDEDATA, s_pktDescr, SIZE(s_pktDescr)
diff --git a/fw/v1/classify3.p b/fw/v1/classify3.p
index 7c9f452f8482e60b5e205e4d0e8350ab408e5bcb..a0c435488dc7f55d9632478057c56d4efea39404 100644 (file)
--- a/fw/v1/classify3.p
+++ b/fw/v1/classify3.p
l_c1Start0:
zero &s_runCxt, SIZE(s_runCxt)
-
// Store the PDSP ID
- mov s_runCxt.pdspId, PASS_PDSP_ID
- sbco s_runCxt.pdspId, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
-
+ mov r2.b0, PASS_PDSP_ID
+ sbco r2.b0, PAMEM_CONST_PDSP_INFO, OFFSET_ID, 1
+
// ****************************************************************************************************
// * FUNCTION PURPOSE: The main processing loop
// ****************************************************************************************************
diff --git a/fw/v1/efp.p b/fw/v1/efp.p
index f0a1346013c6b75cb0689a24a975fc017ec85c41..bd3370314dea7cfd28582af0fd1fe81355498df3 100644 (file)
--- a/fw/v1/efp.p
+++ b/fw/v1/efp.p
// Look for ipv6 non-fragmentable header
l_paEf1ParseIpv6Frag_ShiftCheck:
- qbeq l_paEf1ParseIpv6Frag_HdrDone, s_efState1.proto, IP_PROTO_NEXT_IPV6_FRAG // Can't frag a fragged packet
+ qbeq l_paEf1ParseIpv6Frag_HdrDone, s_efState1.proto, IP_PROTO_NEXT_IPV6_FRAG // Can not frag a fragged packet
qbeq l_paEf1ParseIpv6Frag_CheckNext, s_efState1.proto, IP_PROTO_NEXT_IPV6_HOP_BY_HOP
qbeq l_paEf1ParseIpv6Frag_CheckNext, s_efState1.proto, IP_PROTO_NEXT_IPV6_ROUTE
qbeq l_paEf1ParseIpv6Frag_CheckNext, s_efState1.proto, IP_PROTO_NEXT_IPV6_DEST_OPT
qbbc l_paEf1ParseIpv6_end, s_efRec1.ctrlFlags.t_ef_rec1_ip_mtu
qbge l_paEf1ParseIpv6_end, s_txPktCxt.fragSize, s_efRec1.mtu
add r0, s_txPktCxt.ipHdrLen, IPV6_OPT_FRAG_EXTENSION_LEN_BYTES
- // TBD: If the non-fragmentable portion consumes the full mtu, we can't frag
+ // TBD: If the non-fragmentable portion consumes the full mtu, we can not frag
qbge l_paEf1ParseIpv6_end, s_efRec1.mtu, r0
// IPv6 Fragmentation is required
set s_txPktCxt.flags.t_flag_ip_frag
// Look for ipv6 non-fragmentable header
l_paEf2UpdateIpv6_update_ShiftCheck:
// TBD: Error processing
- qbeq l_paEf2UpdateIpv6_update_HdrDone, s_efState2.nextHdr, IP_PROTO_NEXT_IPV6_FRAG // Can't frag a fragged packet
+ qbeq l_paEf2UpdateIpv6_update_HdrDone, s_efState2.nextHdr, IP_PROTO_NEXT_IPV6_FRAG // Can not frag a fragged packet
qbeq l_paEf2UpdateIpv6_update_CheckNext, s_efState2.nextHdr, IP_PROTO_NEXT_IPV6_HOP_BY_HOP
qbeq l_paEf2UpdateIpv6_update_CheckNext, s_efState2.nextHdr, IP_PROTO_NEXT_IPV6_ROUTE
qbeq l_paEf2UpdateIpv6_update_CheckNext, s_efState2.nextHdr, IP_PROTO_NEXT_IPV6_DEST_OPT
l_paEf2CalIPLengthAndUpdate_ipv6Frag:
add r0, s_efFragInfo.ipHdrLen, IPV6_OPT_FRAG_EXTENSION_LEN_BYTES
- // TBD: If the non-fragmentable portion consumes the full mtu, we can't frag
+ // TBD: If the non-fragmentable portion consumes the full mtu, we can not frag
qbge l_paEf2CalIPLengthAndUpdate_ipFrag_end, s_efRec2.mtu, r0
// IPv6 Fragmentation is required
diff --git a/fw/v1/eg0_pdsp0.bib b/fw/v1/eg0_pdsp0.bib
index d60f1dab986d21c722ef98d62b63c5456a507c22..c546baeab26e42cf166cf16fba145502d5b07435 100644 (file)
Binary files a/fw/v1/eg0_pdsp0.bib and b/fw/v1/eg0_pdsp0.bib differ
Binary files a/fw/v1/eg0_pdsp0.bib and b/fw/v1/eg0_pdsp0.bib differ
diff --git a/fw/v1/eg0_pdsp1.bib b/fw/v1/eg0_pdsp1.bib
index c333d693060f87be498e40a91312f2636c09123e..c654ca93976277d034b92b99f1cbfef82ff5d792 100644 (file)
Binary files a/fw/v1/eg0_pdsp1.bib and b/fw/v1/eg0_pdsp1.bib differ
Binary files a/fw/v1/eg0_pdsp1.bib and b/fw/v1/eg0_pdsp1.bib differ
diff --git a/fw/v1/eg0_pdsp2.bib b/fw/v1/eg0_pdsp2.bib
index 221288d7acd80f4744b42639a96d550384279c5e..e2bb5ef61be452fac7d0a6672a2f132fc8cf316e 100644 (file)
Binary files a/fw/v1/eg0_pdsp2.bib and b/fw/v1/eg0_pdsp2.bib differ
Binary files a/fw/v1/eg0_pdsp2.bib and b/fw/v1/eg0_pdsp2.bib differ
diff --git a/fw/v1/eg1_pdsp0.bib b/fw/v1/eg1_pdsp0.bib
index 8c98e8724e7ccbaa9226888c5490b557ad4804df..02791530ac1b58b08fed72e2ba3b4be23ac25f5f 100644 (file)
Binary files a/fw/v1/eg1_pdsp0.bib and b/fw/v1/eg1_pdsp0.bib differ
Binary files a/fw/v1/eg1_pdsp0.bib and b/fw/v1/eg1_pdsp0.bib differ
diff --git a/fw/v1/eg2_pdsp0.bib b/fw/v1/eg2_pdsp0.bib
index 14d6702269e3ef8b9ac29a9cfbaeb3dc964cc540..e093b44018c66126aca202dc06bbebd58213c71d 100644 (file)
Binary files a/fw/v1/eg2_pdsp0.bib and b/fw/v1/eg2_pdsp0.bib differ
Binary files a/fw/v1/eg2_pdsp0.bib and b/fw/v1/eg2_pdsp0.bib differ
diff --git a/fw/v1/in0_pdsp0.bib b/fw/v1/in0_pdsp0.bib
index 9784572405f7e5110fbb413b655ce1e91636d2ad..0a82f7258a58c36cb12b89612ba3393ac310d46b 100644 (file)
Binary files a/fw/v1/in0_pdsp0.bib and b/fw/v1/in0_pdsp0.bib differ
Binary files a/fw/v1/in0_pdsp0.bib and b/fw/v1/in0_pdsp0.bib differ
diff --git a/fw/v1/in0_pdsp0.p b/fw/v1/in0_pdsp0.p
index 14f0be0da0b8e69544b1a2150521d5e93d1a2237..c8ee9159a56b6a03eb7480482f9f47da37fab6be 100644 (file)
--- a/fw/v1/in0_pdsp0.p
+++ b/fw/v1/in0_pdsp0.p
#include "pdsp_mem.h"
#define PASS_FIRST_PDSP
#define PASS_PROC_L2
+#define PASS_PROC_L2_PARSE
#define PASS_PROC_INGRESS_PKT_CLONE
#define PASS_GLOBAL_INIT
#define PASS_TIMESTAMP_OP
+#define PASS_PROC_RO_TIME_ACC
+#define PASS_PROC_CMD1
+#define PASS_PROC_EOAM_CMD
#define PASS_PROC_PKT_CONTROL
#define PASS_PROC_DEF_ROUTE
#define PASS_FIREWALL_FORWARDING
diff --git a/fw/v1/in0_pdsp1.bib b/fw/v1/in0_pdsp1.bib
index 80ab67d14ea9d36482ca81bb29c2e1748ba04091..57a8cea31822f4f53ee72cf00ef8c7b34acbe91c 100644 (file)
Binary files a/fw/v1/in0_pdsp1.bib and b/fw/v1/in0_pdsp1.bib differ
Binary files a/fw/v1/in0_pdsp1.bib and b/fw/v1/in0_pdsp1.bib differ
diff --git a/fw/v1/in0_pdsp1.p b/fw/v1/in0_pdsp1.p
index 1672284508b98241ef19348a77df8887e3e54bbd..993c15bcdda76a2ba59d54c16ade3c898d465535 100644 (file)
--- a/fw/v1/in0_pdsp1.p
+++ b/fw/v1/in0_pdsp1.p
#define PASS_PROC_RA
#define PASS_OUTER_RA
#define PASS_OUTER_ACL
+#define PASS_PROC_CMD1
+#define PASS_PROC_L2_PARSE
+#define PASS_PROC_EOAM
+#define PASS_PROC_EOAM_CMD
#define HEADER_MAGIC 0xBABE0001
#define PASS_PDSP_ID 1
#define PASS_THREAD_ID THREADID_INGRESS0
diff --git a/fw/v1/in1_pdsp0.bib b/fw/v1/in1_pdsp0.bib
index 8707b730531b88a0abe858ce1b7a87f50e8dc1b2..ff4236da3ffadc9437d9279ebf1a4fe194604c65 100644 (file)
Binary files a/fw/v1/in1_pdsp0.bib and b/fw/v1/in1_pdsp0.bib differ
Binary files a/fw/v1/in1_pdsp0.bib and b/fw/v1/in1_pdsp0.bib differ
diff --git a/fw/v1/in1_pdsp0.p b/fw/v1/in1_pdsp0.p
index e292f5afa9237380ddbdfd9451d9688691ce3349..2b370b221958e899154c14a03151822b6db06f42 100644 (file)
--- a/fw/v1/in1_pdsp0.p
+++ b/fw/v1/in1_pdsp0.p
#define PASS_PROC_IPSEC
#define PASS_SKIP_IPSEC
#define PASS_PROC_L3
+#define PASS_PROC_CMD1
#define PASS_PROC_OUTER_IP
#define PASS_PROC_EFLOW_ROUTE
#define PASS_PROC_LUT1_CUSTOM
diff --git a/fw/v1/in1_pdsp1.bib b/fw/v1/in1_pdsp1.bib
index 1f5580f61372be0d99f5fdf7d5da46abaa59bf70..05a3752f935e9b5d7f0826edf808b1d7c0b458f4 100644 (file)
Binary files a/fw/v1/in1_pdsp1.bib and b/fw/v1/in1_pdsp1.bib differ
Binary files a/fw/v1/in1_pdsp1.bib and b/fw/v1/in1_pdsp1.bib differ
diff --git a/fw/v1/in1_pdsp1.p b/fw/v1/in1_pdsp1.p
index 1a8a0def20a46ea7c5b3ad405f74918f4e112658..9757c0cc1fcf9af432ee3efad3d55ee9be364d60 100644 (file)
--- a/fw/v1/in1_pdsp1.p
+++ b/fw/v1/in1_pdsp1.p
#define PASS_LAST_PDSP
#define PASS_PROC_IPSEC
#define PASS_PROC_IPSEC_NAT_T
+#define PASS_PROC_EOAM_CMD
+#define PASS_PROC_CMD1
#define PASS_VERIFY_SCTP_CRC
#define HEADER_MAGIC 0xBABE0101
#define PASS_PDSP_ID 3
diff --git a/fw/v1/in2_pdsp0.bib b/fw/v1/in2_pdsp0.bib
index 174759772f847c45f5db259fdbbf45a97a877ef4..692aa5d376bcffcdf158238d5214cfc7837f7bc1 100644 (file)
Binary files a/fw/v1/in2_pdsp0.bib and b/fw/v1/in2_pdsp0.bib differ
Binary files a/fw/v1/in2_pdsp0.bib and b/fw/v1/in2_pdsp0.bib differ
diff --git a/fw/v1/in2_pdsp0.p b/fw/v1/in2_pdsp0.p
index 7fe4f9aaf71d381cb762a59c5a479ea31f492ee8..e9d27dbc563a4388a7fa8f19f8cd123633f3f7f6 100644 (file)
--- a/fw/v1/in2_pdsp0.p
+++ b/fw/v1/in2_pdsp0.p
#define PASS_LAST_PDSP
#define PASS_PROC_IPSEC
#define PASS_PROC_IPSEC2
+#define PASS_PROC_EOAM_CMD
+#define PASS_PROC_CMD1
#define PASS_PROC_POST_IPSEC
#define HEADER_MAGIC 0xBABE0200
#define PASS_PDSP_ID 4
diff --git a/fw/v1/in3_pdsp0.bib b/fw/v1/in3_pdsp0.bib
index 330525dc16e6fac9614ebb31ccf25b80e44ad28f..701b874a9f1cfae545317acd689ed6d4dfbddbeb 100644 (file)
Binary files a/fw/v1/in3_pdsp0.bib and b/fw/v1/in3_pdsp0.bib differ
Binary files a/fw/v1/in3_pdsp0.bib and b/fw/v1/in3_pdsp0.bib differ
diff --git a/fw/v1/in4_pdsp0.bib b/fw/v1/in4_pdsp0.bib
index caf762c4f532abd50fa506d24786223d9439d2e0..3c817e549157ef7c07a6971d556f1db7d9bf15bd 100644 (file)
Binary files a/fw/v1/in4_pdsp0.bib and b/fw/v1/in4_pdsp0.bib differ
Binary files a/fw/v1/in4_pdsp0.bib and b/fw/v1/in4_pdsp0.bib differ
diff --git a/fw/v1/in4_pdsp0.p b/fw/v1/in4_pdsp0.p
index 802c6efd2ba5af2138f6247d8cbb79bb14194d8f..33759996ac9dba32d1c6a894600213917f60d3ea 100644 (file)
--- a/fw/v1/in4_pdsp0.p
+++ b/fw/v1/in4_pdsp0.p
#define PASS_PROC_EFLOW_ROUTE
#define PASS_PROC_LUT1_CUSTOM
#define PASS_PROC_IP_REASSEM
+#define PASS_PROC_CMD1
#define OFFSET_IP_REASSM_CFG OFFSET_IN_IP_REASSM_CFG
#define PASS_VERIFY_POST_RA_DROP
#define PASS_PROC_PKT_CONTROL
#define PASS_PROC_POST_IPSEC
+#define PASS_PROC_EOAM_CMD
#define PASS_L4_BYPASS
#define HEADER_MAGIC 0xBABE0401
#define PASS_PDSP_ID 6
diff --git a/fw/v1/in4_pdsp1.bib b/fw/v1/in4_pdsp1.bib
index 4cf61eaa2ba172a22a610d79355c6053dbf90b5e..aa81de283b4ccb0b75312fd5aae9d1e7c3c7ac14 100644 (file)
Binary files a/fw/v1/in4_pdsp1.bib and b/fw/v1/in4_pdsp1.bib differ
Binary files a/fw/v1/in4_pdsp1.bib and b/fw/v1/in4_pdsp1.bib differ
diff --git a/fw/v1/meminit.p b/fw/v1/meminit.p
index ba892b6f49b4373cce530a1200d1841e8d9e4ece..da099bb39e36385764f7e36799876963dd9cb940 100644 (file)
--- a/fw/v1/meminit.p
+++ b/fw/v1/meminit.p
zero &r0, 80
sbco &r0, PAMEM_CONST_CUSTOM, OFFSET_CUSTOM_C1, 80
sbco &r0, PAMEM_CONST_CUSTOM, OFFSET_CUSTOM_C1 + 2*40, 80
-
+
// Packet Capture configuration Init
sbco &r0, PAMEM_CONST_PORTCFG, OFFSET_EGRESS_PKT_CAP_CFG_BASE, 10*8
sbco &r0, PAMEM_CONST_PORTCFG, OFFSET_INGRESS_PKT_CAP_CFG_BASE, 10*8
// Clear system timestamp
sbco &r0, PAMEM_CONST_CUSTOM, OFFSET_SYS_TIMESTAMP, 8
+ // Clear global raw time accumulation counters to accumulate time in sec, ns
+ sbco &r0, PAMEM_CONST_CUSTOM, OFFSET_RAW_TIME_ACC, 16
+
// Packet ingress default route configuration (64 * 8)
mov r20, OFFSET_DEFAULT_ROUTE_CFG_BASE
mov r21, 64*8
index 9aa82199036d1a761058952faf7772218f0c65dd..6989e0ee68bfa8d574fa425f18afcf5482e45971 100644 (file)
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x24000a1d,
- 0x8100177d,
+ 0x24000a02,
+ 0x81001762,
0xc9067d1b,
0xc9077d02,
0xd110ff00,
0xcf057de3,
0xc910ff02,
0x21001000,
- 0x2102f800,
+ 0x21033200,
0x0905c481,
0x92812088,
0x10c8c89f,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2403a9c8,
- 0x2403a988,
- 0x2403a9c9,
- 0x2402fc89,
- 0x240326ca,
- 0x2403418a,
- 0x24034dcb,
- 0x2403588b,
- 0x24036acc,
- 0x2403758c,
- 0x2403a9cd,
- 0x2403a98d,
- 0x2403a9ce,
- 0x2403a98e,
- 0x2403a9cf,
- 0x2403a98f,
- 0x2403a9d0,
- 0x24038e90,
- 0x240397d1,
- 0x24039f91,
+ 0x2403e3c8,
+ 0x2403e388,
+ 0x2403e3c9,
+ 0x24033689,
+ 0x240360ca,
+ 0x24037b8a,
+ 0x240387cb,
+ 0x2403928b,
+ 0x2403a4cc,
+ 0x2403af8c,
+ 0x2403e3cd,
+ 0x2403e38d,
+ 0x2403e3ce,
+ 0x2403e38e,
+ 0x2403e3cf,
+ 0x2403e38f,
+ 0x2403e3d0,
+ 0x2403c890,
+ 0x2403d1d1,
+ 0x2403d991,
0x8500f588,
0x24505084,
0x108484c4,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062730,
- 0x510c27ae,
- 0x530a2732,
- 0x5308272e,
- 0x530b272e,
- 0x5309272e,
+ 0x5306276a,
+ 0x510c27e0,
+ 0x530a276c,
+ 0x53082768,
+ 0x530b2768,
+ 0x53092768,
0x51052737,
0x24000286,
0x2f0080c6,
0x21017b00,
- 0x2102a500,
+ 0x2102df00,
0x21012300,
- 0x2102a200,
- 0x2102a200,
+ 0x2102dc00,
+ 0x2102dc00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x10515121,
0x24005082,
0xe10c2281,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
0x21017b00,
0x24000086,
0x2f0080c6,
0x21017b00,
0x240018c4,
0x2f000384,
- 0x21029300,
+ 0x2102cd00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21029000,
+ 0x2102ca00,
0x2e80838e,
0x71046e04,
0x240011d9,
0x21017b00,
0x69066a0e,
0x59148002,
- 0x21029000,
+ 0x2102ca00,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21024300,
+ 0x21027500,
0x21017b00,
0x69076a0e,
0x59148002,
- 0x21029000,
+ 0x2102ca00,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21025100,
+ 0x21028300,
0x21017b00,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21029000,
+ 0x2102ca00,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21026000,
+ 0x21029200,
0x21017b00,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21029000,
+ 0x2102ca00,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21027f00,
+ 0x2102b100,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21027900,
+ 0x2102ab00,
+ 0x21017b00,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x2102ca00,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
0x21017b00,
0x240002d9,
0x1f047b7b,
0x58c08004,
0x24001000,
0xc9037b3b,
- 0x2102e300,
+ 0x21031d00,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b33,
- 0x2102e300,
+ 0x21031d00,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b2b,
- 0x2102e300,
+ 0x21031d00,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x2102cb00,
+ 0x21030500,
0x60c0ca04,
0x24000400,
0xc9037b23,
- 0x2102e300,
+ 0x21031d00,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x2102eb00,
+ 0x21032500,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0x2e808786,
0x240010c4,
0x2f000384,
- 0x2102cf00,
+ 0x21030900,
0x1d057d7d,
0x93242e84,
0x2f010984,
index a00e5ccf03c087d9dfae8acf92190a0d9780687c..3611c5e4be11d9e360e745d9f324e0d870fe7ab0 100644 (file)
0x2eff8184,
0x81003b84,
0x21017a00,
- 0x2307469e,
+ 0x2307829e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x51040103,
0x1f060e0e,
0x21019d00,
- 0x21050800,
+ 0x21050a00,
0x21005d00,
0xd106ff00,
0x9110e78a,
0x69024204,
0x111f1542,
0x51004202,
- 0x2304509e,
- 0xd1023596,
- 0x2304ac9e,
+ 0x2304529e,
+ 0xd1023598,
+ 0x2304ae9e,
0x2e85098e,
0xc901350a,
0x593c9409,
0x240004c4,
0x2f000184,
0x111f7601,
+ 0x51030104,
+ 0x51040103,
0x511f0104,
- 0x57000104,
+ 0x57000102,
0x69020122,
- 0x2102a400,
+ 0x2102a600,
0x24001004,
0x2f000384,
0x2e85098e,
0x24004304,
0x58ce9603,
0x109696c4,
- 0x21029600,
+ 0x21029800,
0x048f96c4,
0x10565624,
0x10f2f2e5,
0x2f000384,
0x2f04898e,
0x21016c00,
- 0x5d0275eb,
+ 0x5d0275e9,
0x24000276,
0xc90f9603,
0x24000476,
0x11f06600,
0x51400003,
0x516000c0,
- 0x21035900,
+ 0x21035b00,
0x108686d8,
0x110f6617,
0x09021717,
0x0417d8e1,
0x48e0e103,
0x0499e1d9,
- 0x2102dc00,
+ 0x2102de00,
0x1f0d8787,
0x0017d986,
0x24000088,
0x104242c4,
0x51022403,
0x008682e5,
- 0x2102e900,
+ 0x2102eb00,
0x008682c5,
0x2f000384,
0x51017508,
0x104343c4,
0x51022403,
0x008683e5,
- 0x2102f100,
+ 0x2102f300,
0x008683c5,
0x2f000384,
0x2eff8384,
0x2f000184,
0x24000004,
0x04d19a9a,
- 0x21031300,
+ 0x21031500,
0x24000104,
0x109a9ac4,
0x2f000184,
0x60919a04,
0x04919a9a,
0x2400008f,
- 0x21031f00,
+ 0x21032100,
0x009af2f0,
0x00da9ae0,
0x6091e002,
0x103737c4,
0x2f000184,
0x2e808986,
- 0x2102d300,
+ 0x2102d500,
0x105b5b0e,
0x21022000,
0x51007511,
0x104242c4,
0x51022403,
0x00d882e5,
- 0x21036100,
+ 0x21036300,
0x00d882c5,
0x2f000384,
0x51017508,
0x104343c4,
0x51022403,
0x00d883e5,
- 0x21036900,
+ 0x21036b00,
0x00d883c5,
0x2f000384,
0x10373782,
0x24021f9e,
- 0x2104dc00,
+ 0x2104de00,
0x6f01559b,
0x24104480,
0x24fff8c0,
0x240000c4,
0x10e0e0e5,
0x2f000384,
- 0x21030800,
+ 0x21030a00,
0x11f85757,
0x0128c7d8,
0x24002817,
0x51007b04,
0x512b7b03,
0x513c7b02,
- 0x21039700,
+ 0x21039900,
0x2f000184,
0x2e808086,
0x1066667b,
0x010146c4,
0x0903c4c4,
0x00c41717,
- 0x21038b00,
+ 0x21038d00,
0x010817e0,
0x04e0d7d9,
0x70e0d7b4,
0x010437c4,
0x0528d7c5,
0x2f000384,
- 0x2103b400,
+ 0x2103b600,
0x24002c27,
0x0528d7c7,
0x2f008386,
0x104242c4,
0x51022403,
0x008182e5,
- 0x2103cb00,
+ 0x2103cd00,
0x008182c5,
0x2f000384,
0x51017508,
0x104343c4,
0x51022403,
0x008183e5,
- 0x2103d300,
+ 0x2103d500,
0x008183c5,
0x2f000384,
0x10d9d9da,
0x2f000184,
0x24000004,
0x04d19a9a,
- 0x2103ed00,
+ 0x2103ef00,
0x24000104,
0x109a9ac4,
0x2f000184,
0x60919a04,
0x04919a9a,
0x2400008f,
- 0x2103f900,
+ 0x2103fb00,
0x009af2f0,
0x00da9ae0,
0x6091e002,
0x2f008386,
0x101717c4,
0x2f000184,
- 0x2103b400,
+ 0x2103b600,
0x105b5b0e,
0x21022000,
0x6f0155ab,
0x240000c4,
0x10e0e0e5,
0x2f000384,
- 0x2103e200,
+ 0x2103e400,
0x2f000184,
0x00173737,
- 0x21035900,
+ 0x21035b00,
0x24000c04,
0x2f000384,
0x2eff8192,
0x240002c4,
0x2f000384,
0x00c48282,
- 0x21046200,
+ 0x21046400,
0x688ec605,
0x240002c4,
0x2f000384,
0x00c48282,
- 0x21046200,
+ 0x21046400,
0x68cfc605,
0x2e808186,
0x0b024612,
0x1f017272,
- 0x21049d00,
+ 0x21049f00,
0x688fc606,
0x2e808186,
0x0b04c612,
0x0b021212,
0x1f017272,
- 0x21049d00,
+ 0x21049f00,
0x68d0c60a,
0x2e808386,
0x240004c4,
0x0b046703,
0x570403ef,
0x570603f3,
- 0x21049d00,
+ 0x21049f00,
0x5690c6f7,
0x68d1c60a,
0x2e808386,
0x56c287e5,
0x240057c2,
0x56c287e8,
- 0x21049d00,
+ 0x21049f00,
0x5691c6f7,
0xc9006905,
0xc9007203,
0x10323252,
- 0x2104a500,
+ 0x2104a700,
0xd1016904,
0xc9017203,
0x10121252,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x2104c000,
+ 0x2104c200,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x2104d600,
+ 0x2104d800,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x01010303,
0x01202323,
0x0120e0e0,
- 0x2104e100,
+ 0x2104e300,
0x24000083,
0xc9071d02,
0x2400ff23,
0x00839494,
0x2f05098e,
0x209e0000,
- 0x21050900,
+ 0x21050b00,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21054100,
+ 0x21054300,
0x51006602,
- 0x21054100,
+ 0x21054300,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21054100,
+ 0x21054300,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062730,
- 0x510c27ae,
- 0x530a2732,
- 0x5308272e,
- 0x530b272e,
- 0x5309272e,
+ 0x5306276a,
+ 0x510c27e0,
+ 0x530a276c,
+ 0x53082768,
+ 0x530b2768,
+ 0x53092768,
0x51052737,
0x24000286,
0x2f0080c6,
- 0x21054100,
- 0x21074300,
- 0x21074300,
- 0x21073c00,
- 0x21074300,
+ 0x21054300,
+ 0x21077f00,
+ 0x21077f00,
+ 0x21077800,
+ 0x21077f00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21056a00,
+ 0x21056c00,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21055c00,
+ 0x21055e00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21056a00,
+ 0x21056c00,
0x8112079a,
0x101a1a05,
0x13202424,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21054100,
+ 0x21054300,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21054100,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21054300,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21054100,
+ 0x21054300,
0x240018c4,
0x2f000384,
- 0x21065900,
+ 0x21069500,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21065600,
+ 0x21069200,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21054100,
+ 0x21054300,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21054100,
+ 0x21054300,
0x69066a0e,
0x59148002,
- 0x21065600,
+ 0x21069200,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21060900,
- 0x21054100,
+ 0x21063d00,
+ 0x21054300,
0x69076a0e,
0x59148002,
- 0x21065600,
+ 0x21069200,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21061700,
- 0x21054100,
+ 0x21064b00,
+ 0x21054300,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21065600,
+ 0x21069200,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21062600,
- 0x21054100,
+ 0x21065a00,
+ 0x21054300,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21065600,
+ 0x21069200,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21064500,
+ 0x21067900,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21063f00,
- 0x21054100,
+ 0x21067300,
+ 0x21054300,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21069200,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21054300,
0x240002d9,
0x1f047b7b,
- 0x21054100,
+ 0x21054300,
0x240010d9,
0x1f047b7b,
- 0x21054100,
+ 0x21054300,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x670b01fa,
- 0x21054100,
- 0x21054100,
- 0x21054100,
- 0x21054100,
- 0x21054100,
- 0x21054100,
+ 0x21054300,
+ 0x21054300,
+ 0x21054300,
+ 0x21054300,
+ 0x21054300,
+ 0x21054300,
0xc907ff00,
0x911007ca,
0x1f0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x21067900,
+ 0x2106b500,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2106ab00,
+ 0x2106e700,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x2106bd00,
+ 0x2106f900,
0x00228686,
0xc901680a,
0x00224646,
- 0x2106bd00,
+ 0x2106f900,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x2106e700,
+ 0x21072300,
0x2400012e,
- 0x2106e700,
+ 0x21072300,
0x69050214,
0x1046462e,
0x81186787,
0x24ff00c2,
0x240000e1,
0xe1742281,
- 0x21054100,
+ 0x21054300,
0x24000c86,
0x2f0080c6,
- 0x21054100,
+ 0x21054300,
0x2eff8384,
0x81007b84,
0x248100c8,
index d927ea2103fc1b85ac1f057b735dcdc400fd4e53..73516ec43142ee0f0e6174d3914421df2f3fd4f4 100644 (file)
0x2eff8184,
0x81003b84,
0x2102a500,
- 0x2306979e,
+ 0x2306d39e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x51040103,
0x1f060e0e,
0x2102c800,
- 0x21045600,
+ 0x21045800,
0x21005c00,
0xd106ff00,
0x9110e78a,
0x1f063535,
0x2102ba00,
0x24000082,
- 0x2303fa9e,
+ 0x2303fc9e,
0x2e85098e,
0xc901350a,
0x593c9409,
0x240004c4,
0x2f000184,
0x111f7601,
+ 0x51030104,
+ 0x51040103,
0x511f0103,
- 0x550001d7,
+ 0x550001d5,
0x2102ba00,
0x24001004,
0x2f000384,
0x24004304,
0x58ce9603,
0x109696c4,
- 0x2103ed00,
+ 0x2103ef00,
0x048f96c4,
0x10565624,
0x10f2f2e5,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21040e00,
+ 0x21041000,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21042400,
+ 0x21042600,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x01010303,
0x01202323,
0x0120e0e0,
- 0x21042f00,
+ 0x21043100,
0x24000083,
0xc9071d02,
0x2400ff23,
0x00839494,
0x2f05098e,
0x209e0000,
- 0x21045700,
+ 0x21045900,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21048f00,
+ 0x21049100,
0x51006602,
- 0x21048f00,
+ 0x21049100,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21048f00,
+ 0x21049100,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062734,
- 0x510c27b2,
- 0x530a2736,
- 0x53082732,
- 0x530b2732,
- 0x53092732,
+ 0x5306276e,
+ 0x510c27e4,
+ 0x530a2770,
+ 0x5308276c,
+ 0x530b276c,
+ 0x5309276c,
0x5105273b,
0x24000286,
0x2f0080c6,
- 0x21048f00,
- 0x21069400,
- 0x21069400,
- 0x21068d00,
- 0x21069400,
+ 0x21049100,
+ 0x2106d000,
+ 0x2106d000,
+ 0x2106c900,
+ 0x2106d000,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x2104b900,
+ 0x2104bb00,
0xc9057b04,
0x24008000,
0x81200760,
- 0x2104aa00,
+ 0x2104ac00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x2104b900,
+ 0x2104bb00,
0x8112079a,
0x101a1a05,
0x13202424,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21048f00,
+ 0x21049100,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21048f00,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21049100,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21048f00,
+ 0x21049100,
0x240018c4,
0x2f000384,
- 0x2105ab00,
+ 0x2105e700,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x2105a800,
+ 0x2105e400,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21048f00,
+ 0x21049100,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21048f00,
+ 0x21049100,
0x69066a0e,
0x59148002,
- 0x2105a800,
+ 0x2105e400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21055b00,
- 0x21048f00,
+ 0x21058f00,
+ 0x21049100,
0x69076a0e,
0x59148002,
- 0x2105a800,
+ 0x2105e400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21056900,
- 0x21048f00,
+ 0x21059d00,
+ 0x21049100,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x2105a800,
+ 0x2105e400,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21057800,
- 0x21048f00,
+ 0x2105ac00,
+ 0x21049100,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x2105a800,
+ 0x2105e400,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21059700,
+ 0x2105cb00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21059100,
- 0x21048f00,
+ 0x2105c500,
+ 0x21049100,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x2105e400,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21049100,
0x240002d9,
0x1f047b7b,
- 0x21048f00,
+ 0x21049100,
0x240010d9,
0x1f047b7b,
- 0x21048f00,
+ 0x21049100,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x670b01fa,
- 0x21048f00,
- 0x21048f00,
- 0x21048f00,
- 0x21048f00,
- 0x21048f00,
- 0x21048f00,
+ 0x21049100,
+ 0x21049100,
+ 0x21049100,
+ 0x21049100,
+ 0x21049100,
+ 0x21049100,
0xc907ff00,
0x911007ca,
0x1d0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x2105cb00,
+ 0x21060700,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2105fd00,
+ 0x21063900,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21060f00,
+ 0x21064b00,
0x00228686,
0xc901680a,
0x00224646,
- 0x21060f00,
+ 0x21064b00,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x21063900,
+ 0x21067500,
0x2400012e,
- 0x21063900,
+ 0x21067500,
0x69050214,
0x1046462e,
0x81186787,
0x24ff00c2,
0x240000e1,
0xe1742281,
- 0x21048f00,
+ 0x21049100,
0x24000c86,
0x2f0080c6,
- 0x21048f00,
+ 0x21049100,
0x2eff8384,
0x81007b84,
0x240102c0,
index eb075ba9790f1ea8b5e55f4156ca07b636dea97c..44b2edb68b11b692ced5b0485edd95ff712d7762 100644 (file)
0x2eff8184,
0x81003b84,
0x21011200,
- 0x2305049e,
+ 0x2305409e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x51040103,
0x1f060e0e,
0x21013500,
- 0x2102c300,
+ 0x2102c500,
0x21005c00,
0xd106ff00,
0x9110e78a,
0x1f063535,
0x21012700,
0x24000082,
- 0x2302679e,
+ 0x2302699e,
0x2e85098e,
0xc901350a,
0x593c9409,
0x240004c4,
0x2f000184,
0x111f7601,
+ 0x51030104,
+ 0x51040103,
0x511f0103,
- 0x550001d7,
+ 0x550001d5,
0x21012700,
0x24001004,
0x2f000384,
0x24004304,
0x58ce9603,
0x109696c4,
- 0x21025a00,
+ 0x21025c00,
0x048f96c4,
0x10565624,
0x10f2f2e5,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21027b00,
+ 0x21027d00,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21029100,
+ 0x21029300,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x01010303,
0x01202323,
0x0120e0e0,
- 0x21029c00,
+ 0x21029e00,
0x24000083,
0xc9071d02,
0x2400ff23,
0x00839494,
0x2f05098e,
0x209e0000,
- 0x2102c400,
+ 0x2102c600,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x2102fc00,
+ 0x2102fe00,
0x51006602,
- 0x2102fc00,
+ 0x2102fe00,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x2102fc00,
+ 0x2102fe00,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062734,
- 0x510c27b2,
- 0x530a2736,
- 0x53082732,
- 0x530b2732,
- 0x53092732,
+ 0x5306276e,
+ 0x510c27e4,
+ 0x530a2770,
+ 0x5308276c,
+ 0x530b276c,
+ 0x5309276c,
0x5105273b,
0x24000286,
0x2f0080c6,
- 0x2102fc00,
- 0x21050100,
- 0x21050100,
- 0x2104fa00,
- 0x21050100,
+ 0x2102fe00,
+ 0x21053d00,
+ 0x21053d00,
+ 0x21053600,
+ 0x21053d00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21032600,
+ 0x21032800,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21031700,
+ 0x21031900,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21032600,
+ 0x21032800,
0x8112079a,
0x101a1a05,
0x13202424,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x2102fc00,
+ 0x2102fe00,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x2102fc00,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x2102fe00,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x2102fc00,
+ 0x2102fe00,
0x240018c4,
0x2f000384,
- 0x21041800,
+ 0x21045400,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21041500,
+ 0x21045100,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x2102fc00,
+ 0x2102fe00,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x2102fc00,
+ 0x2102fe00,
0x69066a0e,
0x59148002,
- 0x21041500,
+ 0x21045100,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103c800,
- 0x2102fc00,
+ 0x2103fc00,
+ 0x2102fe00,
0x69076a0e,
0x59148002,
- 0x21041500,
+ 0x21045100,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103d600,
- 0x2102fc00,
+ 0x21040a00,
+ 0x2102fe00,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21041500,
+ 0x21045100,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2103e500,
- 0x2102fc00,
+ 0x21041900,
+ 0x2102fe00,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21041500,
+ 0x21045100,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21040400,
+ 0x21043800,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2103fe00,
- 0x2102fc00,
+ 0x21043200,
+ 0x2102fe00,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21045100,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x2102fe00,
0x240002d9,
0x1f047b7b,
- 0x2102fc00,
+ 0x2102fe00,
0x240010d9,
0x1f047b7b,
- 0x2102fc00,
+ 0x2102fe00,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x670b01fa,
- 0x2102fc00,
- 0x2102fc00,
- 0x2102fc00,
- 0x2102fc00,
- 0x2102fc00,
- 0x2102fc00,
+ 0x2102fe00,
+ 0x2102fe00,
+ 0x2102fe00,
+ 0x2102fe00,
+ 0x2102fe00,
+ 0x2102fe00,
0xc907ff00,
0x911007ca,
0x1d0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x21043800,
+ 0x21047400,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21046a00,
+ 0x2104a600,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21047c00,
+ 0x2104b800,
0x00228686,
0xc901680a,
0x00224646,
- 0x21047c00,
+ 0x2104b800,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x2104a600,
+ 0x2104e200,
0x2400012e,
- 0x2104a600,
+ 0x2104e200,
0x69050214,
0x1046462e,
0x81186787,
0x24ff00c2,
0x240000e1,
0xe1742281,
- 0x2102fc00,
+ 0x2102fe00,
0x24000c86,
0x2f0080c6,
- 0x2102fc00,
+ 0x2102fe00,
0x2eff8384,
0x81007b84,
0x209e0000 };
index e2e1b7d5f19bb1e543a787e2f29b025e63a6eddb..7157443139954776de5a4df677d1c2722d0d5f03 100644 (file)
0x2eff8184,
0x81003b84,
0x21020a00,
- 0x2305fc9e,
+ 0x2306389e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x51040103,
0x1f060e0e,
0x21022d00,
- 0x2103bb00,
+ 0x2103bd00,
0x21005c00,
0xd106ff00,
0x9110e78a,
0x1f063535,
0x21021f00,
0x24000082,
- 0x23035f9e,
+ 0x2303619e,
0x2e85098e,
0xc901350a,
0x593c9409,
0x240004c4,
0x2f000184,
0x111f7601,
+ 0x51030104,
+ 0x51040103,
0x511f0103,
- 0x550001d7,
+ 0x550001d5,
0x21021f00,
0x24001004,
0x2f000384,
0x24004304,
0x58ce9603,
0x109696c4,
- 0x21035200,
+ 0x21035400,
0x048f96c4,
0x10565624,
0x10f2f2e5,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21037300,
+ 0x21037500,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x048fc7c4,
0x00cfc8c5,
0x0300c5c5,
- 0x21038900,
+ 0x21038b00,
0x10c7c7c4,
0x10c8c8c5,
0x10878785,
0x01010303,
0x01202323,
0x0120e0e0,
- 0x21039400,
+ 0x21039600,
0x24000083,
0xc9071d02,
0x2400ff23,
0x00839494,
0x2f05098e,
0x209e0000,
- 0x2103bc00,
+ 0x2103be00,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x2103f400,
+ 0x2103f600,
0x51006602,
- 0x2103f400,
+ 0x2103f600,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x2103f400,
+ 0x2103f600,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062734,
- 0x510c27b2,
- 0x530a2736,
- 0x53082732,
- 0x530b2732,
- 0x53092732,
+ 0x5306276e,
+ 0x510c27e4,
+ 0x530a2770,
+ 0x5308276c,
+ 0x530b276c,
+ 0x5309276c,
0x5105273b,
0x24000286,
0x2f0080c6,
- 0x2103f400,
- 0x2105f900,
- 0x2105f900,
- 0x2105f200,
- 0x2105f900,
+ 0x2103f600,
+ 0x21063500,
+ 0x21063500,
+ 0x21062e00,
+ 0x21063500,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21041e00,
+ 0x21042000,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21040f00,
+ 0x21041100,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21041e00,
+ 0x21042000,
0x8112079a,
0x101a1a05,
0x13202424,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x2103f400,
+ 0x2103f600,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x2103f400,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x2103f600,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x2103f400,
+ 0x2103f600,
0x240018c4,
0x2f000384,
- 0x21051000,
+ 0x21054c00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21050d00,
+ 0x21054900,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x2103f400,
+ 0x2103f600,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x2103f400,
+ 0x2103f600,
0x69066a0e,
0x59148002,
- 0x21050d00,
+ 0x21054900,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2104c000,
- 0x2103f400,
+ 0x2104f400,
+ 0x2103f600,
0x69076a0e,
0x59148002,
- 0x21050d00,
+ 0x21054900,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2104ce00,
- 0x2103f400,
+ 0x21050200,
+ 0x2103f600,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21050d00,
+ 0x21054900,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2104dd00,
- 0x2103f400,
+ 0x21051100,
+ 0x2103f600,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21050d00,
+ 0x21054900,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x2104fc00,
+ 0x21053000,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2104f600,
- 0x2103f400,
+ 0x21052a00,
+ 0x2103f600,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21054900,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x2103f600,
0x240002d9,
0x1f047b7b,
- 0x2103f400,
+ 0x2103f600,
0x240010d9,
0x1f047b7b,
- 0x2103f400,
+ 0x2103f600,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x670b01fa,
- 0x2103f400,
- 0x2103f400,
- 0x2103f400,
- 0x2103f400,
- 0x2103f400,
- 0x2103f400,
+ 0x2103f600,
+ 0x2103f600,
+ 0x2103f600,
+ 0x2103f600,
+ 0x2103f600,
+ 0x2103f600,
0xc907ff00,
0x911007ca,
0x1d0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x21053000,
+ 0x21056c00,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21056200,
+ 0x21059e00,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21057400,
+ 0x2105b000,
0x00228686,
0xc901680a,
0x00224646,
- 0x21057400,
+ 0x2105b000,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x21059e00,
+ 0x2105da00,
0x2400012e,
- 0x21059e00,
+ 0x2105da00,
0x69050214,
0x1046462e,
0x81186787,
0x24ff00c2,
0x240000e1,
0xe1742281,
- 0x2103f400,
+ 0x2103f600,
0x24000c86,
0x2f0080c6,
- 0x2103f400,
+ 0x2103f600,
0x2eff8384,
0x81007b84,
0x209e0000 };
index 40d6d5ed9d239385860559a999ef2489fce6cb1d..256022863e9b9bbcadbb3fd8de00089385eeada2 100644 (file)
/* This file is generated by the PDSP assembler. */
const uint32_t in0_pdsp0[] = {
- 0x21002b00,
+ 0x21002c00,
0xbabe0000,
0x03000101,
0x2effa780,
0x8900fc80,
0x8950fc80,
0x81f07380,
+ 0x81d0f380,
0x240100f4,
0x240200f5,
0x00f4f5f5,
0x2400026a,
0x81c4338a,
0x209e0000,
- 0x2303239e,
+ 0x23032c9e,
0x24010182,
0x240300c2,
0x81043782,
0xd100ff00,
0x2300039e,
0x2eff819d,
- 0x2400001d,
- 0x8100177d,
+ 0x24000002,
+ 0x81001762,
0xc91fff06,
0x1f1fffff,
0x91f07381,
0x0101e1e1,
0x0300e2e2,
0x81f07381,
+ 0xc901ff08,
+ 0x91042481,
+ 0x17002141,
+ 0x10411d1d,
+ 0x12011d1d,
+ 0x240000e1,
+ 0x81042481,
+ 0x21004800,
0xc903ff07,
0x910c2481,
0x17002141,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x23006c9e,
- 0x21005300,
- 0x2302129e,
+ 0x2300759e,
+ 0x21005c00,
+ 0x23021b9e,
0x1d067d7d,
0xc9017d04,
0x93402e8e,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21006600,
+ 0x21006f00,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x2f04898e,
0x2f000184,
- 0x21006500,
- 0x21006600,
+ 0x21006e00,
+ 0x21006f00,
0xd1057d02,
0xd304ffe4,
- 0xcf057dd1,
+ 0xcf057dc9,
0xc910ff02,
- 0x21003900,
- 0x21057400,
+ 0x21003a00,
+ 0x2105b700,
0x2480089f,
0x0906c481,
0x92812088,
- 0x090a1dd9,
+ 0x240000d9,
0x12c4d9d9,
0x1f0fb6b6,
0xc9016806,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21008c00,
+ 0x21009500,
0x130d1717,
0x812608d7,
0x69004a04,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2100c600,
+ 0x2100cf00,
0xd1010106,
0x113f1700,
0x51030002,
0x00214949,
0x00018989,
0x24000042,
- 0x2100d800,
+ 0x2100e100,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x2100d800,
+ 0x2100e100,
0xc9026b04,
0x0b05da02,
0x00028989,
0x911008c1,
0x1d0f8181,
0x811008c1,
- 0x21014d00,
+ 0x21015600,
0x51016c6a,
0x51046c69,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x21010000,
+ 0x21010900,
0x2400012e,
- 0x21010000,
+ 0x21010900,
0x6905020e,
0x1049492e,
0xd10bb658,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21007b00,
+ 0x21008400,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x2402eb9e,
- 0x21018500,
+ 0x2402f49e,
+ 0x21018e00,
0x2480099f,
- 0x2402eb9e,
+ 0x2402f49e,
0xc909b603,
0x2400f081,
- 0x21017500,
+ 0x21017e00,
0xc908b605,
0x2400e081,
0x9081f486,
0x51066602,
- 0x21018500,
+ 0x21018e00,
0xd10fb605,
0x11033737,
0x13003737,
0x9100f486,
- 0x21018500,
+ 0x21018e00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e286,
- 0x21018500,
+ 0x21018e00,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2101ae00,
+ 0x2101b700,
0xd1010106,
0x113f1700,
0x51030002,
0x00214646,
0x00018686,
0x24000042,
- 0x2101c000,
+ 0x2101c900,
0x00228686,
0xc901680a,
0x00224646,
- 0x2101c000,
+ 0x2101c900,
0xc9026804,
0x0b057a02,
0x00028686,
0xc909b604,
0xc900020c,
0x01048181,
- 0x21022600,
+ 0x21022f00,
0xc908b604,
0xc901020b,
0x01148181,
- 0x21022600,
+ 0x21022f00,
0xc902020c,
0x01248181,
0x9081fc89,
- 0x21007a00,
+ 0x21008300,
0xc909b603,
0x2400f081,
- 0x21022d00,
+ 0x21023600,
0xc908b605,
0x2400e081,
0x9081f489,
0x51066902,
- 0x21007a00,
+ 0x21008300,
0xd10fb606,
0x11033737,
0x13003737,
0x812608d7,
0x9100f489,
- 0x21007a00,
+ 0x21008300,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e289,
- 0x21007a00,
+ 0x21008300,
0x0b069781,
0x110f8181,
0x240100c1,
0x00c18181,
0xc909b603,
0x01048181,
- 0x21024800,
+ 0x21025100,
0x01148181,
0x9081fc86,
- 0x2402eb9e,
- 0x21018500,
+ 0x2402f49e,
+ 0x21018e00,
0x91002481,
0x0101e1e1,
0x81002481,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x2102eb00,
+ 0x2102f400,
0x2480009f,
0x10ecece5,
0x24000804,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x2102eb00,
+ 0x2102f400,
0xc9015d38,
0x09032881,
0x51008136,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x23006c9e,
- 0x21028500,
- 0x2302129e,
+ 0x2300759e,
+ 0x21028e00,
+ 0x23021b9e,
0x1d067d7d,
0x2e85098e,
0xc907ff00,
0xd1016604,
0x81110726,
0x2400022e,
- 0x21029100,
+ 0x21029a00,
0x2400002e,
0x108686c5,
0x10464605,
0x1d000e0e,
0xd1017d03,
0x2f04898e,
- 0x21029c00,
+ 0x2102a500,
0x83402e8e,
0x1f000e0e,
0xc904ff00,
0x2eff8b96,
0x008f89d7,
0x108989db,
- 0x2102b500,
+ 0x2102be00,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402d19e,
- 0x21063300,
+ 0x2402da9e,
+ 0x21066a00,
0x24000104,
0x0508c9c4,
0x2f000184,
0x61100304,
0x1f007d7d,
0x240002de,
- 0x21030300,
+ 0x21030c00,
0x2eff8792,
0x2f018792,
0x2f020792,
0x11033737,
0x13143737,
0x240002de,
- 0x2102e400,
+ 0x2102ed00,
0x09010300,
0x90001580,
0x22c0009e,
0xc909b604,
0xc9000207,
0xc9030206,
- 0x2102e300,
+ 0x2102ec00,
0xc908b604,
0xc9010203,
0xc9040202,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21006800,
+ 0x21007100,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21006800,
+ 0x21007100,
0x1d047d7d,
0x1d077d7d,
0x2f04898e,
0x2f000384,
- 0x21006800,
+ 0x21007100,
0x1f047d7d,
0x510ade1b,
0xc9007d03,
0x1d007d7d,
- 0x21016e00,
+ 0x21017700,
0x5103de07,
0x5104de0a,
0x5105de0d,
0x5106de10,
0x5707de32,
0x0b0237de,
- 0x21016a00,
+ 0x21017300,
0x24402084,
0x24001864,
0x2400002e,
- 0x2102eb00,
+ 0x2102f400,
0x24402084,
0x24001864,
0x2400002e,
- 0x2102ef00,
+ 0x2102f800,
0x24402084,
0x24001864,
0x24000e2e,
- 0x2102eb00,
+ 0x2102f400,
0x24402084,
0x24001864,
0x24000d2e,
- 0x2102eb00,
+ 0x2102f400,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x2102eb00,
+ 0x2102f400,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x240578c8,
- 0x2405ee88,
- 0x240604c9,
- 0x24065d89,
- 0x24065fca,
- 0x2406618a,
- 0x240661cb,
- 0x2406618b,
- 0x240661cc,
- 0x2406618c,
- 0x240661cd,
- 0x2406618d,
- 0x240661ce,
- 0x24065b8e,
- 0x240618cf,
- 0x2406618f,
- 0x240661d0,
- 0x24066190,
- 0x240661d1,
- 0x24066191,
+ 0x2405bbc8,
+ 0x24062988,
+ 0x24063fc9,
+ 0x24069489,
+ 0x240696ca,
+ 0x2406988a,
+ 0x240698cb,
+ 0x2406988b,
+ 0x240698cc,
+ 0x2406988c,
+ 0x240698cd,
+ 0x2406988d,
+ 0x240698ce,
+ 0x2406928e,
+ 0x240651cf,
+ 0x2406988f,
+ 0x240698d0,
+ 0x24069890,
+ 0x240698d1,
+ 0x24069891,
0x8500f588,
0x248100c8,
0x2488a888,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x2103e900,
+ 0x2103f200,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x2103e900,
+ 0x2103f200,
0x81242e84,
0x1f057d7d,
- 0x2103e900,
+ 0x2103f200,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x2103e900,
+ 0x2103f200,
0x51006602,
- 0x2103e900,
+ 0x2103f200,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x2103e900,
+ 0x2103f200,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062733,
- 0x510c27a6,
- 0x530a2735,
- 0x53082731,
- 0x530b2731,
- 0x53092731,
+ 0x5306276d,
+ 0x510c27d8,
+ 0x530a276f,
+ 0x5308276b,
+ 0x530b276b,
+ 0x5309276b,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x2103e900,
- 0x21051600,
- 0x21039000,
- 0x21051300,
- 0x21051300,
+ 0x2103f200,
+ 0x21055900,
+ 0x21039900,
+ 0x21055600,
+ 0x21055600,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21040f00,
+ 0x21041800,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21040500,
+ 0x21040e00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21040f00,
+ 0x21041800,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x2102ef00,
- 0x2102ef00,
+ 0x2102f800,
+ 0x2102f800,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x2103e900,
+ 0x2103f200,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x2103e900,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x2103f200,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x2103e900,
+ 0x2103f200,
0x240018c4,
0x2f000384,
- 0x21050400,
+ 0x21054700,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21050100,
+ 0x21054400,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x2103e900,
+ 0x2103f200,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x2103e900,
+ 0x2103f200,
0x69036a0b,
0x59088002,
- 0x21050100,
+ 0x21054400,
0x2e80818e,
0x1d045d5d,
0xc9006e05,
0x1d055d5d,
0xc9016e02,
0x1f055d5d,
- 0x2103e900,
+ 0x2103f200,
0x69066a0e,
0x59148002,
- 0x21050100,
+ 0x21054400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2104b400,
- 0x2103e900,
+ 0x2104ef00,
+ 0x2103f200,
0x69076a0e,
0x59148002,
- 0x21050100,
+ 0x21054400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2104c200,
- 0x2103e900,
+ 0x2104fd00,
+ 0x2103f200,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21050100,
+ 0x21054400,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2104d100,
- 0x2103e900,
+ 0x21050c00,
+ 0x2103f200,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21050100,
+ 0x21054400,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x2104f000,
+ 0x21052b00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2104ea00,
- 0x2103e900,
+ 0x21052500,
+ 0x2103f200,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21054400,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x2103f200,
0x240002d9,
0x1f047b7b,
- 0x2103e900,
+ 0x2103f200,
0x240010d9,
0x1f047b7b,
- 0x2103e900,
+ 0x2103f200,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x2103e900,
- 0x2103e900,
- 0x2103e900,
- 0x2103e900,
- 0x2103e900,
- 0x2103e900,
+ 0x2103f200,
+ 0x2103f200,
+ 0x2103f200,
+ 0x2103f200,
+ 0x2103f200,
+ 0x2103f200,
0x24000c86,
0x2f0080c6,
- 0x2103e900,
+ 0x2103f200,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b41,
- 0x21055800,
+ 0x21059b00,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b39,
- 0x21055800,
+ 0x21059b00,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x21055800,
+ 0x21059b00,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21053a00,
+ 0x21057d00,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x21055800,
+ 0x21059b00,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x21056000,
+ 0x2105a300,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x2103e900,
+ 0x2103f200,
0x83242e84,
0x1f057d7d,
- 0x2103e900,
+ 0x2103f200,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x2103e900,
+ 0x2103f200,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x2103e900,
+ 0x2103f200,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x21053e00,
+ 0x21058100,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21006a00,
+ 0x21007300,
0x1f009999,
0xc907ff00,
0x24000001,
0x68e08606,
0x68e0c705,
0x1d09b6b6,
- 0x1d026a6a,
0x1f08b6b6,
+ 0x1d026a6a,
0x1f036a6a,
0x9140f592,
0x240002c4,
0x2e80858e,
0x2405dce3,
0x48e3ce17,
- 0x69aa2e50,
- 0x69aa0e4f,
- 0x69036f4e,
+ 0x69aa2e3f,
+ 0x69aa0e3e,
+ 0x69036f3d,
0xc9065d0f,
0x592ece0e,
0x5140d70d,
0x111f0101,
0x68013003,
0x2480159f,
- 0x2105eb00,
+ 0x21061d00,
0x011010c1,
0x80c13991,
0x81011961,
- 0x2105eb00,
+ 0x21061d00,
0x1f039999,
0x1f056a6a,
0x10d0d0ce,
0x2f000384,
0x00c41616,
0x240001de,
- 0x68d3ce05,
- 0x2e808086,
- 0x0b02463a,
- 0x24000303,
- 0x209e0000,
- 0x6893ce06,
- 0x2e808186,
- 0x0b04c63a,
- 0x0b023a3a,
- 0x24000403,
- 0x209e0000,
- 0x68d2ce05,
+ 0x68d3ce02,
+ 0x21062000,
+ 0x6893ce02,
+ 0x21062400,
+ 0x68d2ce03,
0x1f006a6a,
- 0x240000de,
- 0x24000103,
- 0x209e0000,
- 0x6892ce05,
+ 0x21062900,
+ 0x6892ce03,
0x1f016a6a,
- 0x240000de,
- 0x24000103,
- 0x209e0000,
- 0x68d4ce04,
- 0x240000de,
- 0x24000203,
- 0x209e0000,
- 0x6894ce04,
- 0x240000de,
- 0x24000203,
- 0x209e0000,
- 0x68d5ce04,
- 0x240000de,
- 0x24000e03,
- 0x209e0000,
+ 0x21062900,
+ 0x68d4ce02,
+ 0x21063f00,
+ 0x6894ce02,
+ 0x21063f00,
+ 0x68d5ce02,
+ 0x21065100,
0x6895ce03,
0x1f049999,
0x1f046a6a,
0x11f04700,
0x69300003,
0x13603737,
- 0x2105ec00,
+ 0x21061e00,
0x2f02878a,
0x209e0000,
0x2480079f,
0x13143737,
0x240002de,
0x209e0000,
+ 0x2e808486,
+ 0x0b02463a,
+ 0x24000303,
+ 0x209e0000,
+ 0x2e808186,
+ 0x0b04c63a,
+ 0x0b023a3a,
+ 0x24000403,
+ 0x209e0000,
0x1f019999,
0x0b061a80,
0x91a01382,
0x10cececb,
0x110f6b6b,
0x0b0dce8c,
- 0x21060000,
+ 0x21063b00,
0x10cece8b,
0x110f2b2b,
0x0b0dcecd,
0x01021616,
0x240002c4,
0x2f000384,
- 0x21059600,
+ 0x2105d900,
0x1f029999,
0x24800e9f,
0x2e80838e,
0x240004c4,
0x2f000384,
0x240001de,
- 0xc908ee08,
+ 0xc908ee06,
0x0b046f00,
- 0x69040003,
- 0x24000303,
- 0x209e0000,
- 0x69060003,
- 0x24000403,
- 0x209e0000,
+ 0x69040002,
+ 0x21062000,
+ 0x69060002,
+ 0x21062400,
0x24001003,
0x209e0000,
0x2e80838e,
0xc9075d03,
- 0x69116e15,
- 0x69004e14,
+ 0x69116e13,
+ 0x69004e12,
0x1f049999,
0x1f046a6a,
0x108e8e89,
0x00cf16d7,
0x240001de,
0x24002180,
- 0x68808f04,
+ 0x68808f03,
0x01021616,
- 0x24000303,
- 0x209e0000,
+ 0x21062000,
0x24005780,
- 0x68808f04,
+ 0x68808f03,
0x01021616,
- 0x24000403,
- 0x209e0000,
+ 0x21062400,
0x135c3737,
- 0x21063000,
+ 0x21066700,
0x13583737,
0x240002de,
0x24001003,
0xc9012f04,
0x10cececb,
0x108e8e8b,
- 0x21064300,
+ 0x21067a00,
0x1f026a6a,
0x11ffcecb,
0x11ff8e8b,
0xc9022f04,
0x10cececb,
0x108e8e8b,
- 0x21065400,
+ 0x21068b00,
0x1f026a6a,
0x11ffcecb,
0x11ff8e8b,
index d5a658d5b13849eb59aaae076b06a94893db2ece..ce02385ddcec1336b276272ec75b90678476869c 100644 (file)
0x21000300,
0xbabe0001,
0x03000101,
- 0x2302989e,
+ 0x2302eb9e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400011d,
- 0x8100177d,
+ 0x24000102,
+ 0x81001762,
+ 0xc901ff08,
+ 0x91042481,
+ 0x17002141,
+ 0x10411d1d,
+ 0x12011d1d,
+ 0x240000e1,
+ 0x81042481,
+ 0x21001800,
0xc903ff07,
0x910c2481,
0x11f85d5d,
0x1021213d,
0x240000e1,
0x810c2481,
- 0xc9067d22,
+ 0xc9067d28,
0xc9077d02,
0xd110ff00,
- 0xd110ff1f,
+ 0xd110ff25,
0x2e810384,
0x2e86098e,
0xc905ff00,
0xd106ff00,
0x93202896,
- 0xc9000403,
- 0x23003f9e,
- 0x21002400,
- 0x2300649e,
+ 0xc9000406,
+ 0xc9001d03,
+ 0x2302aa9e,
+ 0x21003200,
+ 0x23004d9e,
+ 0x21003200,
+ 0xc9001d03,
+ 0x2302ea9e,
+ 0x21003200,
+ 0x2300729e,
0x1d067d7d,
0xc9077d14,
0x1d077d7d,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21003900,
+ 0x21004700,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x24002404,
0x2f04898e,
0x2f000184,
- 0x21003800,
- 0x21003900,
+ 0x21004600,
+ 0x21004700,
0xd1057d02,
- 0xd304ffc1,
- 0xcf057dd5,
+ 0xd304ffab,
+ 0xcf057dc7,
0xc910ff02,
0x21001000,
- 0x2104c600,
+ 0x21056300,
0x0906c481,
0x92812088,
0x10c8c89f,
0x106a6a2e,
0x244023e4,
0x24001864,
- 0x21005b00,
+ 0x21006900,
0xd1015d04,
0x2400002e,
0x240391c5,
- 0x21005300,
+ 0x21006100,
0x2400012e,
0x240011c5,
0x246023e4,
0x51006904,
0x24000b6a,
0x2400000a,
- 0x21004400,
+ 0x21005200,
0x2400002e,
0x2f04898e,
0x246023e4,
0x51026904,
0x1f060e0e,
0x240020e4,
- 0x21025f00,
+ 0x21027100,
0x24000b2e,
0x244020e4,
0x24001864,
- 0x21025f00,
+ 0x21027100,
0x2400002e,
0x24602084,
0x24001864,
0x10494905,
0x811207c9,
- 0x21025f00,
+ 0x21027100,
0x10d7d794,
0x24000f42,
0x6902691b,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21009300,
+ 0x2100a100,
0x130d1717,
0x812608d7,
0xc9000a03,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2100c800,
+ 0x2100d600,
0xd1010105,
0x11071a00,
0x51000003,
0x00214949,
0x00018989,
0x24000042,
- 0x2100da00,
+ 0x2100e800,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x2100da00,
+ 0x2100e800,
0xc9026b04,
0x0b05da02,
0x00028989,
0x24002002,
0x2400002e,
0xc905b602,
- 0x21013800,
+ 0x21014600,
0x51016c56,
0x51046c55,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x2100ff00,
+ 0x21010d00,
0x2400012e,
- 0x2100ff00,
+ 0x21010d00,
0x6905020e,
0x1049492e,
0xd10bb644,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21008200,
+ 0x21009000,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x24025f9e,
- 0x21016f00,
- 0x24025f9e,
- 0xc909b603,
- 0x2400f081,
- 0x21015f00,
- 0xc908b605,
- 0x2400e081,
- 0x9081f486,
- 0x51066602,
- 0x21016f00,
- 0xd10fb605,
- 0x11033737,
- 0x13003737,
- 0x9100f486,
- 0x21016f00,
- 0x0b0ad941,
- 0x10d9d981,
- 0x11032121,
- 0x09068181,
- 0x09024141,
- 0x90413882,
- 0xf081e286,
- 0x21016f00,
+ 0x2402719e,
+ 0x21016700,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21019700,
+ 0x21018f00,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x2101a900,
+ 0x2101a100,
0x00228686,
0xc901680a,
0x00224646,
- 0x2101a900,
+ 0x2101a100,
0xc9026804,
0x0b057a02,
0x00028686,
0x81002481,
0x2e808f86,
0x2e84098e,
+ 0xc9001d1a,
+ 0x24000804,
+ 0x2f000184,
+ 0x242031e4,
+ 0x2f000184,
+ 0x2e808b96,
+ 0x0b057601,
+ 0x5304016a,
+ 0x24000104,
+ 0x0508c9c4,
+ 0x2f000184,
+ 0x24000c04,
+ 0x2f000184,
+ 0x2f05098e,
+ 0x2eff8390,
+ 0xc9025d03,
+ 0x24000010,
+ 0x21020b00,
+ 0x24000b10,
+ 0xc907ff00,
+ 0x81386790,
+ 0x2eff8792,
+ 0x2f018792,
+ 0x2f020792,
+ 0x2f028792,
+ 0x21056700,
0xc90fca09,
0x1d0fcaca,
0x2f00808a,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21025f00,
+ 0x21027100,
0x2480009f,
0x24000804,
0x2f000184,
0x2e808b96,
0x0b057601,
0x51000114,
- 0x510401f6,
+ 0x53040141,
0x2480139f,
0x1f060e0e,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21025f00,
- 0x21021800,
+ 0x21027100,
+ 0x21022a00,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21022e00,
+ 0x21024000,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402579e,
- 0x2104cd00,
+ 0x2402699e,
+ 0x21065400,
0x24000104,
0x0508c9c4,
0x2f000184,
0x11033737,
0x1016161c,
0x1f037d7d,
- 0x21024100,
+ 0x21025300,
0x1f007d7d,
0x240002de,
0xc907ff00,
0x24001876,
0x83206796,
- 0x21027900,
+ 0x21028b00,
0x2eff8390,
0xc9025d03,
0x24000010,
- 0x21024600,
+ 0x21025800,
0x24000b10,
0xc907ff00,
0x81386790,
0x11033737,
0x13143737,
0x240002de,
- 0x21025800,
+ 0x21026a00,
0x09010300,
0x90001580,
0x22c0009e,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21003b00,
+ 0x21004900,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21003b00,
+ 0x21004900,
0x1d047d7d,
0x1d077d7d,
0x9110078a,
0x1f070e0e,
0x2f04898e,
0x2f000384,
- 0x21003b00,
+ 0x21004900,
0x1f047d7d,
0x510ade1a,
0xc9007d03,
0x1d007d7d,
- 0x21007100,
+ 0x21007f00,
0x5103de06,
0x5104de09,
0x5105de0c,
0x5106de0f,
0x0b0237de,
- 0x21015500,
+ 0x21016300,
0x24402084,
0x24001864,
0x2400002e,
- 0x21025f00,
+ 0x21027100,
0x24402084,
0x24001864,
0x2400002e,
- 0x21025f00,
+ 0x21027100,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21025f00,
+ 0x21027100,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21025f00,
+ 0x21027100,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21025f00,
+ 0x21027100,
+ 0x2480089f,
+ 0x0906c481,
+ 0x92812088,
+ 0x240400d9,
+ 0x12c4d9d9,
+ 0x1f0fb6b6,
+ 0x812108b6,
+ 0x812c0899,
+ 0x10d7d794,
+ 0x8118288a,
+ 0xc904380e,
+ 0x60782b06,
+ 0x48782b04,
+ 0x51275804,
+ 0x51285803,
+ 0x51015802,
+ 0x1f023838,
+ 0xc9033807,
+ 0x2400002e,
+ 0x2f04898e,
+ 0x24602384,
+ 0x24001864,
+ 0x811208c9,
+ 0x10494905,
+ 0xd102380b,
+ 0x10cbcbd4,
+ 0x91001993,
+ 0x01045301,
+ 0x111f0101,
+ 0x68017303,
+ 0x2480159f,
+ 0x2102ce00,
+ 0x011053c1,
+ 0x80c13994,
+ 0x81011961,
+ 0xd1033810,
+ 0xc9013813,
+ 0xd1005d04,
+ 0x244023e4,
+ 0x24002064,
+ 0x2102dd00,
+ 0xd1015d04,
+ 0x2400002e,
+ 0x240391c5,
+ 0x2102d900,
+ 0x2400012e,
+ 0x240011c5,
+ 0x246023e4,
+ 0x81120885,
+ 0x24002064,
+ 0x103d3d05,
+ 0x240000f8,
+ 0x2f04898e,
+ 0x2f000384,
+ 0x209e0000,
+ 0x510b2e04,
+ 0x244023e4,
+ 0x24002064,
+ 0x2102dd00,
+ 0xcf0038f8,
+ 0x24000d2e,
+ 0x244023e4,
+ 0x24002064,
+ 0x2102dd00,
+ 0x2102ce00,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x2eff9183,
0x24000664,
0x24000668,
+ 0x8300b083,
0x244000e2,
0x84c22083,
0x0140c2c2,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404cac8,
- 0x2404cd88,
- 0x2404cdc9,
- 0x2404d289,
- 0x240509ca,
- 0x24052b8a,
- 0x240544cb,
- 0x2405508b,
- 0x240568cc,
- 0x2405748c,
- 0x2405a0cd,
- 0x2405a28d,
- 0x2405a2ce,
- 0x2404d08e,
- 0x2404cdcf,
- 0x2405a48f,
- 0x2405d0d0,
- 0x2405be90,
- 0x2405c4d1,
- 0x2405ca91,
+ 0x240567c8,
+ 0x24062588,
+ 0x240632c9,
+ 0x24065989,
+ 0x240690ca,
+ 0x2406b28a,
+ 0x2406cbcb,
+ 0x2406d78b,
+ 0x2406efcc,
+ 0x2406fb8c,
+ 0x240727cd,
+ 0x2407298d,
+ 0x240729ce,
+ 0x2406578e,
+ 0x240641cf,
+ 0x24072b8f,
+ 0x240757d0,
+ 0x24074590,
+ 0x24074bd1,
+ 0x24075191,
0x8500f588,
+ 0x248100c8,
+ 0x2488a888,
+ 0x240800c9,
+ 0x2486dd89,
+ 0x248847ca,
+ 0x2488488a,
+ 0x248864cb,
+ 0x2488638b,
+ 0x8140f588,
0x24505084,
0x108484c4,
0x10e4e4e5,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21034400,
+ 0x2103a100,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21034400,
+ 0x2103a100,
0x81242e84,
0x1f057d7d,
- 0x21034400,
+ 0x2103a100,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21034400,
+ 0x2103a100,
0x51006602,
- 0x21034400,
+ 0x2103a100,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21034400,
+ 0x2103a100,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062728,
- 0x510c27a6,
- 0x530a272a,
- 0x53082726,
- 0x530b2726,
- 0x53092726,
+ 0x53062762,
+ 0x510c27d8,
+ 0x530a2764,
+ 0x53082760,
+ 0x530b2760,
+ 0x53092760,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21034400,
- 0x21046600,
- 0x2102eb00,
- 0x21046300,
- 0x21046300,
+ 0x2103a100,
+ 0x2104fd00,
+ 0x21034800,
+ 0x2104fa00,
+ 0x2104fa00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21036a00,
+ 0x2103c700,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21036000,
+ 0x2103bd00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21036a00,
+ 0x2103c700,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21025f00,
- 0x21025f00,
+ 0x21027100,
+ 0x21027100,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21034400,
+ 0x2103a100,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21034400,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x2103a100,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21034400,
+ 0x2103a100,
0x240018c4,
0x2f000384,
- 0x21045400,
+ 0x2104eb00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21045100,
+ 0x2104e800,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21034400,
+ 0x2103a100,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21034400,
+ 0x2103a100,
0x69066a0e,
0x59148002,
- 0x21045100,
+ 0x2104e800,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21040400,
- 0x21034400,
+ 0x21049300,
+ 0x2103a100,
0x69076a0e,
0x59148002,
- 0x21045100,
+ 0x2104e800,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21041200,
- 0x21034400,
+ 0x2104a100,
+ 0x2103a100,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21045100,
+ 0x2104e800,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21042100,
- 0x21034400,
+ 0x2104b000,
+ 0x2103a100,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21045100,
+ 0x2104e800,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21044000,
+ 0x2104cf00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21043a00,
- 0x21034400,
+ 0x2104c900,
+ 0x2103a100,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x2104e800,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x2103a100,
0x240002d9,
0x1f047b7b,
- 0x21034400,
+ 0x2103a100,
0x240010d9,
0x1f047b7b,
- 0x21034400,
+ 0x2103a100,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21034400,
- 0x21034400,
- 0x21034400,
- 0x21034400,
- 0x21034400,
- 0x21034400,
+ 0x2103a100,
+ 0x2103a100,
+ 0x2103a100,
+ 0x2103a100,
+ 0x2103a100,
+ 0x2103a100,
0x24000c86,
0x2f0080c6,
- 0x21034400,
+ 0x2103a100,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
- 0xc9037b43,
- 0x2104aa00,
+ 0xc9037b49,
+ 0x21054700,
0x91200e61,
+ 0xc9001d04,
+ 0x240100c0,
+ 0x68c0ca17,
+ 0x21050d00,
0x10cacacd,
0x1f0fcdcd,
0x0101cd8d,
0x27000121,
0x69202104,
0x24000400,
- 0xc9037b39,
- 0x2104aa00,
+ 0xc9037b3b,
+ 0x21054700,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x2700e203,
0x69200304,
0x24000400,
- 0xc9037b31,
- 0x2104aa00,
+ 0xc9037b33,
+ 0x21054700,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21048c00,
+ 0x21052700,
0x60c0ca04,
0x24000400,
- 0xc9037b29,
- 0x2104aa00,
+ 0xc9037b2b,
+ 0x21054700,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x2104b200,
+ 0x21054f00,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0x00ca9191,
0x2f0080d1,
0x24000104,
+ 0xc9001d02,
+ 0x24000204,
0x10cacac4,
0x24000024,
0x10e9e9e5,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21034400,
+ 0x2103a100,
0x83242e84,
0x1f057d7d,
- 0x21034400,
+ 0x2103a100,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21034400,
+ 0x2103a100,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21034400,
+ 0x2103a100,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x21049000,
+ 0x21052b00,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21003d00,
- 0x2105d700,
+ 0x21004b00,
+ 0xd1001d02,
+ 0x21075e00,
+ 0x24000038,
+ 0x24000018,
+ 0x2eff878a,
+ 0x1028284c,
+ 0x1f076c6c,
+ 0x2e808586,
+ 0x1047474a,
+ 0x248000c9,
+ 0x2f018786,
+ 0x010c1818,
+ 0x24000004,
+ 0x24000cc4,
+ 0x2f000384,
+ 0xc908c608,
+ 0x1f026a6a,
+ 0x24ffffe0,
+ 0x68e0c605,
+ 0x68e08604,
+ 0x68e0c703,
+ 0x1d026a6a,
+ 0x1f036a6a,
+ 0x9140f592,
+ 0x240002c4,
+ 0x2e80858e,
+ 0x2405dce3,
+ 0x48e3ce07,
+ 0x69aa2e61,
+ 0x69aa0e60,
+ 0x69036f5f,
+ 0x1f056a6a,
+ 0x10d0d0ce,
+ 0x0108c4c4,
+ 0x10cecec9,
+ 0x2f018089,
+ 0x2f02878a,
+ 0x2f000384,
+ 0x00c41818,
+ 0x240001de,
+ 0x68d3ce02,
+ 0x2105e800,
+ 0x6893ce02,
+ 0x2105fa00,
+ 0x68d2ce03,
+ 0x1f006a6a,
+ 0x21062500,
+ 0x6892ce03,
+ 0x1f016a6a,
+ 0x21062500,
+ 0x68d4ce02,
+ 0x21063200,
+ 0x6894ce02,
+ 0x21063200,
+ 0x68d5ce02,
+ 0x21064100,
+ 0x6895ce02,
+ 0x1f046a6a,
+ 0x24890280,
+ 0x6880ce1a,
+ 0x69016619,
+ 0x69804618,
+ 0x69c22617,
+ 0x69000616,
+ 0x69006715,
+ 0x11f04700,
+ 0x69300013,
+ 0x1f043838,
+ 0x2e808186,
+ 0x0b056678,
+ 0x10464658,
+ 0x692a4603,
+ 0x1f033838,
+ 0x2105bc00,
+ 0x692b4603,
+ 0x1f033838,
+ 0x2105bc00,
+ 0x692d4603,
+ 0x1f033838,
+ 0x2105bc00,
+ 0x692e4603,
+ 0x1f033838,
+ 0x2105bc00,
+ 0x692f4602,
+ 0x1f033838,
+ 0x24000ce1,
+ 0x90e13083,
+ 0x5100c325,
+ 0x68cec303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x51008321,
+ 0x68ce8303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x0104e1e1,
+ 0x90e13083,
+ 0x5100c31b,
+ 0x68cec303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x51008317,
+ 0x68ce8303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x0104e1e1,
+ 0x90e13083,
+ 0x5100c311,
+ 0x68cec303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x5100830d,
+ 0x68ce8303,
+ 0x1f023838,
+ 0x2105e300,
+ 0x0104e1e1,
+ 0x90e13083,
+ 0x5100c307,
+ 0x6ecec3e5,
+ 0x1f023838,
+ 0x2105e300,
+ 0x51008303,
+ 0x68ce8302,
+ 0x1f023838,
+ 0x21026a00,
+ 0x2480079f,
+ 0x13143737,
0x240002de,
0x209e0000,
- 0x2105d700,
+ 0x2e808986,
+ 0x1f037d7d,
+ 0x1f003838,
+ 0x91386790,
+ 0x101818d0,
+ 0x243fff83,
+ 0x10838783,
+ 0x51008305,
+ 0x1d0d8383,
+ 0x51008302,
+ 0x1d037d7d,
+ 0x1f071010,
+ 0x81386790,
+ 0x69324802,
+ 0x1f013838,
+ 0x69334802,
+ 0x1f013838,
+ 0x21026a00,
+ 0x1f003838,
+ 0x1f037d7d,
+ 0x91386790,
+ 0x101818d0,
+ 0x010618d1,
+ 0x01281818,
+ 0xd101b604,
+ 0xc9005d03,
+ 0x81386790,
+ 0x21062000,
+ 0x2e808386,
+ 0x2eff8186,
+ 0x10272766,
+ 0x24002846,
+ 0x24000004,
+ 0x104646c4,
+ 0x2f000384,
+ 0x512c660c,
+ 0x51006605,
+ 0x512b6604,
+ 0x513c6603,
+ 0x513b6602,
+ 0x21061e00,
+ 0x2e808186,
+ 0x01014646,
+ 0x09034646,
+ 0x101818d1,
+ 0x00461818,
+ 0x21060900,
+ 0x2e808386,
+ 0x0b038683,
+ 0x51008303,
+ 0x1d09caca,
+ 0x1d037d7d,
+ 0x10181891,
+ 0x1f071010,
+ 0xc9005d02,
+ 0x81386790,
+ 0x69322702,
+ 0x1f013838,
+ 0x69332702,
+ 0x1f013838,
+ 0x21026a00,
+ 0x2e80808e,
+ 0xc9006a05,
+ 0x10cececb,
+ 0x110f6b6b,
+ 0x0b0dce8c,
+ 0x21062e00,
+ 0x10cece8b,
+ 0x110f2b2b,
+ 0x0b0dcecd,
+ 0x01021818,
+ 0x240002c4,
+ 0x2f000384,
+ 0x21057f00,
+ 0x2e80838e,
+ 0x0b0ceeee,
+ 0x2f02018e,
+ 0x1f066a6a,
+ 0x01041818,
+ 0x240004c4,
+ 0x2f000384,
+ 0x240001de,
+ 0xc908ee06,
+ 0x0b046f00,
+ 0x69040002,
+ 0x2105e800,
+ 0x69060002,
+ 0x2105fa00,
+ 0x21026a00,
+ 0x2e80838e,
+ 0xc9075d03,
+ 0x69116e10,
+ 0x69004e0f,
+ 0x1f046a6a,
+ 0x108e8e89,
+ 0x2f0180c9,
+ 0x01061818,
+ 0x240001de,
+ 0x24002180,
+ 0x68808f03,
+ 0x01021818,
+ 0x2105e800,
+ 0x24005780,
+ 0x68808f03,
+ 0x01021818,
+ 0x2105fa00,
+ 0x21065300,
+ 0x21026a00,
+ 0x21075e00,
0x240002de,
0x209e0000,
0x240002de,
0x209e0000,
0x11033737,
0x13143737,
- 0x21050700,
- 0x2105d700,
+ 0x21068e00,
+ 0x21075e00,
0x11033737,
0x13643737,
0x240002de,
0x01016ec4,
0x2f000384,
0x00c4c0c0,
- 0x21053300,
+ 0x2106ba00,
0x1066664c,
0x2f02802c,
0x90661261,
index 016e165bca58165318d682f4704a3a1c9709015f..c062b047df2b40805279d712512a64916669fbae 100644 (file)
0x21000300,
0xbabe0002,
0x03000101,
- 0x2302949e,
+ 0x2302969e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400021d,
- 0x8100177d,
- 0xc901ff13,
+ 0x24000202,
+ 0x81001762,
+ 0xc901ff15,
+ 0x91040461,
+ 0x51010101,
0x24000680,
0x51028003,
0x2400a481,
- 0x21001600,
+ 0x21001800,
0x2400a881,
0x9081338e,
0x9100b18f,
0x69006e04,
0x1d037d7d,
0x2eff858f,
- 0x21002000,
+ 0x21002200,
0x1f037d7d,
0x106e6e6f,
0x108e8ed0,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x23004c9e,
- 0x21003700,
- 0x2301f19e,
+ 0x23004e9e,
+ 0x21003900,
+ 0x2301f39e,
0x1d067d7d,
0xc9077d0e,
0x1d077d7d,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21004600,
+ 0x21004800,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x2f04898e,
0x2f000184,
- 0x21004500,
- 0x21004600,
+ 0x21004700,
+ 0x21004800,
0xd1057d02,
0xd304ffc1,
- 0xcf057dc8,
+ 0xcf057dc6,
0xc910ff02,
0x21001000,
- 0x2104d300,
+ 0x21050f00,
0x2480089f,
0x0906c481,
0x92812088,
- 0x090a1dd9,
+ 0x240800d9,
0x12c4d9d9,
0x1f0fb6b6,
0xc9016806,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21006c00,
+ 0x21006e00,
0x130d1717,
0x812608d7,
0x690b6a04,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2100a500,
+ 0x2100a700,
0xd1010105,
0x11071a00,
0x51000003,
0x00214949,
0x00018989,
0x24000042,
- 0x2100b700,
+ 0x2100b900,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x2100b700,
+ 0x2100b900,
0xc9026b04,
0x0b05da02,
0x00028989,
0x911008c1,
0x1d0f8181,
0x811008c1,
- 0x21012d00,
+ 0x21012f00,
0x51016c6b,
0x51046c6a,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x2100df00,
+ 0x2100e100,
0x2400012e,
- 0x2100df00,
+ 0x2100e100,
0x6905020e,
0x1049492e,
0xd10bb659,
0x51030004,
0x51040003,
0x10787817,
- 0x21011a00,
+ 0x21011c00,
0x10161617,
0x8120e896,
0x2f04898e,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21005b00,
+ 0x21005d00,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x24025d9e,
- 0x21016500,
+ 0x24025f9e,
+ 0x21016700,
0x2480099f,
- 0x24025d9e,
+ 0x24025f9e,
0xc909b603,
0x2400f081,
- 0x21015500,
+ 0x21015700,
0xc908b605,
0x2400e081,
0x9081f486,
0x51066602,
- 0x21016500,
+ 0x21016700,
0xd10fb605,
0x11033737,
0x13003737,
0x9100f486,
- 0x21016500,
+ 0x21016700,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e286,
- 0x21016500,
+ 0x21016700,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21018d00,
+ 0x21018f00,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21019f00,
+ 0x2101a100,
0x00228686,
0xc901680a,
0x00224646,
- 0x21019f00,
+ 0x2101a100,
0xc9026804,
0x0b057a02,
0x00028686,
0x2480099f,
0xc909b603,
0x2400f081,
- 0x2101f700,
+ 0x2101f900,
0xc908b605,
0x2400e081,
0x9081f489,
0x51066902,
- 0x21005a00,
+ 0x21005c00,
0xd10fb606,
0x11033737,
0x13003737,
0x812608d7,
0x9100f489,
- 0x21005a00,
+ 0x21005c00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e289,
- 0x21005a00,
+ 0x21005c00,
0x91002481,
0x0101e1e1,
0x81002481,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21025d00,
+ 0x21025f00,
0x2480009f,
0x24000804,
0x2f000184,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21025d00,
+ 0x21025f00,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21023800,
+ 0x21023a00,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402549e,
- 0x2104d900,
+ 0x2402569e,
+ 0x21051500,
0x24000104,
0x0508c9c4,
0x2f000184,
0x61100304,
0x1f007d7d,
0x240002de,
- 0x21027500,
+ 0x21027700,
0x2eff8792,
0x2f018792,
0x2f020792,
0x11033737,
0x13143737,
0x240002de,
- 0x21025600,
+ 0x21025800,
0x09010300,
0x90001580,
0x22c0009e,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21004800,
+ 0x21004a00,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21004800,
+ 0x21004a00,
0x1d047d7d,
0x1d077d7d,
0x2f04898e,
0x2f000384,
- 0x21004800,
+ 0x21004a00,
0x1f047d7d,
0x510ade1a,
0xc9007d03,
0x1d007d7d,
- 0x21014e00,
+ 0x21015000,
0x5103de06,
0x5104de09,
0x5105de0c,
0x5106de0f,
0x0b0237de,
- 0x21014a00,
+ 0x21014c00,
0x24402084,
0x24001864,
0x2400002e,
- 0x21025d00,
+ 0x21025f00,
0x24402084,
0x24001864,
0x2400002e,
- 0x21026100,
+ 0x21026300,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21025d00,
+ 0x21025f00,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21025d00,
+ 0x21025f00,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21025d00,
+ 0x21025f00,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404d7c8,
- 0x2404d988,
- 0x2404d9c9,
- 0x2404fc89,
- 0x24058fca,
- 0x2406188a,
- 0x240630cb,
- 0x24063b8b,
- 0x24064ccc,
- 0x2406578c,
- 0x240681cd,
- 0x24068a8d,
- 0x24068ace,
- 0x2404db8e,
- 0x2404d9cf,
- 0x2406a58f,
- 0x2406bdd0,
- 0x2406bd90,
- 0x2406bdd1,
- 0x2406bd91,
+ 0x240513c8,
+ 0x24051588,
+ 0x240515c9,
+ 0x24053889,
+ 0x2405cbca,
+ 0x2406548a,
+ 0x24066ccb,
+ 0x2406778b,
+ 0x240688cc,
+ 0x2406938c,
+ 0x2406bdcd,
+ 0x2406c68d,
+ 0x2406c6ce,
+ 0x2405178e,
+ 0x240515cf,
+ 0x2406e18f,
+ 0x2406f9d0,
+ 0x2406f990,
+ 0x2406f9d1,
+ 0x2406f991,
0x8500f588,
0x24505084,
0x108484c4,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035300,
+ 0x21035500,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21035300,
+ 0x21035500,
0x81242e84,
0x1f057d7d,
- 0x21035300,
+ 0x21035500,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21035300,
+ 0x21035500,
0x51006602,
- 0x21035300,
+ 0x21035500,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21035300,
+ 0x21035500,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062728,
- 0x510c27a6,
- 0x530a272a,
- 0x53082726,
- 0x530b2726,
- 0x53092726,
+ 0x53062762,
+ 0x510c27d8,
+ 0x530a2764,
+ 0x53082760,
+ 0x530b2760,
+ 0x53092760,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21035300,
- 0x21047500,
- 0x2102fa00,
- 0x21047200,
- 0x21047200,
+ 0x21035500,
+ 0x2104b100,
+ 0x2102fc00,
+ 0x2104ae00,
+ 0x2104ae00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21037900,
+ 0x21037b00,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21036f00,
+ 0x21037100,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21037900,
+ 0x21037b00,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21026100,
- 0x21026100,
+ 0x21026300,
+ 0x21026300,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21035300,
+ 0x21035500,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21035300,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21035500,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21035300,
+ 0x21035500,
0x240018c4,
0x2f000384,
- 0x21046300,
+ 0x21049f00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21046000,
+ 0x21049c00,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21035300,
+ 0x21035500,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21035300,
+ 0x21035500,
0x69066a0e,
0x59148002,
- 0x21046000,
+ 0x21049c00,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21041300,
- 0x21035300,
+ 0x21044700,
+ 0x21035500,
0x69076a0e,
0x59148002,
- 0x21046000,
+ 0x21049c00,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21042100,
- 0x21035300,
+ 0x21045500,
+ 0x21035500,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21046000,
+ 0x21049c00,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21043000,
- 0x21035300,
+ 0x21046400,
+ 0x21035500,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21046000,
+ 0x21049c00,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21044f00,
+ 0x21048300,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21044900,
- 0x21035300,
+ 0x21047d00,
+ 0x21035500,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21049c00,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21035500,
0x240002d9,
0x1f047b7b,
- 0x21035300,
+ 0x21035500,
0x240010d9,
0x1f047b7b,
- 0x21035300,
+ 0x21035500,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21035300,
- 0x21035300,
- 0x21035300,
- 0x21035300,
- 0x21035300,
- 0x21035300,
+ 0x21035500,
+ 0x21035500,
+ 0x21035500,
+ 0x21035500,
+ 0x21035500,
+ 0x21035500,
0x24000c86,
0x2f0080c6,
- 0x21035300,
+ 0x21035500,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b41,
- 0x2104b700,
+ 0x2104f300,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b39,
- 0x2104b700,
+ 0x2104f300,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x2104b700,
+ 0x2104f300,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21049900,
+ 0x2104d500,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x2104b700,
+ 0x2104f300,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x2104bf00,
+ 0x2104fb00,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21035300,
+ 0x21035500,
0x83242e84,
0x1f057d7d,
- 0x21035300,
+ 0x21035500,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035300,
+ 0x21035500,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21035300,
+ 0x21035500,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x21049d00,
+ 0x2104d900,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21004a00,
+ 0x21004c00,
0x240002de,
0x209e0000,
0x240002de,
0x2eff8792,
0xd102b603,
0x10d9d995,
- 0x21051600,
+ 0x21055200,
0x10dada95,
0x111f3535,
0x1d02b6b6,
0x2700ea01,
0x69200103,
0x1f08b6b6,
- 0x21054100,
+ 0x21057d00,
0x61e06a03,
0x49ef6a02,
0x1f09b6b6,
0x209e0000,
0x11033737,
0x13143737,
- 0x21055200,
+ 0x21058e00,
0x11033737,
0x13643737,
0x240002de,
0x6e484bf9,
0x01016b6b,
0x808e100b,
- 0x21057600,
+ 0x2105b200,
0x57008197,
0x586e4e0d,
0x2700f07b,
0x2400016b,
0x09047b8e,
0x808eb08b,
- 0x21057600,
+ 0x2105b200,
0x2400ff7b,
0x2400015b,
0x1f04b6b6,
0x705b6b04,
0x045b6b6b,
0x8081308b,
- 0x21058c00,
+ 0x2105c800,
0x9100b18e,
0x1c7bf0f0,
0x51004e02,
0x512b6004,
0x513c6003,
0x513b6002,
- 0x2105ac00,
+ 0x2105e800,
0x90800680,
0x01014040,
0x09034040,
0x00408080,
- 0x21059f00,
+ 0x2105db00,
0x90800600,
0x1f006161,
0x10f1f1e2,
0x6e604bf9,
0x01016b6b,
0x808e100b,
- 0x2105c900,
+ 0x21060500,
0xc9006128,
0x586e4e0d,
0x2700f07b,
0x2400016b,
0x09047b8e,
0x808eb08b,
- 0x2105c900,
+ 0x21060500,
0x2400ff7b,
0x2400015b,
0x1f04b6b6,
0x705b6b04,
0x045b6b6b,
0x8081308b,
- 0x2105df00,
+ 0x21061b00,
0x9100b18e,
0x1c7bf0f0,
0x51004e02,
0x2eff878a,
0xd102b603,
0x10d9d98d,
- 0x2105fa00,
+ 0x21063600,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
0x01016ec4,
0x2f000384,
0x00c4c0c0,
- 0x21061f00,
+ 0x21065b00,
0x1066664c,
0x2f02802c,
0x90661261,
0x1f046c6c,
0xd102b603,
0x10d9d98d,
- 0x21069b00,
+ 0x2106d700,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
index 48c45be7f2ecc89c6da88b131dda5f90eea2629e..1b0cce152a736d566d65b7474d26da1c422e4269 100644 (file)
0x21000300,
0xbabe0101,
0x03000101,
- 0x23026c9e,
+ 0x2302749e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400031d,
- 0x8100177d,
+ 0x24000302,
+ 0x81001762,
+ 0xc901ff08,
+ 0x91042481,
+ 0x17002141,
+ 0x10411d1d,
+ 0x12011d1d,
+ 0x240000e1,
+ 0x81042481,
+ 0x21001800,
0xc9067d22,
0xc9077d02,
0xd110ff00,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x2300389e,
- 0x21001d00,
- 0x2301c19e,
+ 0x2300409e,
+ 0x21002500,
+ 0x2301c99e,
0x1d067d7d,
0xc9077d14,
0x1d077d7d,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21003200,
+ 0x21003a00,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x24002404,
0x2f04898e,
0x2f000184,
- 0x21003100,
- 0x21003200,
+ 0x21003900,
+ 0x21003a00,
0xd1057d02,
0xd304ffa5,
- 0xcf057ddc,
+ 0xcf057dd4,
0xc910ff02,
0x21001000,
- 0x2104a100,
+ 0x2104e300,
0x2480089f,
0x0906c481,
0x92812088,
- 0x090a1dd9,
+ 0x240c00d9,
0x12c4d9d9,
0x1f0fb6b6,
0xc9016806,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21005800,
+ 0x21006000,
0x130d1717,
0x812608d7,
0xc9000a03,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21008d00,
+ 0x21009500,
0xd1010105,
0x11071a00,
0x51000003,
0x00214949,
0x00018989,
0x24000042,
- 0x21009f00,
+ 0x2100a700,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x21009f00,
+ 0x2100a700,
0xc9026b04,
0x0b05da02,
0x00028989,
0x24002002,
0x2400002e,
0xc905b602,
- 0x2100fd00,
+ 0x21010500,
0x51016c56,
0x51046c55,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x2100c400,
+ 0x2100cc00,
0x2400012e,
- 0x2100c400,
+ 0x2100cc00,
0x6905020e,
0x1049492e,
0xd10bb644,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21004700,
+ 0x21004f00,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x2402339e,
- 0x21013500,
+ 0x24023b9e,
+ 0x21013d00,
0x2480099f,
- 0x2402339e,
+ 0x24023b9e,
0xc909b603,
0x2400f081,
- 0x21012500,
+ 0x21012d00,
0xc908b605,
0x2400e081,
0x9081f486,
0x51066602,
- 0x21013500,
+ 0x21013d00,
0xd10fb605,
0x11033737,
0x13003737,
0x9100f486,
- 0x21013500,
+ 0x21013d00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e286,
- 0x21013500,
+ 0x21013d00,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21015d00,
+ 0x21016500,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21016f00,
+ 0x21017700,
0x00228686,
0xc901680a,
0x00224646,
- 0x21016f00,
+ 0x21017700,
0xc9026804,
0x0b057a02,
0x00028686,
0x2480099f,
0xc909b603,
0x2400f081,
- 0x2101c700,
+ 0x2101cf00,
0xc908b605,
0x2400e081,
0x9081f489,
0x51066902,
- 0x21004600,
+ 0x21004e00,
0xd10fb606,
0x11033737,
0x13003737,
0x812608d7,
0x9100f489,
- 0x21004600,
+ 0x21004e00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e289,
- 0x21004600,
+ 0x21004e00,
0x91002481,
0x0101e1e1,
0x81002481,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21023300,
+ 0x21023b00,
0x2480009f,
0x24000804,
0x2f000184,
0x511f0114,
0x2e808b96,
0xc905b604,
- 0x2304a59e,
+ 0x2304e79e,
0x1f047d7d,
- 0x21023300,
+ 0x21023b00,
0x0b057601,
0x51000113,
0x510401e9,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21023300,
+ 0x21023b00,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21020e00,
+ 0x21021600,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x24022a9e,
- 0x2104bc00,
+ 0x2402329e,
+ 0x2104fe00,
0x24000104,
0x0508c9c4,
0x2f000184,
0x61100304,
0x51110303,
0x240005de,
- 0x21022c00,
+ 0x21023400,
0x2eff8792,
0x2f018792,
0x2f020792,
0x11033737,
0x13143737,
0x240002de,
- 0x21022c00,
+ 0x21023400,
0x09010300,
0x90001580,
0x22c0009e,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21003400,
+ 0x21003c00,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21003400,
+ 0x21003c00,
0x1d047d7d,
0x1d077d7d,
0x9110078a,
0x1f070e0e,
0x2f04898e,
0x2f000384,
- 0x21003400,
+ 0x21003c00,
0x1f047d7d,
0x510ade1a,
0xc9007d03,
0x1d007d7d,
- 0x21011e00,
+ 0x21012600,
0x5103de06,
0x5104de09,
0x5105de0c,
0x5106de0f,
0x0b0237de,
- 0x21011a00,
+ 0x21012200,
0x24402084,
0x24001864,
0x2400002e,
- 0x21023300,
+ 0x21023b00,
0x24402084,
0x24001864,
0x2400002e,
- 0x21023300,
+ 0x21023b00,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21023300,
+ 0x21023b00,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21023300,
+ 0x21023b00,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21023300,
+ 0x21023b00,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404bac8,
- 0x2404bc88,
- 0x2404bcc9,
- 0x2404c089,
- 0x2404c2ca,
- 0x2404c48a,
- 0x2404c4cb,
- 0x2404c48b,
- 0x2404c4cc,
- 0x2404c48c,
- 0x2404c4cd,
- 0x2404d68d,
- 0x2404d6ce,
- 0x2404be8e,
- 0x2404bccf,
- 0x2404eb8f,
- 0x240507d0,
- 0x2404eb90,
- 0x240507d1,
- 0x24050791,
+ 0x2404fcc8,
+ 0x2404fe88,
+ 0x2404fec9,
+ 0x24050289,
+ 0x240504ca,
+ 0x2405068a,
+ 0x240506cb,
+ 0x2405068b,
+ 0x240506cc,
+ 0x2405068c,
+ 0x240506cd,
+ 0x2405188d,
+ 0x240518ce,
+ 0x2405008e,
+ 0x2404fecf,
+ 0x24052d8f,
+ 0x240549d0,
+ 0x24052d90,
+ 0x240549d1,
+ 0x24054991,
0x8500f588,
0x24505084,
0x108484c4,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21031800,
+ 0x21032000,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21031800,
+ 0x21032000,
0x81242e84,
0x1f057d7d,
- 0x21031800,
+ 0x21032000,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21031800,
+ 0x21032000,
0x51006602,
- 0x21031800,
+ 0x21032000,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21031800,
+ 0x21032000,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062731,
- 0x510c27a6,
- 0x530a2733,
- 0x5308272f,
- 0x530b272f,
- 0x5309272f,
+ 0x5306276b,
+ 0x510c27d8,
+ 0x530a276d,
+ 0x53082769,
+ 0x530b2769,
+ 0x53092769,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21031800,
- 0x21044300,
- 0x2102bf00,
- 0x21044000,
- 0x21044000,
+ 0x21032000,
+ 0x21048500,
+ 0x2102c700,
+ 0x21048200,
+ 0x21048200,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21033e00,
+ 0x21034600,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21033400,
+ 0x21033c00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21033e00,
+ 0x21034600,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21023300,
- 0x21023300,
+ 0x21023b00,
+ 0x21023b00,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21031800,
+ 0x21032000,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21031800,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21032000,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21031800,
+ 0x21032000,
0x240018c4,
0x2f000384,
- 0x21043100,
+ 0x21047300,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21042e00,
+ 0x21047000,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21031800,
+ 0x21032000,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21031800,
+ 0x21032000,
0x69046a09,
0x59088002,
- 0x21042e00,
+ 0x21047000,
0x2e80818e,
0x1d025d5d,
0xc9006e02,
0x1f025d5d,
0x81b8338e,
- 0x21031800,
+ 0x21032000,
0x69066a0e,
0x59148002,
- 0x21042e00,
+ 0x21047000,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103e100,
- 0x21031800,
+ 0x21041b00,
+ 0x21032000,
0x69076a0e,
0x59148002,
- 0x21042e00,
+ 0x21047000,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103ef00,
- 0x21031800,
+ 0x21042900,
+ 0x21032000,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21042e00,
+ 0x21047000,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2103fe00,
- 0x21031800,
+ 0x21043800,
+ 0x21032000,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21042e00,
+ 0x21047000,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21041d00,
+ 0x21045700,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21041700,
- 0x21031800,
+ 0x21045100,
+ 0x21032000,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21047000,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21032000,
0x240002d9,
0x1f047b7b,
- 0x21031800,
+ 0x21032000,
0x240010d9,
0x1f047b7b,
- 0x21031800,
+ 0x21032000,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21031800,
- 0x21031800,
- 0x21031800,
- 0x21031800,
- 0x21031800,
- 0x21031800,
+ 0x21032000,
+ 0x21032000,
+ 0x21032000,
+ 0x21032000,
+ 0x21032000,
+ 0x21032000,
0x24000c86,
0x2f0080c6,
- 0x21031800,
+ 0x21032000,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b41,
- 0x21048500,
+ 0x2104c700,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b39,
- 0x21048500,
+ 0x2104c700,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x21048500,
+ 0x2104c700,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21046700,
+ 0x2104a900,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x21048500,
+ 0x2104c700,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x21048d00,
+ 0x2104cf00,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21031800,
+ 0x21032000,
0x83242e84,
0x1f057d7d,
- 0x21031800,
+ 0x21032000,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21031800,
+ 0x21032000,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21031800,
+ 0x21032000,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x21046b00,
+ 0x2104ad00,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21003600,
+ 0x21003e00,
0x2e808394,
0x24000d04,
0x2f000384,
0x1f046c6c,
0xd102b603,
0x10d9d98d,
- 0x2104cf00,
+ 0x21051100,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
0x1f046c6c,
0xd102b603,
0x10d9d98d,
- 0x2104e100,
+ 0x21052300,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
index 497d11134811e527959911236d40c6330f1facb8..24f79f6d87157ed441086b262f3507711bc1ca81 100644 (file)
0x21000300,
0xbabe0200,
0x03000101,
- 0x2302689e,
+ 0x2302709e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400041d,
- 0x8100177d,
+ 0x24000402,
+ 0x81001762,
+ 0xc901ff08,
+ 0x91042481,
+ 0x17002141,
+ 0x10411d1d,
+ 0x12011d1d,
+ 0x240000e1,
+ 0x81042481,
+ 0x21001800,
0xc9067d22,
0xc9077d02,
0xd110ff00,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x2300389e,
- 0x21001d00,
- 0x2301c19e,
+ 0x2300409e,
+ 0x21002500,
+ 0x2301c99e,
0x1d067d7d,
0xc9077d14,
0x1d077d7d,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21003200,
+ 0x21003a00,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x24002404,
0x2f04898e,
0x2f000184,
- 0x21003100,
- 0x21003200,
+ 0x21003900,
+ 0x21003a00,
0xd1057d02,
0xd304ffa5,
- 0xcf057ddc,
+ 0xcf057dd4,
0xc910ff02,
0x21001000,
- 0x2104a500,
+ 0x2104e700,
0x2480089f,
0x0906c481,
0x92812088,
- 0x090a1dd9,
+ 0x241000d9,
0x12c4d9d9,
0x1f0fb6b6,
0xc9016806,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21005800,
+ 0x21006000,
0x130d1717,
0x812608d7,
0xc9000a03,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21008d00,
+ 0x21009500,
0xd1010105,
0x11071a00,
0x51000003,
0x00214949,
0x00018989,
0x24000042,
- 0x21009f00,
+ 0x2100a700,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x21009f00,
+ 0x2100a700,
0xc9026b04,
0x0b05da02,
0x00028989,
0x24002002,
0x2400002e,
0xc905b602,
- 0x2100fd00,
+ 0x21010500,
0x51016c56,
0x51046c55,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x2100c400,
+ 0x2100cc00,
0x2400012e,
- 0x2100c400,
+ 0x2100cc00,
0x6905020e,
0x1049492e,
0xd10bb644,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21004700,
+ 0x21004f00,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x24022f9e,
- 0x21013500,
+ 0x2402379e,
+ 0x21013d00,
0x2480099f,
- 0x24022f9e,
+ 0x2402379e,
0xc909b603,
0x2400f081,
- 0x21012500,
+ 0x21012d00,
0xc908b605,
0x2400e081,
0x9081f486,
0x51066602,
- 0x21013500,
+ 0x21013d00,
0xd10fb605,
0x11033737,
0x13003737,
0x9100f486,
- 0x21013500,
+ 0x21013d00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e286,
- 0x21013500,
+ 0x21013d00,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21015d00,
+ 0x21016500,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21016f00,
+ 0x21017700,
0x00228686,
0xc901680a,
0x00224646,
- 0x21016f00,
+ 0x21017700,
0xc9026804,
0x0b057a02,
0x00028686,
0x2480099f,
0xc909b603,
0x2400f081,
- 0x2101c700,
+ 0x2101cf00,
0xc908b605,
0x2400e081,
0x9081f489,
0x51066902,
- 0x21004600,
+ 0x21004e00,
0xd10fb606,
0x11033737,
0x13003737,
0x812608d7,
0x9100f489,
- 0x21004600,
+ 0x21004e00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e289,
- 0x21004600,
+ 0x21004e00,
0x91002481,
0x0101e1e1,
0x81002481,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21022f00,
+ 0x21023700,
0x2480009f,
0x24000804,
0x2f000184,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21022f00,
+ 0x21023700,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21020a00,
+ 0x21021200,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402269e,
- 0x2104ab00,
+ 0x24022e9e,
+ 0x2104ed00,
0x24000104,
0x0508c9c4,
0x2f000184,
0x61100304,
0x1f007d7d,
0x240002de,
- 0x21024900,
+ 0x21025100,
0x2eff8792,
0x2f018792,
0x2f020792,
0x11033737,
0x13143737,
0x240002de,
- 0x21022800,
+ 0x21023000,
0x09010300,
0x90001580,
0x22c0009e,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21003400,
+ 0x21003c00,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21003400,
+ 0x21003c00,
0x1d047d7d,
0x1d077d7d,
0x9110078a,
0x1f070e0e,
0x2f04898e,
0x2f000384,
- 0x21003400,
+ 0x21003c00,
0x1f047d7d,
0x510ade1a,
0xc9007d03,
0x1d007d7d,
- 0x21011e00,
+ 0x21012600,
0x5103de06,
0x5104de09,
0x5105de0c,
0x5106de0f,
0x0b0237de,
- 0x21011a00,
+ 0x21012200,
0x24402084,
0x24001864,
0x2400002e,
- 0x21022f00,
+ 0x21023700,
0x24402084,
0x24001864,
0x2400002e,
- 0x21022f00,
+ 0x21023700,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21022f00,
+ 0x21023700,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21022f00,
+ 0x21023700,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21022f00,
+ 0x21023700,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404a9c8,
- 0x2404ab88,
- 0x2404abc9,
- 0x2404af89,
- 0x2404b1ca,
- 0x2404b38a,
- 0x2404b3cb,
- 0x2404b38b,
- 0x2404b3cc,
- 0x2404b38c,
- 0x2404b3cd,
- 0x2404c58d,
- 0x2404d0ce,
- 0x2404ad8e,
- 0x2404abcf,
- 0x2404e58f,
- 0x2404e5d0,
- 0x2404e590,
- 0x2404e5d1,
- 0x2404e591,
+ 0x2404ebc8,
+ 0x2404ed88,
+ 0x2404edc9,
+ 0x2404f189,
+ 0x2404f3ca,
+ 0x2404f58a,
+ 0x2404f5cb,
+ 0x2404f58b,
+ 0x2404f5cc,
+ 0x2404f58c,
+ 0x2404f5cd,
+ 0x2405078d,
+ 0x240512ce,
+ 0x2404ef8e,
+ 0x2404edcf,
+ 0x2405278f,
+ 0x240527d0,
+ 0x24052790,
+ 0x240527d1,
+ 0x24052791,
0x8500f588,
0x24505084,
0x108484c4,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21032500,
+ 0x21032d00,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21032500,
+ 0x21032d00,
0x81242e84,
0x1f057d7d,
- 0x21032500,
+ 0x21032d00,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21032500,
+ 0x21032d00,
0x51006602,
- 0x21032500,
+ 0x21032d00,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21032500,
+ 0x21032d00,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062728,
- 0x510c27a6,
- 0x530a272a,
- 0x53082726,
- 0x530b2726,
- 0x53092726,
+ 0x53062762,
+ 0x510c27d8,
+ 0x530a2764,
+ 0x53082760,
+ 0x530b2760,
+ 0x53092760,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21032500,
- 0x21044700,
- 0x2102cc00,
- 0x21044400,
- 0x21044400,
+ 0x21032d00,
+ 0x21048900,
+ 0x2102d400,
+ 0x21048600,
+ 0x21048600,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21034b00,
+ 0x21035300,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21034100,
+ 0x21034900,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21034b00,
+ 0x21035300,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21022f00,
- 0x21022f00,
+ 0x21023700,
+ 0x21023700,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21032500,
+ 0x21032d00,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21032500,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21032d00,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21032500,
+ 0x21032d00,
0x240018c4,
0x2f000384,
- 0x21043500,
+ 0x21047700,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21043200,
+ 0x21047400,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21032500,
+ 0x21032d00,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21032500,
+ 0x21032d00,
0x69066a0e,
0x59148002,
- 0x21043200,
+ 0x21047400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103e500,
- 0x21032500,
+ 0x21041f00,
+ 0x21032d00,
0x69076a0e,
0x59148002,
- 0x21043200,
+ 0x21047400,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2103f300,
- 0x21032500,
+ 0x21042d00,
+ 0x21032d00,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21043200,
+ 0x21047400,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21040200,
- 0x21032500,
+ 0x21043c00,
+ 0x21032d00,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21043200,
+ 0x21047400,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21042100,
+ 0x21045b00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21041b00,
- 0x21032500,
+ 0x21045500,
+ 0x21032d00,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21047400,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21032d00,
0x240002d9,
0x1f047b7b,
- 0x21032500,
+ 0x21032d00,
0x240010d9,
0x1f047b7b,
- 0x21032500,
+ 0x21032d00,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21032500,
- 0x21032500,
- 0x21032500,
- 0x21032500,
- 0x21032500,
- 0x21032500,
+ 0x21032d00,
+ 0x21032d00,
+ 0x21032d00,
+ 0x21032d00,
+ 0x21032d00,
+ 0x21032d00,
0x24000c86,
0x2f0080c6,
- 0x21032500,
+ 0x21032d00,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b41,
- 0x21048900,
+ 0x2104cb00,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b39,
- 0x21048900,
+ 0x2104cb00,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x21048900,
+ 0x2104cb00,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21046b00,
+ 0x2104ad00,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x21048900,
+ 0x2104cb00,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x21049100,
+ 0x2104d300,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21032500,
+ 0x21032d00,
0x83242e84,
0x1f057d7d,
- 0x21032500,
+ 0x21032d00,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21032500,
+ 0x21032d00,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21032500,
+ 0x21032d00,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x21046f00,
+ 0x2104b100,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21003600,
+ 0x21003e00,
0x240002de,
0x209e0000,
0x240002de,
0x1f046c6c,
0xd102b603,
0x10d9d98d,
- 0x2104be00,
+ 0x21050000,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
0x1f046c6c,
0xd102b603,
0x10d9d98d,
- 0x2104db00,
+ 0x21051d00,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
index dd014f742691194729f48888337f9201ec546261..eda6a3baace069ed665fd5893b74cd7c0c7dd213 100644 (file)
0x21000300,
0xbabe0300,
0x03000101,
- 0x2302999e,
+ 0x2302839e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400051d,
- 0x8100177d,
+ 0x24000502,
+ 0x81001762,
0xc903ff07,
0x910c2481,
0x11f85d5d,
0x21003800,
0x21003900,
0xd1057d02,
- 0xd304ffc1,
+ 0xd304ffab,
0xcf057dd5,
0xc910ff02,
0x21001000,
- 0x2104d800,
+ 0x2104fc00,
0x0906c481,
0x92812088,
0x10c8c89f,
0x51026904,
0x1f060e0e,
0x240020e4,
- 0x21026000,
+ 0x21024a00,
0x24000e2e,
0x244020e4,
0x24001864,
- 0x21026000,
+ 0x21024a00,
0x2400002e,
0x24602084,
0x24001864,
0x10494905,
0x811207c9,
- 0x21026000,
+ 0x21024a00,
0x10d7d794,
0x24000f42,
0x6902691b,
0x209e0000,
0x0904dede,
0x90def486,
- 0x2402609e,
- 0x21016f00,
- 0x2402609e,
- 0xc909b603,
- 0x2400f081,
- 0x21015f00,
- 0xc908b605,
- 0x2400e081,
- 0x9081f486,
- 0x51066602,
- 0x21016f00,
- 0xd10fb605,
- 0x11033737,
- 0x13003737,
- 0x9100f486,
- 0x21016f00,
- 0x0b0ad941,
- 0x10d9d981,
- 0x11032121,
- 0x09068181,
- 0x09024141,
- 0x90413882,
- 0xf081e286,
- 0x21016f00,
+ 0x24024a9e,
+ 0x21015900,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21019700,
+ 0x21018100,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x2101a900,
+ 0x21019300,
0x00228686,
0xc901680a,
0x00224646,
- 0x2101a900,
+ 0x21019300,
0xc9026804,
0x0b057a02,
0x00028686,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21026000,
+ 0x21024a00,
0x2480009f,
0x24000804,
0x2f000184,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21026000,
- 0x21021800,
+ 0x21024a00,
+ 0x21020200,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21022e00,
+ 0x21021800,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402589e,
- 0x2104df00,
+ 0x2402429e,
+ 0x21050400,
0x24000104,
0x0508c9c4,
0x2f000184,
0x11033737,
0x1016161c,
0x1f037d7d,
- 0x21024100,
+ 0x21022b00,
0x1f007d7d,
0x240002de,
0xc907ff00,
0x24001876,
0x83206796,
- 0x21027a00,
+ 0x21026400,
0x2eff8390,
0xc9025d03,
0x24000010,
- 0x21024600,
+ 0x21023000,
0x24000e10,
0x1f061010,
0xc907ff00,
0x11033737,
0x13143737,
0x240002de,
- 0x21025900,
+ 0x21024300,
0x09010300,
0x90001580,
0x22c0009e,
0x24402084,
0x24001864,
0x2400002e,
- 0x21026000,
+ 0x21024a00,
0x24402084,
0x24001864,
0x2400002e,
- 0x21026000,
+ 0x21024a00,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21026000,
+ 0x21024a00,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21026000,
+ 0x21024a00,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21026000,
+ 0x21024a00,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404dcc8,
- 0x2404df88,
- 0x2404dfc9,
- 0x2404e489,
- 0x24051bca,
- 0x24053d8a,
- 0x240556cb,
- 0x2405628b,
- 0x24057acc,
- 0x2405868c,
- 0x2405b2cd,
- 0x2405b48d,
- 0x2405c1ce,
- 0x2404e28e,
- 0x2404dfcf,
- 0x2405c38f,
- 0x2405efd0,
- 0x2405dd90,
- 0x2405e3d1,
- 0x2405e991,
+ 0x240500c8,
+ 0x24050488,
+ 0x240504c9,
+ 0x24050989,
+ 0x240540ca,
+ 0x2405628a,
+ 0x24057bcb,
+ 0x2405878b,
+ 0x24059fcc,
+ 0x2405ab8c,
+ 0x2405d7cd,
+ 0x2405d98d,
+ 0x2405e6ce,
+ 0x2405078e,
+ 0x240504cf,
+ 0x2405e88f,
+ 0x240614d0,
+ 0x24060290,
+ 0x240608d1,
+ 0x24060e91,
0x8500f588,
0x24505084,
0x108484c4,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035600,
+ 0x21034000,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21035600,
+ 0x21034000,
0x81242e84,
0x1f057d7d,
- 0x21035600,
+ 0x21034000,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21035600,
+ 0x21034000,
0x51006602,
- 0x21035600,
+ 0x21034000,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21035600,
+ 0x21034000,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062728,
- 0x510c27a6,
- 0x530a272a,
- 0x53082726,
- 0x530b2726,
- 0x53092726,
+ 0x53062762,
+ 0x510c27d8,
+ 0x530a2764,
+ 0x53082760,
+ 0x530b2760,
+ 0x53092760,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21035600,
- 0x21047800,
- 0x2102fd00,
- 0x21047500,
- 0x21047500,
+ 0x21034000,
+ 0x21049c00,
+ 0x2102e700,
+ 0x21049900,
+ 0x21049900,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21037c00,
+ 0x21036600,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21037200,
+ 0x21035c00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21037c00,
+ 0x21036600,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21026000,
- 0x21026000,
+ 0x21024a00,
+ 0x21024a00,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21035600,
+ 0x21034000,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21035600,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21034000,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21035600,
+ 0x21034000,
0x240018c4,
0x2f000384,
- 0x21046600,
+ 0x21048a00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21046300,
+ 0x21048700,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21035600,
+ 0x21034000,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21035600,
+ 0x21034000,
0x69066a0e,
0x59148002,
- 0x21046300,
+ 0x21048700,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21041600,
- 0x21035600,
+ 0x21043200,
+ 0x21034000,
0x69076a0e,
0x59148002,
- 0x21046300,
+ 0x21048700,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21042400,
- 0x21035600,
+ 0x21044000,
+ 0x21034000,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21046300,
+ 0x21048700,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21043300,
- 0x21035600,
+ 0x21044f00,
+ 0x21034000,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21046300,
+ 0x21048700,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21045200,
+ 0x21046e00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21044c00,
- 0x21035600,
+ 0x21046800,
+ 0x21034000,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21048700,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21034000,
0x240002d9,
0x1f047b7b,
- 0x21035600,
+ 0x21034000,
0x240010d9,
0x1f047b7b,
- 0x21035600,
+ 0x21034000,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21035600,
- 0x21035600,
- 0x21035600,
- 0x21035600,
- 0x21035600,
- 0x21035600,
+ 0x21034000,
+ 0x21034000,
+ 0x21034000,
+ 0x21034000,
+ 0x21034000,
+ 0x21034000,
0x24000c86,
0x2f0080c6,
- 0x21035600,
+ 0x21034000,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b43,
- 0x2104bc00,
+ 0x2104e000,
0x91200e61,
0x10cacacd,
0x1f0fcdcd,
0x69202104,
0x24000400,
0xc9037b39,
- 0x2104bc00,
+ 0x2104e000,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x2104bc00,
+ 0x2104e000,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21049e00,
+ 0x2104c200,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x2104bc00,
+ 0x2104e000,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x2104c400,
+ 0x2104e800,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21035600,
+ 0x21034000,
0x83242e84,
0x1f057d7d,
- 0x21035600,
+ 0x21034000,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035600,
+ 0x21034000,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21035600,
+ 0x21034000,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x2104a200,
+ 0x2104c600,
0x1d057d7d,
0x93242e84,
0x2f010984,
0x21003d00,
- 0x2105f600,
+ 0xd1001d02,
+ 0x21061b00,
0x240002de,
0x209e0000,
- 0x2105f600,
+ 0x21061b00,
0x240002de,
0x209e0000,
0x240002de,
0x209e0000,
0x11033737,
0x13143737,
- 0x21051900,
- 0x2105f600,
+ 0x21053e00,
+ 0x21061b00,
0x11033737,
0x13643737,
0x240002de,
0x01016ec4,
0x2f000384,
0x00c4c0c0,
- 0x21054500,
+ 0x21056a00,
0x1066664c,
0x2f02802c,
0x90661261,
index 709a69b824891f1ed12775ddd88f743110b8e841..19ccb72baf315626d91305b19338deed32172698 100644 (file)
0x21000300,
0xbabe0401,
0x03000101,
- 0x2302999e,
+ 0x2302a29e,
0x24010182,
0x240300c2,
0x81043782,
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400061d,
- 0x8100177d,
- 0xc901ff13,
+ 0x24000602,
+ 0x81001762,
+ 0xc901ff1c,
+ 0x91040461,
+ 0x51010108,
+ 0x91042481,
+ 0x17002141,
+ 0x10411d1d,
+ 0x12011d1d,
+ 0x240000e1,
+ 0x81042481,
+ 0x21002c00,
0x24000680,
0x51068003,
0x2400a481,
- 0x21001600,
+ 0x21001f00,
0x2400a881,
0x9081338e,
0x9100b18f,
0x69006e04,
0x1d037d7d,
0x2eff858f,
- 0x21002000,
+ 0x21002900,
0x1f037d7d,
0x106e6e6f,
0x108e8ed0,
0xd106ff00,
0x93202896,
0xc9000403,
- 0x23004c9e,
- 0x21003700,
- 0x2301ee9e,
+ 0x2300559e,
+ 0x21004000,
+ 0x2301f79e,
0x1d067d7d,
0xc9077d0e,
0x1d077d7d,
0x1f067d7d,
0x24000504,
0x2f010184,
- 0x21004600,
+ 0x21004f00,
0x1d047d7d,
0x2e86098e,
0x240023e4,
0x2f04898e,
0x2f000184,
- 0x21004500,
- 0x21004600,
+ 0x21004e00,
+ 0x21004f00,
0xd1057d02,
0xd304ffbe,
- 0xcf057dc8,
+ 0xcf057dbf,
0xc910ff02,
0x21001000,
- 0x2104d800,
+ 0x21051b00,
0x2480089f,
0x0906c481,
0x92812088,
- 0x090a1dd9,
+ 0x241800d9,
0x12c4d9d9,
0x1f0fb6b6,
0xc9016806,
0x11c01717,
0x51014a03,
0x13161717,
- 0x21006c00,
+ 0x21007500,
0x130d1717,
0x812608d7,
0x690e6a04,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2100a500,
+ 0x2100ae00,
0xd1010105,
0x11071a00,
0x51000003,
0x00214949,
0x00018989,
0x24000042,
- 0x2100b700,
+ 0x2100c000,
0x00228989,
0xc9016b0a,
0x00224949,
- 0x2100b700,
+ 0x2100c000,
0xc9026b04,
0x0b05da02,
0x00028989,
0x911008c1,
0x1d0f8181,
0x811008c1,
- 0x21012a00,
+ 0x21013300,
0x51016c68,
0x51046c67,
0xd1006b09,
0x69010206,
0xd1076903,
0x2400002e,
- 0x2100df00,
+ 0x2100e800,
0x2400012e,
- 0x2100df00,
+ 0x2100e800,
0x6905020e,
0x1049492e,
0xd10bb656,
0x812608d7,
0x24007081,
0x9081f489,
- 0x21005b00,
+ 0x21006400,
0x108c8cd4,
0x91001993,
0x01045301,
0x209e0000,
0x0904dede,
0x90def486,
- 0x2402629e,
- 0x21016200,
+ 0x24026b9e,
+ 0x21016b00,
0x2480099f,
- 0x2402629e,
+ 0x24026b9e,
0xc909b603,
0x2400f081,
- 0x21015200,
+ 0x21015b00,
0xc908b605,
0x2400e081,
0x9081f486,
0x51066602,
- 0x21016200,
+ 0x21016b00,
0xd10fb605,
0x11033737,
0x13003737,
0x9100f486,
- 0x21016200,
+ 0x21016b00,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e286,
- 0x21016200,
+ 0x21016b00,
0x10d7d794,
0x24000f42,
0x83206796,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21018a00,
+ 0x21019300,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21019c00,
+ 0x2101a500,
0x00228686,
0xc901680a,
0x00224646,
- 0x21019c00,
+ 0x2101a500,
0xc9026804,
0x0b057a02,
0x00028686,
0x2480099f,
0xc909b603,
0x2400f081,
- 0x2101f400,
+ 0x2101fd00,
0xc908b605,
0x2400e081,
0x9081f489,
0x51066902,
- 0x21005a00,
+ 0x21006300,
0xd10fb606,
0x11033737,
0x13003737,
0x812608d7,
0x9100f489,
- 0x21005a00,
+ 0x21006300,
0x0b0ad941,
0x10d9d981,
0x11032121,
0x09024141,
0x90413882,
0xf081e289,
- 0x21005a00,
+ 0x21006300,
0x91002481,
0x0101e1e1,
0x81002481,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21026200,
+ 0x21026b00,
0x2480009f,
0x24000804,
0x2f000184,
0x24002004,
0x24000024,
0x1f047d7d,
- 0x21026200,
+ 0x21026b00,
0x240832e4,
0x2f000384,
0x2eff8b96,
0x008f89d7,
- 0x21023500,
+ 0x21023e00,
0x2eff8b96,
0x008f89d7,
0x2f05098e,
0x24001097,
- 0x2402599e,
- 0x2104de00,
+ 0x2402629e,
+ 0x21052100,
0x24000104,
0x0508c9c4,
0x2f000184,
0x69100304,
0x1f007d7d,
0x240002de,
- 0x21027a00,
+ 0x21028300,
0x1f047d7d,
0xc907ff00,
0x24001876,
0x83206796,
0x24402084,
0x24001864,
- 0x21026600,
+ 0x21026f00,
0x2eff8792,
0x2f018792,
0x2f020792,
0x11033737,
0x13143737,
0x240002de,
- 0x21025b00,
+ 0x21026400,
0x09010300,
0x90001580,
0x22c0009e,
0x24000504,
0xd110ff00,
0x2f010184,
- 0x21004800,
+ 0x21005100,
0x2f05098e,
0x13082424,
0x2f000384,
- 0x21004800,
+ 0x21005100,
0x1d047d7d,
0x1d077d7d,
0x2f04898e,
0x2f000384,
- 0x21004800,
+ 0x21005100,
0x1f047d7d,
0x510ade1a,
0xc9007d03,
0x1d007d7d,
- 0x21014b00,
+ 0x21015400,
0x5103de06,
0x5104de09,
0x5105de0c,
0x5106de0f,
0x0b0237de,
- 0x21014700,
+ 0x21015000,
0x24402084,
0x24001864,
0x2400002e,
- 0x21026200,
+ 0x21026b00,
0x24402084,
0x24001864,
0x2400002e,
- 0x21026600,
+ 0x21026f00,
0x24402084,
0x24001864,
0x24000e2e,
- 0x21026200,
+ 0x21026b00,
0x24402084,
0x24001864,
0x24000d2e,
- 0x21026200,
+ 0x21026b00,
0x1f060e0e,
0x24002004,
0x24000024,
- 0x21026200,
+ 0x21026b00,
0x240000e3,
0x31ff0006,
0xd110ff00,
0x85002e83,
0x2eff8983,
0x83242e83,
- 0x2404dcc8,
- 0x2404de88,
- 0x2404dec9,
- 0x24050189,
- 0x240595ca,
- 0x24061f8a,
- 0x240637cb,
- 0x2406428b,
- 0x240653cc,
- 0x24065e8c,
- 0x240688cd,
- 0x2406888d,
- 0x240693ce,
- 0x2404e08e,
- 0x2404decf,
- 0x2406938f,
- 0x2406abd0,
- 0x2406ab90,
- 0x2406abd1,
- 0x2406ab91,
+ 0x24051fc8,
+ 0x24052188,
+ 0x240521c9,
+ 0x24054489,
+ 0x2405d8ca,
+ 0x2406628a,
+ 0x24067acb,
+ 0x2406858b,
+ 0x240696cc,
+ 0x2406a18c,
+ 0x2406cbcd,
+ 0x2406cb8d,
+ 0x2406d6ce,
+ 0x2405238e,
+ 0x240521cf,
+ 0x2406d68f,
+ 0x2406eed0,
+ 0x2406ee90,
+ 0x2406eed1,
+ 0x2406ee91,
0x8500f588,
0x24505084,
0x108484c4,
0x240004d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035800,
+ 0x21036100,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0xd1067d04,
0xd110ff00,
0x2f010184,
- 0x21035800,
+ 0x21036100,
0x81242e84,
0x1f057d7d,
- 0x21035800,
+ 0x21036100,
0x2eff8b96,
0x05108980,
0x24000d04,
0x10e9e9fa,
0x51ce0703,
0x1f077b7b,
- 0x21035800,
+ 0x21036100,
0x51006602,
- 0x21035800,
+ 0x21036100,
0x51004606,
0x05014646,
0x2f008026,
0x2400045b,
0x1f057b7b,
- 0x21035800,
+ 0x21036100,
0x81182788,
0x2f05098e,
0x1f067b7b,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062728,
- 0x510c27a6,
- 0x530a272a,
- 0x53082726,
- 0x530b2726,
- 0x53092726,
+ 0x53062762,
+ 0x510c27d8,
+ 0x530a2764,
+ 0x53082760,
+ 0x530b2760,
+ 0x53092760,
0x5105272f,
0x24000286,
0x2f0080c6,
- 0x21035800,
- 0x21047a00,
- 0x2102ff00,
- 0x21047700,
- 0x21047700,
+ 0x21036100,
+ 0x2104bd00,
+ 0x21030800,
+ 0x2104ba00,
+ 0x2104ba00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x1f0f8181,
0x811007c1,
0x1f060e0e,
- 0x21037e00,
+ 0x21038700,
0xc9057b04,
0x24008000,
0x81200760,
- 0x21037400,
+ 0x21037d00,
0x911007c1,
0x1f0f8181,
0x811007c1,
0x81082481,
0x51003a03,
0x1f060e0e,
- 0x21037e00,
+ 0x21038700,
0x8112079a,
0x101a1a05,
0x13202424,
- 0x21026600,
- 0x21026600,
+ 0x21026f00,
+ 0x21026f00,
0x59388004,
0x24001086,
0x2f0080c6,
- 0x21035800,
+ 0x21036100,
0x24000086,
0x2f0080c6,
0x2e80878a,
0x10515121,
0x24005082,
0xe10c2281,
- 0x21035800,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
+ 0x21036100,
0x24000086,
0x2f0080c6,
0x2e80838a,
0x58c08004,
0x24001086,
0x2f0080c6,
- 0x21035800,
+ 0x21036100,
0x240018c4,
0x2f000384,
- 0x21046800,
+ 0x2104ab00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21046500,
+ 0x2104a800,
0x2e80838e,
0x71046e04,
0x240011d9,
0x1f047b7b,
- 0x21035800,
+ 0x21036100,
0x09056e81,
0x09036ec1,
0x00c18181,
0x2e808f8e,
0x01088181,
0x8281f38e,
- 0x21035800,
+ 0x21036100,
0x69066a0e,
0x59148002,
- 0x21046500,
+ 0x2104a800,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21041800,
- 0x21035800,
+ 0x21045300,
+ 0x21036100,
0x69076a0e,
0x59148002,
- 0x21046500,
+ 0x2104a800,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21042600,
- 0x21035800,
+ 0x21046100,
+ 0x21036100,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21046500,
+ 0x2104a800,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21043500,
- 0x21035800,
+ 0x21047000,
+ 0x21036100,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21046500,
+ 0x2104a800,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21045400,
+ 0x21048f00,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21044e00,
- 0x21035800,
+ 0x21048900,
+ 0x21036100,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x2104a800,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
+ 0x21036100,
0x240002d9,
0x1f047b7b,
- 0x21035800,
+ 0x21036100,
0x240010d9,
0x1f047b7b,
- 0x21035800,
+ 0x21036100,
0x240000e1,
0x240010c4,
0x2e80878e,
0x01010101,
0x0110c1c1,
0x671f01fa,
- 0x21035800,
- 0x21035800,
- 0x21035800,
- 0x21035800,
- 0x21035800,
- 0x21035800,
+ 0x21036100,
+ 0x21036100,
+ 0x21036100,
+ 0x21036100,
+ 0x21036100,
+ 0x21036100,
0x24000c86,
0x2f0080c6,
- 0x21035800,
+ 0x21036100,
0x2e80838a,
0x2eff818d,
0x240068c0,
0x58c08004,
0x24001000,
0xc9037b41,
- 0x2104bc00,
+ 0x2104ff00,
0x91200e61,
0x240100c0,
0x68c0ca12,
0x69202104,
0x24000400,
0xc9037b39,
- 0x2104bc00,
+ 0x2104ff00,
0x090221c1,
0x0100c1c1,
0x90c12e82,
0x69200304,
0x24000400,
0xc9037b31,
- 0x2104bc00,
+ 0x2104ff00,
0x090521ca,
0x0003caca,
0x2f00808a,
- 0x21049e00,
+ 0x2104e100,
0x60c0ca04,
0x24000400,
0xc9037b29,
- 0x2104bc00,
+ 0x2104ff00,
0x0b05ca21,
0x090221c1,
0x0100c1c1,
0x24000004,
0x240018c4,
0x2f000384,
- 0x2104c400,
+ 0x21050700,
0x1e03e2e2,
0x80c12e82,
0x2700e223,
0xd1067d04,
0xd110ff00,
0x2f010984,
- 0x21035800,
+ 0x21036100,
0x83242e84,
0x1f057d7d,
- 0x21035800,
+ 0x21036100,
0x100000d9,
0x1f047b7b,
0x1d057b7b,
- 0x21035800,
+ 0x21036100,
0x10000086,
0x2f0080c6,
0x1d057b7b,
- 0x21035800,
+ 0x21036100,
0x2e808f8e,
0x2f01878e,
0x2f020792,
0x69032a03,
0x1f016d6d,
0x10cbcb8d,
- 0x2104a200,
+ 0x2104e500,
0x1d057d7d,
0x93242e84,
0x2f010984,
- 0x21004a00,
+ 0x21005300,
0x240002de,
0x209e0000,
0x240002de,
0x2eff8792,
0xd102b603,
0x10d9d995,
- 0x21051c00,
+ 0x21055f00,
0x10dada95,
0x111f3535,
0x1d02b6b6,
0x2700ea01,
0x69200103,
0x1f08b6b6,
- 0x21054700,
+ 0x21058a00,
0x61e06a03,
0x49ef6a02,
0x1f09b6b6,
0x209e0000,
0x11033737,
0x13143737,
- 0x21055800,
+ 0x21059b00,
0x11033737,
0x13643737,
0x240002de,
0x6e484bf9,
0x01016b6b,
0x808e100b,
- 0x21057c00,
+ 0x2105bf00,
0x57008196,
0x586e4e0d,
0x2700f07b,
0x2400016b,
0x09047b8e,
0x808eb08b,
- 0x21057c00,
+ 0x2105bf00,
0x2400ff7b,
0x2400015b,
0x1f04b6b6,
0x705b6b04,
0x045b6b6b,
0x8081308b,
- 0x21059200,
+ 0x2105d500,
0x9100b18e,
0x1c7bf0f0,
0x51004e02,
0x512b6004,
0x513c6003,
0x513b6002,
- 0x2105b200,
+ 0x2105f500,
0x90800680,
0x01014040,
0x09034040,
0x00408080,
- 0x2105a500,
+ 0x2105e800,
0x90800600,
0x1f006161,
0x10f1f1e2,
0x6e604bf9,
0x01016b6b,
0x808e100b,
- 0x2105cf00,
+ 0x21061200,
0xc9006128,
0x586e4e0d,
0x2700f07b,
0x2400016b,
0x09047b8e,
0x808eb08b,
- 0x2105cf00,
+ 0x21061200,
0x2400ff7b,
0x2400015b,
0x1f04b6b6,
0x705b6b04,
0x045b6b6b,
0x8081308b,
- 0x2105e500,
+ 0x21062800,
0x9100b18e,
0x1c7bf0f0,
0x51004e02,
0x2eff878a,
0xd102b603,
0x10d9d98d,
- 0x21060100,
+ 0x21064400,
0x10dada8d,
0x111f2d2d,
0x1d02b6b6,
0x01016ec4,
0x2f000384,
0x00c4c0c0,
- 0x21062600,
+ 0x21066900,
0x1066664c,
0x2f02802c,
0x90661261,
index 6ceb733287e96c553b6fdaa061754cc5ac746737..c1ff94a9008c5e4f1308b84143c81f5cd89d01e4 100644 (file)
0xc900ff00,
0xd100ff00,
0x2eff819d,
- 0x2400073d,
- 0x8100175d,
+ 0x24000702,
+ 0x81001762,
0x24010182,
0x240300c2,
0x81043782,
0x2e838786,
0x24801c83,
0x2400109e,
- 0x21038800,
+ 0x2103c200,
0x2e838786,
0xc90d9908,
0x11033737,
0x90413882,
0xf081e286,
0x24801c83,
- 0x21038800,
+ 0x2103c200,
0x0b0237de,
0x0904dede,
0x90def486,
0x24801c83,
0x2400109e,
- 0x21038800,
+ 0x2103c200,
0xd106ff00,
0x9110078a,
0x24002004,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062751,
- 0x510c27b2,
- 0x530a2753,
- 0x5308274f,
- 0x530b274f,
- 0x5309274f,
+ 0x5306278b,
+ 0x510c27e4,
+ 0x530a278d,
+ 0x53082789,
+ 0x530b2789,
+ 0x53092789,
0x5105273b,
0x24000286,
0x2f0080c6,
0x10515121,
0x24005082,
0xe10c2281,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
0x21024000,
0x24000086,
0x2f0080c6,
0x21024000,
0x240018c4,
0x2f000384,
- 0x21037900,
+ 0x2103b300,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21037600,
+ 0x2103b000,
0x2e80838e,
0x71046e04,
0x240011d9,
0x21024000,
0x69026a0c,
0x59148002,
- 0x21037600,
+ 0x2103b000,
0x2e80878e,
0x71106e04,
0x240012d9,
0x21024000,
0x69046a09,
0x59088002,
- 0x21037600,
+ 0x2103b000,
0x2e80818e,
0x1d021d1d,
0xc9006e02,
0x21024000,
0x69056a08,
0x59088002,
- 0x21037600,
+ 0x2103b000,
0x2e80818e,
0x1d011d1d,
0xc9006e02,
0x21024000,
0x69066a0e,
0x59148002,
- 0x21037600,
+ 0x2103b000,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21032900,
+ 0x21035b00,
0x21024000,
0x69076a0e,
0x59148002,
- 0x21037600,
+ 0x2103b000,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21033700,
+ 0x21036900,
0x21024000,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21037600,
+ 0x2103b000,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21034600,
+ 0x21037800,
0x21024000,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21037600,
+ 0x2103b000,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21036500,
+ 0x21039700,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21035f00,
+ 0x21039100,
+ 0x21024000,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x2103b000,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
0x21024000,
0x240002d9,
0x1f047b7b,
0x11c00101,
0x51014703,
0x24001641,
- 0x21039900,
+ 0x2103d300,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2103cb00,
+ 0x21040500,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x2103dd00,
+ 0x21041700,
0x00228686,
0xc901680a,
0x00224646,
- 0x2103dd00,
+ 0x21041700,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x21040600,
+ 0x21044000,
0x2400012e,
- 0x21040600,
+ 0x21044000,
0x69050214,
0x1046462e,
0x81186787,
index 0c782c61c623cb43bcda2c75a8078578633c2cf9..9f5ef25ad24c19640f17c498e59e143b960ea9c4 100644 (file)
0x21000300,
0xbabe0500,
0x03000101,
- 0x2304d49e,
+ 0x23050e9e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x2400109e,
0x24001004,
0x2f000384,
- 0x2103f600,
+ 0x21043000,
0x24000804,
0x2f000184,
0x242031e4,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062730,
- 0x510c27ae,
- 0x530a27a1,
- 0x53082771,
- 0x530b2771,
- 0x5309279d,
+ 0x5306276a,
+ 0x510c27e0,
+ 0x530a27db,
+ 0x530827ab,
+ 0x530b27ab,
+ 0x530927d7,
0x51052737,
0x24000286,
0x2f0080c6,
0x21024300,
- 0x2104d100,
- 0x2104d100,
- 0x2104ca00,
- 0x2104d100,
+ 0x21050b00,
+ 0x21050b00,
+ 0x21050400,
+ 0x21050b00,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x10515121,
0x24005082,
0xe10c2281,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
0x21024300,
0x24000086,
0x2f0080c6,
0x21024300,
0x240018c4,
0x2f000384,
- 0x21035b00,
+ 0x21039500,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x21035800,
+ 0x21039200,
0x2e80838e,
0x71046e04,
0x240011d9,
0x21024300,
0x69066a0e,
0x59148002,
- 0x21035800,
+ 0x21039200,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21030b00,
+ 0x21033d00,
0x21024300,
0x69076a0e,
0x59148002,
- 0x21035800,
+ 0x21039200,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x21031900,
+ 0x21034b00,
0x21024300,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x21035800,
+ 0x21039200,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x21032800,
+ 0x21035a00,
0x21024300,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x21035800,
+ 0x21039200,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x21034700,
+ 0x21037900,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x21034100,
+ 0x21037300,
+ 0x21024300,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21039200,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
0x21024300,
0x240002d9,
0x1f047b7b,
0x24fff8c5,
0x24080085,
0x2f000384,
- 0xcd006ad2,
+ 0xcd006a98,
0x69008a09,
0x2eff8f8e,
0x240000e2,
0x51008b04,
0x24000800,
0x09038bd0,
- 0x21038600,
+ 0x2103c000,
0x24000400,
0x2e80818e,
0x2f000184,
0x0b018181,
0x0081d08f,
0x24000400,
- 0x21038600,
+ 0x2103c000,
0x1081818f,
- 0x21038600,
+ 0x2103c000,
0x090220c0,
0x00c08f8f,
- 0x21038600,
+ 0x2103c000,
0xc830ee04,
0x8e8fd012,
0x1c30eeee,
0x00008f8f,
0x6ed08fe4,
0x24000400,
- 0x21038900,
+ 0x2103c300,
0x21024300,
0x21024300,
0x240004c0,
0x2e85098e,
0x24001481,
0x240000c1,
- 0x55008a7e,
+ 0x55008a44,
0x60ce8109,
0x588fc108,
0xf0c13096,
0x80c20fd6,
0x05018a8a,
0x0104c1c1,
- 0x2103c500,
+ 0x2103ff00,
0x2e808196,
0x0901d6c2,
0x0082c2c2,
0x05018a8a,
0x01048181,
0x2f000384,
- 0x2103c500,
+ 0x2103ff00,
0x21024300,
0x240080c0,
0x58c08004,
0x11c00101,
0x51014703,
0x24001641,
- 0x21040700,
+ 0x21044100,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x21043900,
+ 0x21047300,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x21044b00,
+ 0x21048500,
0x00228686,
0xc901680a,
0x00224646,
- 0x21044b00,
+ 0x21048500,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x21047500,
+ 0x2104af00,
0x2400012e,
- 0x21047500,
+ 0x2104af00,
0x69050214,
0x1046462e,
0x81186787,
index 59b334261f063bea2f8110fa05a2be542bfd8036..60e0f36957dbe1aeb5dc493a53bee0aec6278822 100644 (file)
0x21000300,
0xbabe0501,
0x03000101,
- 0x23034e9e,
+ 0x2303889e,
0x2eff8582,
0x8104a482,
0x240001e2,
0x2400109e,
0x24001004,
0x2f000384,
- 0x21027100,
+ 0x2102ab00,
0x24000804,
0x2f000184,
0x242031e4,
0x2100ae00,
0x2400109e,
0xc907b602,
- 0x21024400,
+ 0x21027e00,
0xd105b603,
0xd104b61b,
0x21002e00,
0x5102270e,
0x5103270e,
0x5104270e,
- 0x53062734,
- 0x510c27b2,
- 0x530a2769,
- 0x53082732,
- 0x530b2765,
- 0x53092765,
+ 0x5306276e,
+ 0x510c27e4,
+ 0x530a27a3,
+ 0x5308276c,
+ 0x530b279f,
+ 0x5309279f,
0x5105273b,
0x24000286,
0x2f0080c6,
0x2100e600,
- 0x21034b00,
- 0x21034b00,
- 0x21034400,
- 0x21034b00,
+ 0x21038500,
+ 0x21038500,
+ 0x21037e00,
+ 0x21038500,
0xc9067b02,
0x2e85098e,
0xc9047b08,
0x10515121,
0x24005082,
0xe10c2281,
+ 0x240010c4,
+ 0x2f000184,
+ 0x2e808f8e,
+ 0xc90bca2f,
+ 0x24000082,
+ 0x1f002222,
+ 0xc9006e0a,
+ 0x24ffa8c1,
+ 0x24100081,
+ 0xe1d801d1,
+ 0x24ff48c1,
+ 0x24040081,
+ 0x24000091,
+ 0xe100a18f,
+ 0xe10ce192,
+ 0x1f000202,
+ 0x10828281,
+ 0x240200c1,
+ 0x24000060,
+ 0xd1006006,
+ 0x24000082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f006060,
+ 0xd1016006,
+ 0x24001082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f016060,
+ 0xd1026006,
+ 0x24003082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f026060,
+ 0xd1036006,
+ 0x24004082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f036060,
+ 0xd1046006,
+ 0x24006082,
+ 0xf1040220,
+ 0x69004003,
+ 0xe1042281,
+ 0x1f046060,
+ 0x6f1f60e2,
0x2100e600,
0x24000086,
0x2f0080c6,
0x2100e600,
0x240018c4,
0x2f000384,
- 0x21020200,
+ 0x21023c00,
0x240014c4,
0x2f000384,
0x69016a13,
0x592c8002,
- 0x2101ff00,
+ 0x21023900,
0x2e80838e,
0x71046e04,
0x240011d9,
0x2100e600,
0x69066a0e,
0x59148002,
- 0x2101ff00,
+ 0x21023900,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2101b200,
+ 0x2101e400,
0x2100e600,
0x69076a0e,
0x59148002,
- 0x2101ff00,
+ 0x21023900,
0x2e80878e,
0x24000cc4,
0x51006e08,
0x2f000384,
0x2e80858f,
0x05016e6e,
- 0x2101c000,
+ 0x2101f200,
0x2100e600,
0x69086a19,
0x24003cc0,
0x58c08002,
- 0x2101ff00,
+ 0x21023900,
0x2e808b8e,
0x240100c2,
0x51006e12,
0x2f000184,
0x2e80898f,
0x05016e6e,
- 0x2101cf00,
+ 0x21020100,
0x2100e600,
0x69096a1a,
0x2400a0c0,
0x58c08002,
- 0x2101ff00,
+ 0x21023900,
0x2e808d8e,
0x240300c2,
0x51006e13,
0x8082fc91,
0x01108282,
0x05014e4e,
- 0x2101ee00,
+ 0x21022000,
0x240018c4,
0x2f000184,
0x2e808b8f,
0x05016e6e,
- 0x2101e800,
+ 0x21021a00,
+ 0x2100e600,
+ 0x690a6a08,
+ 0x590c8002,
+ 0x21023900,
+ 0x2e80838e,
+ 0x24ffa8c2,
+ 0x24100082,
+ 0xe1d0628e,
0x2100e600,
0x240002d9,
0x1f047b7b,
0x108181ce,
0x10c1c18f,
0x570800e2,
- 0x21024f00,
+ 0x21028900,
0xc907ff00,
0x911007ca,
0x1d0f8a8a,
0x11c00101,
0x51014703,
0x24001641,
- 0x21028200,
+ 0x2102bc00,
0x24000d41,
0x12410101,
0x812607c1,
0x11c01a00,
0x51000003,
0x0b057a21,
- 0x2102b400,
+ 0x2102ee00,
0xd1010105,
0x11071a00,
0x51000003,
0x00214646,
0x00018686,
0x24000042,
- 0x2102c600,
+ 0x21030000,
0x00228686,
0xc901680a,
0x00224646,
- 0x2102c600,
+ 0x21030000,
0xc9026804,
0x0b057a02,
0x00028686,
0x69010206,
0xd1076603,
0x2400002e,
- 0x2102f000,
+ 0x21032a00,
0x2400012e,
- 0x2102f000,
+ 0x21032a00,
0x69050214,
0x1046462e,
0x81186787,
diff --git a/fw/v1/pacfgcmn.p b/fw/v1/pacfgcmn.p
index e8084322ab1f6050a7bee952cf41a5644fc16b84..d396789797b29b40f12aaa02664a4bf28d6d1aae 100644 (file)
--- a/fw/v1/pacfgcmn.p
+++ b/fw/v1/pacfgcmn.p
l_paComConfigPa6_mbox_tx_post:
mov r2.w0, FIRMWARE_TXCMD_PDSP_MBOX
- sbbo r1, r2, FIRMWARE_CMD_PKT_CTRL_CFG_OFFSET, 4
-
- // pass through
-
-
+ sbbo r1, r2, FIRMWARE_CMD_PKT_CTRL_CFG_OFFSET, 4
+
+ // pass through
+
l_paComConfigPa7:
// Scroll the CDE past the command, max counts, valid events, eroute enables and pktControl
//mov s_cdeCmdWd.operation, CDE_CMD_WINDOW_ADVANCE
//pass through
l_paComConfigPa11:
-
+ mov s_cdeCmdWd.byteCount, 2*SIZE(s_paComOutAcl) + 2*SIZE(s_paComRa)
+ xout XID_CDECTRL, s_cdeCmdWd, 4
+
+ xin XID_CDEDATA, s_eoamCfg, SIZE(s_eoamCfg)
+ qbbc l_paComConfigPa12, s_paCmdCfgA.validFlag.t_paCmdConfigValidEoam
+ // clear eoam valid bits and control bits
+ mov r2.w0, 0
+ // post EOAM enable (PDSP1, PDSP5) and PA time Stamp enable for all the Ingress PDSPs when EOAM is enabled
+ // qbbc l_paComConfigPa12, s_paComPktCtrl.validBitMap.t_pa_pkt_ctrl_eoam_mode
+ // there is no valid bit map for EOAM, it is always valid when EOAM configuration is sent
+ set r2.b1.t_eoamEn
+ qbbc l_paComConfigPa11_0, s_eoamCfg.ctrlBitmap.t_eoam_ctrl_enable
+ // The EOAM global configurations are split and stored into Ingress 0 and Egress 0 scratch
+ // Store multiplication factor (2 bytes) in Egress0 Scratch
+ mov r1, PAMEM_CONST_MODIFY_EGRESS0
+ sbbo s_eoamCfg.mul, r1, OFFSET_CONVERT_TIMESTAMP + 8, 2
+
+ // Rest of them are all configurations to be stored in Ingress 0 Scratch
+ mov r1, PAMEM_CONST_RO_TIME_ACC_INGRESS0
+ // since mul is overlaid with the current roll over count, clear the count
+ ldi s_timeAccConstants.rollOverCnt, 0
+ sbbo s_timeAccConstants, r1, OFFSET_RO_TIME_ACC_CONSTANTS, SIZE(s_timeAccConstants)
+ sbbo s_eoamExceptionTbl, r1, OFFSET_EOAM_EXCEPTION_TBL, SIZE(s_eoamExceptionTbl)
+ // Enable EOAM
+ set r2.b0.t_eoamEn
+
+l_paComConfigPa11_0:
+ mov r1.w0, r2.w0
+ // Configure Eoam
+ mov r1.w2, FIRMWARE_CMD_EOAM_CFG << 8
+ // Wait until the previous command is ack-ed BIG Loop
+ mov r0.b3, 0
+l_paComConfigPa11_1:
+ qbbs l_paComConfigPa11_2, r0.b3.t0
+ // Mail box posting is not done yet, check if we are done waiting?
+ mov r2.w0, FIRMWARE_P0_MBOX
+ lbbo r0.b2, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 1
+ qbne l_paComConfigPa11_2, r0.b2, 0
+ // Command can be posted
+ sbbo r1, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ // Indicate mail box post done for PDSP0
+ set r0.b3.t0
+
+l_paComConfigPa11_2:
+ qbbs l_paComConfigPa11_3, r0.b3.t1
+ // Mail box posting is not done yet, check if we are done waiting?
+ mov r2.w0, FIRMWARE_P1_MBOX
+ lbbo r0.b2, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 1
+ qbne l_paComConfigPa11_3, r0.b2, 0
+ // Command can be posted
+ sbbo r1, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ // Indicate mail box post done for PDSP0
+ set r0.b3.t1
+
+l_paComConfigPa11_3:
+ qbbs l_paComConfigPa11_4, r0.b3.t2
+ // Mail box posting is not done yet, check if we are done waiting?
+ mov r2.w0, FIRMWARE_P3_MBOX
+ lbbo r0.b2, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 1
+ qbne l_paComConfigPa11_4, r0.b2, 0
+ // Command can be posted
+ sbbo r1, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ // Indicate mail box post done for PDSP0
+ set r0.b3.t2
+
+l_paComConfigPa11_4:
+ qbbs l_paComConfigPa11_5, r0.b3.t3
+ // Mail box posting is not done yet, check if we are done waiting?
+ mov r2.w0, FIRMWARE_P4_MBOX
+ lbbo r0.b2, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 1
+ qbne l_paComConfigPa11_5, r0.b2, 0
+ // Command can be posted
+ sbbo r1, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ // Indicate mail box post done for PDSP0
+ set r0.b3.t3
+
+l_paComConfigPa11_5:
+ qbbs l_paComConfigPa11_6, r0.b3.t4
+ // Mail box posting is not done yet, check if we are done waiting?
+ mov r2.w0, FIRMWARE_P6_MBOX
+ lbbo r0.b2, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 1
+ qbne l_paComConfigPa11_6, r0.b2, 0
+ // Command can be posted
+ sbbo r1, r2, FIRMWARE_CMD_EOAM_CFG_OFFSET, 4
+ // Indicate mail box post done for PDSP0
+ set r0.b3.t4
+
+l_paComConfigPa11_6:
+ // Wait until all mail box are posted
+ qbne l_paComConfigPa11_1, r0.b3, 0x1F
+
+ //pass through
+l_paComConfigPa12:
jmp f_cfgReply
.leave cdeScope
jmp f_cfgReply
l_paSysConfigPa10:
+ qbne l_paSysConfigPa11, s_paCmdSysCfg.sysCode, PA_SYSTEM_CONFIG_CODE_TIMESTAMP
+ // Process Ethernet OAM Time offset correction command
+ qble l_paSysConfigPa10a, r0.w0, PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_EOAM_TOFFSET
+ jmp l_paSysConfigPa_err
+
+l_paSysConfigPa10a:
+ // Load default route configuration
+ xin XID_CDEDATA, s_timeStampOffsetCfg, SIZE(s_timeStampOffsetCfg)
+ // Store the configurations in Egress 0 scratch
+ mov r2, PAMEM_CONST_MODIFY_EGRESS0
+ sbbo s_timeStampOffsetCfg, r2, OFFSET_CONVERT_TIMESTAMP, SIZE(s_timeStampOffsetCfg)
+ jmp f_cfgReply
+
+l_paSysConfigPa11:
// Error Handling: invalid command
mov s_pktCxt2.commandResult, PA_COMMAND_RESULT_INVALID_CMD
set s_pktCxt2.ctrlFlag.t_cmdResultPatch
diff --git a/fw/v1/pam.p b/fw/v1/pam.p
index e472b3d283ae830480fd4d8a6dcd1f452a42f8e2..8dc1f3319ba7af0e0ca2a490f58f5987de719eb2 100644 (file)
--- a/fw/v1/pam.p
+++ b/fw/v1/pam.p
// Extract the sub command code
and r1.b0, s_ipFrag.cmdId_subCode, PA_SUB_CMD_CODE_MASK
+ qbeq f_insTime, r1.b0, PA_SUB_CMD_CODE_INSERT_MSG_TIME
+ qbeq f_insCount, r1.b0, PA_SUB_CMD_CODE_INSERT_MSG_CNT
qbeq f_patchCrc, r1.b0, PA_SUB_CMD_CODE_PATCH_CRC
qbeq fci_mProc4, r1.b0, PA_SUB_CMD_CODE_DUMMY
-
+
+f_insTime:
+ // TBD
+f_insCount:
+ // TBD
#ifndef PASS_PROC_IP_FRAG
jmp fci_mProc4
mov s_cdeCmdWd.byteCount, IPV6_HEADER_LEN_BYTES
l_ipv6Frag_ShiftCheck:
- qbeq l_ipv6Frag_ProcessIp_none, s_ipFragCxt.nextHdr, IP_PROTO_NEXT_IPV6_FRAG // Can't frag a fragged packet
+ // Can not frag a fragged packet
+ qbeq l_ipv6Frag_ProcessIp_none, s_ipFragCxt.nextHdr, IP_PROTO_NEXT_IPV6_FRAG
qbeq l_ipv6Frag_CheckNext, s_ipFragCxt.nextHdr, IP_PROTO_NEXT_IPV6_HOP_BY_HOP
qbeq l_ipv6Frag_CheckNext, s_ipFragCxt.nextHdr, IP_PROTO_NEXT_IPV6_ROUTE
qbeq l_ipv6Frag_CheckNext, s_ipFragCxt.nextHdr, IP_PROTO_NEXT_IPV6_DEST_OPT
add r0, s_ipFragCxt.ipHdrLen, IPV6_OPT_FRAG_EXTENSION_LEN_BYTES
sub s_ipFragCxt.payloadSize, s_ipFragCxt.mtuSize, r0
- // If the non-fragmentable portion consumes the full mtu, we can't frag
+ // If the non-fragmentable portion consumes the full mtu, we can not frag
qbge l_ipv6Frag_ProcessIp_none, s_ipFragCxt.mtuSize, r0
// FragTotalSize (length of fragmentable data) = ipLen - ipHdrLen
diff --git a/fw/v1/parse1.p b/fw/v1/parse1.p
index ffa3662791dde02e1f5875bf987009d47d1d1cc0..f1321abedd7651bd6292a6bdb68d7658ff603c2e 100644 (file)
--- a/fw/v1/parse1.p
+++ b/fw/v1/parse1.p
f_c1ParseMac:
#ifdef PASS_PROC_FIREWALL
+ qbbs l_c1ParseMacEoam, s_runCxt.flag3.t_eoamEn
jmp fci_c1FirewallException
-#endif
-
-#ifdef PASS_PROC_L2
+l_c1ParseMacEoam:
+ // May need to rewind to beginning of the packet
+ // clear all the EOAM flags, they would be set per packet after EOAM parse
+#ifdef PASS_PROC_EOAM
+ // clr s_pktCxt6.eoamFlags.t_flag_ip
+ // clr s_pktCxt6.eoamFlags.t_flag_cipherPkt
+ // clr s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ // clr s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ // clr s_pktCxt6.eoamFlags.t_flag_8021ag
+ mov s_pktCxt6.eoamFlags, 0
+ mov s_pktCxt6.startOffsetEoam, 0
+#endif // PASS_PROC_EOAM
+#endif // PASS_PROC_FIREWALL
+
+#ifdef PASS_PROC_L2_PARSE
+
+#ifndef PASS_PROC_EOAM
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_MAC
// Verify and clear psFlags_errorFlags
wbs s_flags.info.tStatus_CDEOutPacket
mov r1.b0, 0
sbco r1.b0, cCdeOutPkt, OFFSET(s_pktDescr.psFlags_errorFlags), SIZE(s_pktDescr.psFlags_errorFlags)
-
+
// record the input EMA port number (1-4)
// Note: It is one-based port number where 0 indicates that the packet is not from CPSW
// We can simply add the EMAC port without mask since this is only place that this field may be updated from initial value (0)
//qbeq l_c1ParseMac_1, s_pktDescr.srcId, 0
qbbc l_c1ParseMac_1, s_pktDescr.psFlags_errorFlags.t_psFlags_crcPresent
sub s_pktCxt.endOffset, s_pktCxt.endOffset, 4
-
+#endif // PASS_PROC_EOAM
+
l_c1ParseMac_1:
// update inport
zero &s_l1View3bMac, SIZE(s_l1View3bMac)
// Write the entire view to the lut
xout XID_LUT1V1, s_l1View1aMac, SIZE(s_l1View1aMac)
-
+
+#ifndef PASS_PROC_EOAM
// cdeCmdWd.operation already has CDE_CMD_WINDOW_ADVANCE
add s_pktCxt.startOffset, s_pktCxt.startOffset, SIZE(s_macAddr)
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, SIZE(s_macAddr)
+ mov s_cdeCmdWd.operation, CDE_CMD_WINDOW_ADVANCE
+#endif // PASS_PROC_EOAM
+
mov s_cdeCmdWd.byteCount, SIZE(s_macAddr)
xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
l_c1ParseMac_BM:
// Detect Broadcast & Multicast
qbbc l_c1ParseMac_BM_end, s_macAddr.DstAddr_01.t_eth_multicast_ind
+#ifndef PASS_PROC_EOAM
// assume it is muticast
set s_pktCxt.flags.t_flag_multicast
+#endif // PASS_PROC_EOAM
set s_l1View3bMac.pktFlags.fL2Mcast
l_c1ParseMac_BM_0:
qbne l_c1ParseMac_BM_end, s_macAddr.DstAddr_01, r0
qbne l_c1ParseMac_BM_end, s_macAddr.DstAddr_23, r0
qbne l_c1ParseMac_BM_end, s_macAddr.DstAddr_45, r0
+#ifndef PASS_PROC_EOAM
// It is broadcast
clr s_pktCxt.flags.t_flag_multicast
- clr s_l1View3bMac.pktFlags.fL2Mcast
set s_pktCxt.flags.t_flag_broadcast
+#endif // PASS_PROC_EOAM
+ clr s_l1View3bMac.pktFlags.fL2Mcast
set s_l1View3bMac.pktFlags.fL2Bcast
l_c1ParseMac_BM_end:
qbne l_c1ProcessTagOrLen9, s_tagOrLen.asap, 0xaa
qbne l_c1ProcessTagOrLen9, s_tagOrLen.ctrl, 0x03
+#ifndef PASS_PROC_EOAM
//Padding check ?
qbbc l_c1ProcessTagOrLen00, s_runCxt.flag2.t_macPaddingChk
// Is payload length >= 46?
jmp l_c1ProcessTagOrLen9_1
-l_c1ProcessTagOrLen00:
+l_c1ProcessTagOrLen00:
// Mark 802.3
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_802_3
+#endif // PASS_PROC_EOAM
set s_l1View3bMac.pktFlags.f802p3
// Copy the new ethertype value to the common location
// Copy the ethertype value to LUT1 view 1
mov s_l1View1aMac.etherType, s_tagOrLen.len
+
xout XID_LUT1V1, s_l1View1aMac.etherType, SIZE(s_l1View1aMac.etherType)
xout XID_LUT1V3, s_l1View3bMac, SIZE(s_l1View3bMac)
// cdeCmdWd.operation already has the value CDE_CMD_WINDOW_ADVANCE
xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
+#ifndef PASS_PROC_EOAM
// Track the active parse
- add s_pktCxt.startOffset, s_pktCxt.startOffset, s_cdeCmdWd.byteCount
+ add s_pktCxt.startOffset, s_pktCxt.startOffset, s_cdeCmdWd.byteCount
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, s_cdeCmdWd.byteCount
+#endif // PASS_PROC_EOAM
// Determine the next header type based on the tag value
// These are arranged in order of expected appearance to reduce cycles in
mov s_param.action, SUBS_ACTION_LOOKUP
-.using ipScope
-
qbne l_c1ProcessTagOrLen1, s_tagOrLen.len, s_ethertypes.ip
- // Store DSCP in case we need DSCP priority routing
- xin XID_CDEDATA, s_Ip, OFFSET(s_Ip.totalLen)
- lsr s_pktCxt.priority, s_Ip.tos, 2
- mov s_next.Hdr, PA_HDR_IPv4
- ret
-
+ jmp f_l2Ipv4Proc
+
l_c1ProcessTagOrLen1:
qbne l_c1ProcessTagOrLen2, s_tagOrLen.len, s_ethertypes.ipv6
- // Store DSCP in case we need DSCP priority routing
- xin XID_CDEDATA, s_Ipv6a, OFFSET(s_Ipv6a.payloadLen)
- lsr s_pktCxt.priority, s_Ipv6a.ver_tclass_flow.w2, 4
- lsr s_pktCxt.priority, s_pktCxt.priority, 2
- mov s_next.Hdr, PA_HDR_IPv6
- ret
-.leave ipScope
+ jmp f_l2Ipv6Proc
l_c1ProcessTagOrLen2:
-
qbne l_c1ProcessTagOrLen3, s_tagOrLen.len, s_ethertypes.vlan
set s_l1View3bMac.pktFlags.fL2Vlan1
- mov s_param.action, SUBS_ACTION_PARSE
- mov s_next.Hdr, PA_HDR_VLAN
- ret
-
+ // mov s_param.action, SUBS_ACTION_PARSE
+ // mov s_next.Hdr, PA_HDR_VLAN
+ // ret
+ jmp f_c1ParseVlan
l_c1ProcessTagOrLen3:
qbne l_c1ProcessTagOrLen4, s_tagOrLen.len, s_ethertypes.SpVlan
set s_l1View3bMac.pktFlags.fL2Vlan2
- mov s_param.action, SUBS_ACTION_PARSE
- mov s_next.Hdr, PA_HDR_VLAN
- ret
+ // mov s_param.action, SUBS_ACTION_PARSE
+ // mov s_next.Hdr, PA_HDR_VLAN
+ // ret
+ jmp f_c1ParseVlan
l_c1ProcessTagOrLen4:
qbne l_c1ProcessTagOrLen5, s_tagOrLen.len, s_ethertypes.mpls
- mov s_param.action, SUBS_ACTION_PARSE
- mov s_next.Hdr, PA_HDR_MPLS
- ret
+ // mov s_param.action, SUBS_ACTION_PARSE
+ // mov s_next.Hdr, PA_HDR_MPLS
+ // ret
+ jmp f_c1ParseMpls
l_c1ProcessTagOrLen5:
qbne l_c1ProcessTagOrLen6, s_tagOrLen.len, s_ethertypes.mplsMulti
- mov s_param.action, SUBS_ACTION_PARSE
- mov s_next.Hdr, PA_HDR_MPLS
- ret
+ // mov s_param.action, SUBS_ACTION_PARSE
+ // mov s_next.Hdr, PA_HDR_MPLS
+ // ret
+ jmp f_c1ParseMpls
l_c1ProcessTagOrLen6:
qbne l_c1ProcessTagOrLen6_1, s_tagOrLen.len, s_ethertypes.PPPoE
- mov s_param.action, SUBS_ACTION_PARSE
- mov s_next.Hdr, PA_HDR_PPPoE
- ret
+ // mov s_param.action, SUBS_ACTION_PARSE
+ // mov s_next.Hdr, PA_HDR_PPPoE
+ // ret
+ jmp f_c1ParsePPPoE
l_c1ProcessTagOrLen6_1:
qbne l_c1ProcessTagOrLen7, s_tagOrLen.len, s_ethertypes.PPPoE_discov
+#ifndef PASS_PROC_EOAM
// Mark PPPoE packet and then pass through
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_PPPoE
+#endif // PASS_PROC_EOAM
set s_l1View3bMac.pktFlags.fPPPoE //no match required
-l_c1ProcessTagOrLen7:
+l_c1ProcessTagOrLen7:
+#ifndef PASS_PROC_EOAM
// Unknown ethertype proceed to lookup with next header type unknown.
mov s_next.Hdr, PA_HDR_UNKNOWN
-
// 802.1ag detection
qbbc l_c1ProcessTagOrLen8, s_runCxt.flag2.t_802_1agDet
+#endif // PASS_PROC_EOAM
// Common rule (draft and standard) 01 80 C2 XX XX XX or 01 80 C2 00 00 3X
mov r0.w0, ETH_TYPE_802_1AG
qbne l_c1ProcessTagOrLen8, s_tagOrLen.len, r0.w0
qbne l_c1ProcessTagOrLen8, s_macAddr.DstAddr_01.b1, 0x01
qbne l_c1ProcessTagOrLen8, s_macAddr.DstAddr_01.b0, 0x80
qbne l_c1ProcessTagOrLen8, s_macAddr.DstAddr_23.b1, 0xc2
+#ifndef PASS_PROC_EOAM
// draft or standard
qbbc l_c1ProcessTagOrLen7_1, s_runCxt.flag2.t_802_1agStd
+#endif // PASS_PROC_EOAM
qbne l_c1ProcessTagOrLen8, s_macAddr.DstAddr_23.b0, 0x00
qbne l_c1ProcessTagOrLen8, s_macAddr.DstAddr_45.b1, 0x00
and r0.b0, s_macAddr.DstAddr_45.b0, 0xF0
l_c1ProcessTagOrLen7_1:
// 802.1ag packet detected
+#ifndef PASS_PROC_EOAM
// Note: save one instruction since pl1Match is not important for exception route
or s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, EROUTE_802_1ag << PKT_EIDX_SHIFT
jmp l_c1ProcessTagOrLen9_2
+#else
+ // Record the opcde and meg level in packet context
+ set s_pktCxt6.eoamFlags.t_flag_8021ag
+.using eoamScope
+ // Store MEG Level and Opcode in case we need EOAM routing
+ xin XID_CDEDATA, s_Eoam, SIZE(s_Eoam)
+ lsr s_pktCxt6.megLevel, s_Eoam.megVer, EOAM_MEL_SHIFT
+ mov s_pktCxt6.opcode, s_Eoam.opcode
+
+ qbne l_c1ProcessTagOrLen7_2, s_Eoam.opcode, PA_EOAM_OPCODE_MATCH1
+ set s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ jmp l_c1ProcessTagOrLen7_6
+
+l_c1ProcessTagOrLen7_2:
+ qbne l_c1ProcessTagOrLen7_3, s_Eoam.opcode, PA_EOAM_OPCODE_MATCH2
+ set s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ jmp l_c1ProcessTagOrLen7_6
+
+l_c1ProcessTagOrLen7_3:
+ qbne l_c1ProcessTagOrLen7_4, s_Eoam.opcode, PA_EOAM_OPCODE_MATCH3
+ set s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ jmp l_c1ProcessTagOrLen7_6
+
+l_c1ProcessTagOrLen7_4:
+ qbne l_c1ProcessTagOrLen7_5, s_Eoam.opcode, PA_EOAM_OPCODE_MATCH4
+ set s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ jmp l_c1ProcessTagOrLen7_6
+
+l_c1ProcessTagOrLen7_5:
+ qbne l_c1ProcessTagOrLen7_6, s_Eoam.opcode, PA_EOAM_OPCODE_MATCH5
+ set s_pktCxt6.eoamFlags.t_flag_knownOpcodes
+ // jmp l_c1ProcessTagOrLen7_6
+
+l_c1ProcessTagOrLen7_6:
+.leave eoamScope
+#endif // PASS_PROC_EOAM
l_c1ProcessTagOrLen8:
+#ifndef PASS_PROC_EOAM
xout XID_LUT1V3, s_l1View3bMac, SIZE(s_l1View3bMac)
ret
-
+#else
+.using eoamScope
+ // Parse through the Exception protocols to disable count for match
+ // Load the protocol list from the exception table
+ // Check with each exception tabled protocol to force disable the counts
+
+ mov r1, OFFSET_EOAM_EXCEPTION_TBL
+ // Load first two protocols to check
+ lbco r3, PAMEM_CONST_EOAM_EXC_TABLE, r1, 4
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w2, 0
+ qbne l_c1ProcessEoamCheckProto1, r3.w2, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto1:
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w0, 0
+ qbne l_c1ProcessEoamCheckProto2, r3.w0, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto2:
+ // point to next two exception protocols
+ add r1, r1, 4
+ lbco r3, PAMEM_CONST_EOAM_EXC_TABLE, r1, 4
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w2, 0
+ qbne l_c1ProcessEoamCheckProto3, r3.w2, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto3:
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w0,0
+ qbne l_c1ProcessEoamCheckProto4, r3.w0, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto4:
+ // point to next two exception protocols
+ add r1, r1, 4
+ lbco r3, PAMEM_CONST_EOAM_EXC_TABLE, r1, 4
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w2, 0
+ qbne l_c1ProcessEoamCheckProto5, r3.w2, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto5:
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w0, 0
+ qbne l_c1ProcessEoamCheckProto6, r3.w0, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto6:
+ // point to next two exception protocols
+ add r1, r1, 4
+ lbco r3, PAMEM_CONST_EOAM_EXC_TABLE, r1, 4
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w2,0
+ qbne l_c1ProcessEoamCheckProto1, r3.w2, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamCheckProto7:
+ qbeq l_c1ProcessEoamExcProcComplete, r3.w0, 0
+ qbne l_c1ProcessEoamExcProcComplete, r3.w0, s_tagOrLen.len
+ set s_pktCxt6.eoamFlags.t_flag_fDisableCnt
+ //jmp l_c1ProcessEoamExcProcComplete
+
+l_c1ProcessEoamExcProcComplete:
+ jmp fci_c1Parse14
+.leave eoamScope
+#endif // PASS_PROC_EOAM
l_c1ProcessTagOrLen9:
// LLC/SNAP failure
mov s_stats.value, PA_STATS_UPDATE_REQ | PA_STATS_LLC_SNAP_FAIL
-
+
l_c1ProcessTagOrLen9_1:
// Note: save one instruction since pl1Match is not important for exception route
or s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, EROUTE_PARSE_FAIL << PKT_EIDX_SHIFT
+
l_c1ProcessTagOrLen9_2:
mov s_param.action, SUBS_ACTION_EXIT
ret
-
+
#else
// Error Handling
mov s_param.action, SUBS_ACTION_EXIT
ret
-#endif
+#endif // PASS_PROC_L2_PARSE
.leave lut1Scope
.leave pktScope
.leave cdeScope
.leave macVlanScope
+#ifdef PASS_PROC_L2_PARSE
+// ************************************************************************************
+// * FUNCTION PURPSE: Process Ipv4 packet in L2 Parsing
+// ************************************************************************************
+// * DESCRIPTION: Process the IP packet, (EOAM: Also record the RA specific information)
+// *
+// * On entry:
+// * - CDE points at the IPV4 header
+// * - cdeCmdWd.operation has CDE_CMD_WINDOW_ADVANCE
+// * - param.action has SUBS_ACTION_PARSE
+// *
+// * On exit:
+// * - CDE points to the 1st byte after the ethertype (and llc/snap if present)
+// * - param.action has the next action to take
+// * - cdeCmdWd.operation has CDE_CMD_WINDOW_ADVANCE
+// *
+// * Register Usage:
+// *
+// * R0: scratch
+// * R1: scratch
+// * R2: | checkScope
+// * R3: b0 - next header type - pktScope
+// * R4: | CDE commands - cdeScope
+// * R5: | -
+// * R6: | |
+// * R7: | |
+// * R8: | | Note: Should not be overwritten by other prorocol header
+// * R9: | LUT1 View - lut1Scope
+// * R10: | |
+// * R11: | | LUT1 View3
+// * R12: | |
+// * R13: | |
+// * R14: | (packet extended descriptor)
+// * R15: |
+// * R16: |
+// * R17: | LUT1 View - lut1Scope
+// * R18: | |
+// * R19: | | ethertypes table
+// * R20: | |
+// * R21: | |
+// * R22: |
+// * R23: | Packet context - pktScope
+// * R24: |
+// * R25: |
+// * R26: |
+// * R27: |
+// * R28:
+// * R29: c1RunContext (s_runCxt) - Global Scope
+// * R30: w2-param.action w0-function return address -
+// * R31: System Flags (s_flags) -
+// *
+// ***********************************************************************************/
+
+ .using lut1Scope
+ .using pktScope
+ .using cdeScope
+ .using ipScope
+
+f_l2Ipv4Proc:
+
+#ifndef PASS_PROC_EOAM
+ // Store DSCP in case we need DSCP priority routing
+ xin XID_CDEDATA, s_Ip, OFFSET(s_Ip.checksum)
+ lsr s_pktCxt.priority, s_Ip.tos, 2
+ mov s_next.Hdr, PA_HDR_IPv4
+ ret
+#else
+ xin XID_CDEDATA, s_Ip, SIZE(s_Ip)
+ set s_runCxt.flags.t_l4Avil
+ set s_pktCxt6.eoamFlags.t_flag_ip
+ // Setup RA Info
+ lbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+ mov s_raInfo.l3Offset, s_pktCxt6.startOffsetEoam
+
+ // Fragmentation check
+ mov r3.w0, IPV4_FRAG_MASK
+ and r3.w0, s_Ip.fragOff, r3.w0
+ qbeq l_l2Ipv4Proc_2, r3.w0, 0
+ clr r3.w0.t_ipv4_frag_m
+ qbeq l_l2Ipv4Proc_1, r3.w0, 0
+ clr s_runCxt.flags.t_l4Avil
+
+l_l2Ipv4Proc_1:
+ set s_raInfo.flags.t_ra_flag_reasm
+
+l_l2Ipv4Proc_2:
+
+ sbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+
+ // Check if it is ESP header as next Header, if so set Cipher Pkt Detected
+ qbne l_l2Ipv4Proc_3, s_Ip.protocol, IP_PROTO_NEXT_ESP
+ set s_pktCxt6.eoamFlags.t_flag_cipherPkt
+
+l_l2Ipv4Proc_3:
+ qbne l_l2Ipv4Proc_4, s_Ip.protocol, IP_PROTO_NEXT_AUTH
+ set s_pktCxt6.eoamFlags.t_flag_cipherPkt
+
+l_l2Ipv4Proc_4:
+ jmp fci_c1Parse14
+#endif
+ .leave lut1Scope
+ .leave pktScope
+ .leave cdeScope
+ .leave ipScope
+
+// ************************************************************************************
+// * FUNCTION PURPSE: Process Ipv6 packet in L2 Parsing
+// ************************************************************************************
+// * DESCRIPTION: Process the IP packet, (EOAM: Also record the RA specific information)
+// *
+// * On entry:
+// * - CDE points at the IPV4 header
+// * - cdeCmdWd.operation has CDE_CMD_WINDOW_ADVANCE
+// * - param.action has SUBS_ACTION_PARSE
+// *
+// * On exit:
+// * - CDE points to the 1st byte after the ethertype (and llc/snap if present)
+// * - param.action has the next action to take
+// * - cdeCmdWd.operation has CDE_CMD_WINDOW_ADVANCE
+// *
+// * Register Usage:
+// *
+// * R0: scratch
+// * R1: scratch
+// * R2: | checkScope
+// * R3: b0 - next header type - pktScope
+// * R4: | CDE commands - cdeScope
+// * R5: | -
+// * R6: | |
+// * R7: | |
+// * R8: | | Note: Should not be overwritten by other prorocol header
+// * R9: | LUT1 View - lut1Scope
+// * R10: | |
+// * R11: | | LUT1 View3
+// * R12: | |
+// * R13: | |
+// * R14: | (packet extended descriptor)
+// * R15: |
+// * R16: |
+// * R17: | LUT1 View - lut1Scope
+// * R18: | |
+// * R19: | | ethertypes table
+// * R20: | |
+// * R21: | |
+// * R22: |
+// * R23: | Packet context - pktScope
+// * R24: |
+// * R25: |
+// * R26: |
+// * R27: |
+// * R28:
+// * R29: c1RunContext (s_runCxt) - Global Scope
+// * R30: w2-param.action w0-function return address -
+// * R31: System Flags (s_flags) -
+// *
+// ***********************************************************************************/
+
+ .using lut1Scope
+ .using pktScope
+ .using cdeScope
+ .using ipScope
+
+// Local structure defintion and assignment
+.struct struct_ipv6Frag_ctrl
+ .u8 nextHdr
+ .u8 hdrLen
+ .u16 rsvd
+.ends
+
+.assign struct_ipv6Frag_ctrl, r6, r6, s_ipv6Frag_ctrl
+
+f_l2Ipv6Proc:
+#ifndef PASS_PROC_EOAM
+ // Store DSCP in case we need DSCP priority routing
+ xin XID_CDEDATA, s_Ipv6a, OFFSET(s_Ipv6a.payloadLen)
+ lsr s_pktCxt.priority, s_Ipv6a.ver_tclass_flow.w2, 4
+ lsr s_pktCxt.priority, s_pktCxt.priority, 2
+ mov s_next.Hdr, PA_HDR_IPv6
+ ret
+#else
+ set s_pktCxt6.eoamFlags.t_flag_ip
+ set s_runCxt.flags.t_l4Avil
+
+ // Setup RA Info
+ lbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+ mov s_raInfo.l3Offset, s_pktCxt6.startOffsetEoam
+
+ add s_raInfo.ipv6NextOffset, s_pktCxt6.startOffsetEoam, OFFSET(s_Ipv6a.next)
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, IPV6_HEADER_LEN_BYTES
+
+ qbbs l_l2Ipv6Proc_1_0, s_pktCxt.flags.t_flag_cascaded_forwarding
+ qbbc l_l2Ipv6Proc_1_0, s_runCxt.flag2.t_raEn
+ sbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+ jmp l_l2Ipv6Proc_1
+l_l2Ipv6Proc_1_0:
+
+ // Read in the IPv6 header.
+ xin XID_CDEDATA, s_Ipv6a, SIZE(s_Ipv6a)
+
+ // Pass 1 operation
+ // Fragmentation detection: Is there fragment header?
+ // Get to nextHdr field in IPv6 header
+ // Load nextHdr and hdrLen field
+ // Check to see if nextHdr is an extension header
+ zero &s_ipv6Frag_ctrl, SIZE(s_ipv6Frag_ctrl)
+ mov s_ipv6Frag_ctrl.nextHdr, s_Ipv6a.next
+ mov s_ipv6Frag_ctrl.hdrLen, IPV6_HEADER_LEN_BYTES
+
+ // Advance past the ipv6 main header
+ mov s_cdeCmdWd.operation, CDE_CMD_WINDOW_ADVANCE
+l_l2Ipv6Proc_exthdrCheck:
+ mov s_cdeCmdWd.byteCount, s_ipv6Frag_ctrl.hdrLen
+ xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
+
+ qbeq l_l2Ipv6Proc_fragfound, s_ipv6Frag_ctrl.nextHdr, IP_PROTO_NEXT_IPV6_FRAG
+ qbeq l_l2Ipv6Proc_exthdrNext, s_ipv6Frag_ctrl.nextHdr, IP_PROTO_NEXT_IPV6_HOP_BY_HOP
+ qbeq l_l2Ipv6Proc_exthdrNext, s_ipv6Frag_ctrl.nextHdr, IP_PROTO_NEXT_IPV6_ROUTE
+ qbeq l_l2Ipv6Proc_exthdrNext, s_ipv6Frag_ctrl.nextHdr, IP_PROTO_NEXT_IPV6_DEST_OPT
+ qbeq l_l2Ipv6Proc_exthdrNext, s_ipv6Frag_ctrl.nextHdr, IP_PROTO_NEXT_IPV6_NO_NEXT
+ jmp l_l2Ipv6Proc_exthdrDone
+
+l_l2Ipv6Proc_exthdrNext:
+ // Read the next header
+ xin XID_CDEDATA, s_ipv6Frag_ctrl, SIZE(s_ipv6Frag_ctrl)
+
+ // adjust the offset for next one
+ add s_ipv6Frag_ctrl.hdrLen, s_ipv6Frag_ctrl.hdrLen, 1
+ lsl s_ipv6Frag_ctrl.hdrLen, s_ipv6Frag_ctrl.hdrLen, 3
+ mov s_raInfo.ipv6NextOffset, s_pktCxt6.startOffsetEoam
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, s_ipv6Frag_ctrl.hdrLen
+
+ jmp l_l2Ipv6Proc_exthdrCheck
+
+l_l2Ipv6Proc_fragfound:
+
+ // The fragmentation header is always 8 bytes. The whole
+ // header is read here, but only the 1st byte is used
+ xin XID_CDEDATA, s_Ipv6Frag, SIZE(s_Ipv6Frag)
+
+ lsr r3.w0, s_Ipv6Frag.fragnFlag, IPV6_FRAG_OFF_SHIFT
+ qbeq l_l2Ipv6Proc_ExtFrag1, r3.w0, 0
+ clr s_l1View3bIpv6.pktFlags.fL3IpContainL4
+ clr s_runCxt.flags.t_l4Avil
+l_l2Ipv6Proc_ExtFrag1:
+ mov s_raInfo.ipv6FragOffset, s_pktCxt6.startOffsetEoam
+ set s_raInfo.flags.t_ra_flag_reasm
+
+l_l2Ipv6Proc_exthdrDone:
+ qbbc l_l2Ipv6Proc_1, s_runCxt.flag2.t_raEn
+ // wbs s_flags.info.tStatus_CDEOutPacket
+ sbco s_raInfo, cCdeOutPkt, SIZE(s_pktDescr) + 24, SIZE(s_raInfo)
+
+ //pass through
+
+l_l2Ipv6Proc_1:
+ // Check if it is ESP header as next Header, if so set Cipher Pkt Detected
+ qbne l_l2Ipv6Proc_2, s_Ipv6a.next, IP_PROTO_NEXT_ESP
+ set s_pktCxt6.eoamFlags.t_flag_cipherPkt
+
+l_l2Ipv6Proc_2:
+ // Check if it is AH header as next Header, if so set Cipher Pkt Detected
+ qbne l_l2Ipv6Proc_3, s_Ipv6a.next, IP_PROTO_NEXT_AUTH
+ set s_pktCxt6.eoamFlags.t_flag_cipherPkt
+
+l_l2Ipv6Proc_3:
+ jmp fci_c1Parse14
+
+#endif
+
+ .leave lut1Scope
+ .leave pktScope
+ .leave cdeScope
+ .leave ipScope
+#endif
// ***********************************************************************************
// * FUNCTION PURPOSE: Parse VLAN tags
// ***********************************************************************************
.using macVlanScope
f_c1ParseVlan:
-
-#ifdef PASS_PROC_L2
-
+#ifdef PASS_PROC_L2_PARSE
+#ifndef PASS_PROC_EOAM
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_VLAN
// Check agains the max
l_c1ParseVlan1:
// Inc the vlan count
add s_pktCxt.protCount, s_pktCxt.protCount, PROT_COUNT_VLAN_STEP
-
+#endif
+
// Read in the pri/cfi/vlanId fields. Mask out pri/cfi
xin XID_CDEDATA, s_vtag.tag, SIZE(s_vtag.tag)
+
+#ifndef PASS_PROC_EOAM
// record vlan priority
and s_pktCxt.vlanPri_vLink.b1, s_vtag.tag.b1, PKT_VALN_PRI_MASK
-
+#endif
+
qbbc l_c1ParseVlan2, s_l1View3bMac.pktFlags.fL2Vlan1
// VLAN2 always appear in front of VLAN1
mov s_l1View3bMac.vlanId1, s_vtag.tag
// pass through
l_c1ParseVlan3:
+#ifndef PASS_PROC_EOAM
add s_pktCxt.startOffset, s_pktCxt.startOffset, SIZE(s_vtag.tag)
-
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, SIZE(s_vtag.tag)
+#endif
// Scroll the CDE past the tag to point to the next ethertype candidate
mov s_cdeCmdWd.byteCount, SIZE(s_vtag.tag)
xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
.using mplsScope
f_c1ParseMpls:
+#ifdef PASS_PROC_L2_PARSE
-#ifdef PASS_PROC_L2
-
+#ifndef PASS_PROC_EOAM
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_MPLS
mov s_stats.value, PA_STATS_UPDATE_REQ | PA_STATS_MPLS_PKTS
-
+#endif
xin XID_CDEDATA, s_mpls, SIZE(s_mpls) // Read in a single tag
// The tag is the 20 MSBs of the 32 bit word
set s_l1View3bMac.pktFlags.fMpls
+#ifndef PASS_PROC_EOAM
add s_pktCxt.startOffset, s_pktCxt.startOffset, SIZE(s_mpls.tagTtl)
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, SIZE(s_mpls.tagTtl)
+#endif
mov s_cdeCmdWd.byteCount, SIZE(s_mpls.tagTtl)
xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
qbbc l_c1ParseMpls1, s_mpls.tagTtl.t_s
lsr r0.b0, s_mpls.ipVer, 4
qbne l_c1ParseMpls0, r0.b0, 4
- mov s_next.hdr, PA_HDR_IPv4
- ret
+ //mov s_next.hdr, PA_HDR_IPv4
+ //ret
+ jmp f_l2Ipv4Proc
l_c1ParseMpls0:
qbne l_c1ParseMpls1, r0.b0, 6
- mov s_next.hdr, PA_HDR_IPv6
- ret
+ // mov s_next.hdr, PA_HDR_IPv6
+ // ret
+ jmp f_l2Ipv6Proc
// If there is more then one label or there is one label but the
// next header doesnt look like IP, run the current packet through the LUT
l_c1ParseMpls1:
+#ifndef PASS_PROC_EOAM
mov s_next.hdr, PA_HDR_UNKNOWN
ret
+#else
+ jmp fci_c1Parse14
+#endif
-#endif
+#endif //PASS_PROC_L2_PARSE
.leave pktScope
.leave cdeScope
f_c1ParsePPPoE:
-#ifdef PASS_PROC_L2
+#ifdef PASS_PROC_L2_PARSE
xin XID_CDEDATA, s_pppoe, SIZE(s_pppoe) // Read in the PPPoE header
// Protocol header error check
qbne l_c1ParsePPPoE_3, s_pppoe.code, PPPoE_CODE_SESSION
l_c1ParsePPPoE_0:
+#ifndef PASS_PROC_EOAM
// Mark PPPoE
set s_pktCxt.hdrBitmask.SUBS_PA_BIT_HEADER_PPPoE
+#endif
set s_l1View3bMac.pktFlags.fPPPoE
mov s_l1View1aMac.PPPoE_SessionId, s_pppoe.sessionId
xout XID_LUT1V1, s_l1View1aMac.PPPoE_SessionId, SIZE(s_l1View1aMac.PPPoE_SessionId)
-
-
+#ifndef PASS_PROC_EOAM
add s_pktCxt.startOffset, s_pktCxt.startOffset, OFFSET(s_pppoe.prot)
add s_pktCxt.endOffset, s_pktCxt.startOffset, s_pppoe.len
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, OFFSET(s_pppoe.prot)
+#endif
// Always perform a lookup after finding an PPPoE headeer
mov s_param.action, SUBS_ACTION_LOOKUP
mov r0.w0, PPPoE_PROT_IPv4
qbne l_c1ParsePPPoE_1, s_pppoe.prot, r0.w0
+#ifndef PASS_PROC_EOAM
add s_pktCxt.startOffset, s_pktCxt.startOffset, SIZE(s_pppoe.prot)
- mov s_next.hdr, PA_HDR_IPv4
- ret
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, SIZE(s_pppoe.prot)
+#endif
+ //mov s_next.hdr, PA_HDR_IPv4
+ //ret
+ jmp f_l2Ipv4Proc
l_c1ParsePPPoE_1:
mov r0.w0, PPPoE_PROT_IPv6
qbne l_c1ParsePPPoE_2, s_pppoe.prot, r0.w0
+#ifndef PASS_PROC_EOAM
add s_pktCxt.startOffset, s_pktCxt.startOffset, SIZE(s_pppoe.prot)
- mov s_next.hdr, PA_HDR_IPv6
- ret
+#else
+ add s_pktCxt6.startOffsetEoam, s_pktCxt6.startOffsetEoam, SIZE(s_pppoe.prot)
+#endif
+ // mov s_next.hdr, PA_HDR_IPv6
+ // ret
+ jmp f_l2Ipv6Proc
// Unsupported protocol
- // next header doesn't look like IP; Exception route
+ // next header does not look like IP; Exception route
l_c1ParsePPPoE_2:
+#ifndef PASS_PROC_EOAM
or s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, EROUTE_PPPoE_CTRL << PKT_EIDX_SHIFT
+#endif
jmp l_c1ParsePPPoE_4
// PPPoE header Error: Exception route
l_c1ParsePPPoE_3:
+#ifndef PASS_PROC_EOAM
or s_pktCxt.eId_portNum_nextHdr.b1, s_pktCxt.eId_portNum_nextHdr.b1, EROUTE_PPPoE_FAIL << PKT_EIDX_SHIFT
-
// pass through
l_c1ParsePPPoE_4:
// Common Error handling
mov s_param.action, SUBS_ACTION_EXIT
mov s_next.hdr, PA_HDR_UNKNOWN
ret
-
+#else
+l_c1ParsePPPoE_4:
+ jmp fci_c1Parse14
+#endif
#endif
.leave pktScope
#ifdef PASS_PROC_L3
-// IPv6 Reassembly-assisted code does not run at PDSP of Frirewall and Reassembly
+// IPv6 Reassembly-assisted code does not run at PDSP of Firewall and Reassembly
#ifndef PASS_PROC_FIREWALL
// Reassembly-assisted operation
ret
#endif
- .leave pktScope
+ .leave pktScope
diff --git a/fw/v1/parsescope.h b/fw/v1/parsescope.h
index 95b7524d80fae8dca58264dc1b8e4deb6d98830f..76aaba37c79a9e934aa87162a653ff97ed53f82e 100644 (file)
--- a/fw/v1/parsescope.h
+++ b/fw/v1/parsescope.h
.assign struct_l1FcInfo, r8, r8, s_l1fFc // l1f for Flow Cache entry
.assign struct_paForward, r9, r9, s_matchForward
.assign struct_paForwardHost, r10, r12, s_matchForward_host
+ .assign struct_paForwardEoam, r10, r12, s_matchForward_eoam
.assign struct_paForwardSa, r10, r12, s_matchForward_sa
.assign struct_paForwardSrio, r10, r12, s_matchForward_srio
.assign struct_paForwardEth, r10, r12, s_matchForward_eth
.assign struct_pasPktContext3, r22, r27, s_pktCxt3
.assign struct_pasPktContext4, r22, r27, s_pktCxt4
.assign struct_pasPktContext5, r22, r27, s_pktCxt5
+ .assign struct_pasPktContext6, r22, r27, s_pktCxt6
.assign struct_pasTxPktContext, r22, r27, s_txPktCxt
.assign struct_pasTxPktContext2, r22, r27, s_txPktCxt2
.assign struct_pasTxPktContext3, r22, r27, s_txPktCxt3
.assign struct_ipTrafficFlow, r11, r13, s_ipTf
.assign struct_ipReassmContext,r14, r17, s_ipReassmCxt
.leave ipScope
+
+ .enter eoamScope
+ .assign struct_eoam, r6, r6, s_Eoam
+ .leave eoamScope
.enter mplsScope
.assign struct_mpls, r14, r15, s_mpls
.assign struct_paAclCfg, r15, r15, s_paComInAcl // Must follow paComOutAcl
.assign struct_paRaCfg, r16, r16, s_paComRa // Must follow paComInAcl
.assign struct_paRaCfg, r17, r17, s_paComRa2 // Must follow paComRa
-
+ .assign struct_eoamCfg, r14, r21, s_eoamCfg // Must follow paComRa2
+ .assign struct_timeAccConstants, r15, r17, s_timeAccConstants // Split up of s_eoamCfg structure
+ .assign struct_eoamExceptionTbl, r18, r21, s_eoamExceptionTbl // Split up of s_eoamCfg structure
+ .assign struct_timeConvConst, r14, r16, s_timeConvConst // Alias to map multiplication
.assign struct_paSystemConfig, r10, r10, s_paCmdSysCfg // Must follow paCmd1
.assign struct_paComEroute, r11, r11, s_paComEroute // Must follow paCmdSysCfg
.assign struct_paFwdPlace, r14, r17, s_paComErouteFwd
.assign struct_paComEQoS, r14, r14, s_paComEQoS
.assign struct_paComIfEQoS, r15, r16, s_paComIfEQoS
.assign struct_paComIfEQoSRouteOffset, r17, r20, s_paComIfEQoSRouteOffset
+ .assign struct_timeStampOffsetCfg, r14, r15, s_timeStampOffsetCfg
.assign struct_paFwdPlace, r16, r19, s_paComDrouteFwd
.assign struct_pktDscFine, r6, r13, s_pktDescr // Must match same value in parsescope
.assign struct_pktDscCpsw, r6, r13, s_pktDescrCpsw // Must match same value in parsescope
diff --git a/fw/v1/pdsp_ethproto.h b/fw/v1/pdsp_ethproto.h
index 2c91820dab411fda523895b072eb2153b25adece..80ff5b51d711fa5503fc40e8bd83dd9228a2ae1c 100644 (file)
--- a/fw/v1/pdsp_ethproto.h
+++ b/fw/v1/pdsp_ethproto.h
#define VLAN_VID_MASK 0x0FFF
#define VLAN_VID_B1_MASK 0x0F
-
+// Ethernet OAM
+.struct struct_eoam
+ .u8 megVer
+ .u8 opcode
+ .u16 rsvd
+.ends
+#define EOAM_MEL_SHIFT 5
#endif // _PDSP_ETHPROTO_H
diff --git a/fw/v1/pdsp_mem.h b/fw/v1/pdsp_mem.h
index a8afdd8152df30d018eff48a15b5ea6f2791a6a9..f90dd9072fd20ea6a3c8c3eb772845bc7050c517 100644 (file)
--- a/fw/v1/pdsp_mem.h
+++ b/fw/v1/pdsp_mem.h
// | | c15
// 0xFFF8:0400 | User-defined Statistics Control blocks | OFFSET_USR_STATS_CB // Post Processing (Used by PDSP0 only)
// | 512 entries of size 2 bytes |
+// | | c16
+// 0xFFF8:0400 | Roll over Time Accumulation Constants | OFFSET_RO_TIME_ACC_CONSTANTS // Ingress0 PDSP0
+// | 12 bytes |
+// | Ethernet OAM Exception Table | OFFSET_EOAM_EXCEPTION_TBL // Ingress0 PDSP1
+// | 16 bytes |
// | |
// | | c16
// 0xFFF8:0800 | User-defined Statistics Counter blocks | OFFSET_USR_STATS_64B_COUNTERS // replaced by the statistics engine
// | MAC Padding Config 4 bytes | OFFSET_MAC_PADDING_CFG
// | Outer IP ACL Config 4 bytes | OFFSET_OUT_IP_ACL_CFG
// | Inner IP ACL Config 4 bytes | OFFSET_IN_IP_ACL_CFG
-// | System Timestamp Tmp 8 bytes | OFFSET_TIMESTAMP_TMP = 0xE0
-// | System Timestamp 8 bytes | OFFSET_SYSTEM_TIMESTAMP = 0xF0
-// | IPv6 Fragmentation ID 4 bytes | OFFSET_IPV6_FRAG_ID = 0xF8
+// | Raw Timestamp Acc 12 bytes | OFFSET_RAW_TIME_ACC = 0xD0
+// | System Timestamp Tmp 8 bytes | OFFSET_TIMESTAMP_TMP = 0xE0
+// | System Timestamp 8 bytes | OFFSET_SYSTEM_TIMESTAMP = 0xF0
+// | IPv6 Fragmentation ID 4 bytes | OFFSET_IPV6_FRAG_ID = 0xF8
// | |
// 0xFF02:0200 | Configurable Exception Routing | c20 - all pdsps EROUTE // Global Memory
// | 32 entries of size 16 bytes |
// | of 32 bytes |
// 0xFFF8:10c0 | Modify PDSP 0 crc cmd. 1 Entry | OFFSET_INSERT_CRC
// | of 8 bytes |
+// 0xFFF8:10d0 | Time Convertion scratch. 1 Entry | OFFSET_CONVERT_TIMESTAMP
+// | of 12 bytes |
// 0xFFF8:10e0 | Modify PDSP 0 timestamp cmd | OFFSET_REPORT_TIMESTAMP
// | 8 bytes |
// 0xFFF8:10f0 | Modify PDSP 0 Ip Frag cmd | OFFSET_IP_FRAG
//
// Constants
//
-//#define cLRAM1 c0 // Pointer to local RAM block 1
-//#define cLRAM2 c1 // Pointer to local RAM block 2
-//#define cLRAM3 c2 // Pointer to local RAM block 3
-//#define cLRAM4 c3 // Pointer to local RAM block 4
-//#define cMailbox c4 // Pointer to Mailbox Registers
-//#define cCdeInPkt c6 // Pointer to CDE new packet input region
-//#define cCdeOutPkt c7 // Pointer to CDE new packet output region
-//#define cCdeHeldPkt c8 // Pointer to CDE held packet region
-//#define cTimer c9 // Pointer to PDSP Timer (PDSP specific)
-//#define cLut1Regs c10 // Pointer to LUT1 Registers (not used)
-//#define cLut2Regs c11 // Pointer to LUT2 Registers
-//#define cStatistics c12 // Pointer to statistics block (check stats operation)
-//#define cIntStatus c13 // Pointer to INTD Status Reg (not used)
-//#define cIntCount c14 // Pointer to INTD Count Registers (not used)
-
// Classifier LUT1
//#define PAMEM_CONST_PDSP_LUT1_INFO c0
+//#define PAMEM_CONST_PDSP_EOAM_TS_CTX c12
+//#define PAMEM_CONST_PDSP_EOAM_STATS_CFG c13
//#define PAMEM_CONST_PDSP_CXT c14
-//#define PAMEM_CONST_TF_TABLE c16
+//#define PAMEM_CONST_EOAM c16
+//#define PAMEM_CONST_RO_TIME_ACC_TABLE c16
//#define PAMEM_CONST_IP_REASSEM_CONTEXT c17
//#define PAMEM_CONST_IP_PROTO c18
//#define PAMEM_CONST_CUSTOM c19
#define PAMEM_CONST_TF_TABLE c16
#define PAMEM_CONST_IP_REASSEM_CONTEXT c17
+// Roll Over Time accumulation scratch pad for Ingress 0: 0xFFF80400
+#define PAMEM_CONST_RO_TIME_ACC_INGRESS0 0xFF480400
+#define PAMEM_CONST_RO_TIME_ACC_TABLE c16
+#define OFFSET_RO_TIME_ACC_CONSTANTS 0
+
+// Ethernet OAM statistics count exception table Ingress 0: 0xFFF80400
+#define PAMEM_CONST_EOAM_EXC_TABLE c16
+#define OFFSET_EOAM_EXCEPTION_TBL 12
+
+
// Scratch memory 2 (0xFFF80A00)
// IP traffic flow and reassembly control blocks
//#define OFFSET_TEMP_BUFFER1 0xF00 // 0xFFF84000 based (temporary storage
#define OFFSET_MAC_PADDING_CFG OFFSET_IPSEC_NAT_T_CFG + 4
#define OFFSET_OUT_IP_ACL_CFG OFFSET_MAC_PADDING_CFG + 4
#define OFFSET_IN_IP_ACL_CFG OFFSET_OUT_IP_ACL_CFG + 4
+#define OFFSET_RAW_TIME_ACC 0xD0
#define OFFSET_TIMESTAMP_TMP 0xE0
#define OFFSET_SYS_TIMESTAMP 0xF0
#define OFFSET_IPV6_FRAG_ID 0xF8
#define OFFSET_EQOS_CFG_EG_DEF_PRI OFFSET_DEFAULT_ROUTE_CFG_BASE - 4
// Modify PDSP Egress0, PDSP0 (0xFFF81000)
+#define PAMEM_CONST_MODIFY_EGRESS0 0xFFA81000
#define PAMEM_CONST_MODIFY c17
#define OFFSET_INSERT_CHKSUM 0
#define OFFSET_BLIND_PATCH 0x40
#define OFFSET_INSERT_CRC 0xc0
+#define OFFSET_CONVERT_TIMESTAMP 0xd0
#define OFFSET_REPORT_TIMESTAMP 0xe0
#define OFFSET_IP_FRAG 0xf0
#define OFFSET_PATCH_MSG_LEN 0xf8
diff --git a/fw/v1/pdsp_mem2.h b/fw/v1/pdsp_mem2.h
index ee64a430a46a9bf43a52f3c7b836e03a795e6f22..7aec54f843a077bfab5ce3f917fc75ba233f54cd 100644 (file)
--- a/fw/v1/pdsp_mem2.h
+++ b/fw/v1/pdsp_mem2.h
// | of 32 bytes |
// 0xFFF8:10c0 | Modify PDSP 0 crc cmd. 1 Entry | OFFSET_INSERT_CRC
// | of 8 bytes |
+// 0xFFF8:10d0 | Time Convertion scratch. 1 Entry | OFFSET_CONVERT_TIMESTAMP
+// | of 12 bytes |
// 0xFFF8:10e0 | Modify PDSP 0 timestamp cmd | OFFSET_REPORT_TIMESTAMP
// | 8 bytes |
// 0xFFF8:10f0 | Modify PDSP 0 Ip Frag cmd | OFFSET_IP_FRAG
//#define OFFSET_INSERT_CHKSUM 0
//#define OFFSET_BLIND_PATCH 0x40
//#define OFFSET_INSERT_CRC 0xc0
+//#define OFFSET_CONVERT_TIMESTAMP 0xd0
//#define OFFSET_REPORT_TIMESTAMP 0xe0
//#define OFFSET_IP_FRAG 0xf0
//#define OFFSET_PATCH_MSG_LEN 0xf8
diff --git a/fw/v1/pdsp_pa.h b/fw/v1/pdsp_pa.h
index ba20198d222b420c62e332f814d083176469c5b3..50d0c3628ed5c12729c0a0e2f0c9bdacf12ac7b4 100644 (file)
--- a/fw/v1/pdsp_pa.h
+++ b/fw/v1/pdsp_pa.h
#define t_pa_ef_valid_rec_lvl3 t2
#define t_pa_ef_valid_rec_lvl4 t3
+// Packet routing info for EOAM packets sent to HOST
+.struct struct_paForwardEoam
+ .u32 context
+ .u16 statsIndex
+ .u8 megLevel
+ .u8 rsvd1
+ .u32 rsvd2
+.ends
+
// Packet routing info for packets dropped
.struct struct_paDiscard
.u32 rsvd1
#define PA_FORWARD_TYPE_SA_DIRECT 5
#define PA_FORWARD_TYPE_DISCARD 6
#define PA_FORWARD_TYPE_EFLOW 7
+#define PA_FORWARD_TYPE_EOAM 8
#define t_pa_fwd_type_ctrl_use_loc_dma t7
#define PA_FORWARD_TYPE_MASK 0x0F
#define t_paCmdConfigValidInAcl t8
#define t_paCmdConfigValidOutRa t9
#define t_paCmdConfigValidInRa t10
+#define t_paCmdConfigValidEoam t11
// Command sizes. The assembler can't do all the SIZE(x)+SIZE(y)+... because of line size limitations
// Command size in 32 bit words is: struct_paCommand: 4
#define PA_SYSTEM_CONFIG_CODE_EGRESS_PCAP 7
#define PA_SYSTEM_CONFIG_CODE_DEFAULT_ROUTE 8
#define PA_SYSTEM_CONFIG_CODE_EQOS 9
+#define PA_SYSTEM_CONFIG_CODE_TIMESTAMP 10
// Command sizes. The assembler can't do all the SIZE(x)+SIZE(y)+... because of line size limitations
// Command size in 32 bit words is: struct_paCommand: 4
// struct_pa802p1agDet: 1
// struct_paIpsecNatTDet: 1
// struct_pcap_info: 1
+// struct_paEoamTSOffset 2
+// struct_paEoamProtoExcl 5
// MAX_PORTS (9) * struct_pcap_cfg: 3(27)
// struct_paComDroute: 1
// MAX_PORTS (8) * struct_paComDrouteCfg: 1(8)
// DefRoute Cfg: 110 words = 440 bytes (maximum)
// EQOS Cfg: 44 words = 176 bytes (minimum)
// EQOS Cfg: 310 words =1240 bytes (maximum)
-//
+// EOAM Time Offset: 7 words = 28 bytes
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_EROUTE 504 - 16
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_EF_EROUTE 200 - 16
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_CUSTOM_LUT1 60 - 16
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_PCAP 36 - 16
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_DEF_ROUTE 76 - 16
#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_EQOS 176 - 16
+#define PA_CONFIG_COMMAND_SIZE_SYS_CONFIG_EOAM_TOFFSET 28 - 16
#define PA_CONFIG_COMMAND_SIZE_THROUGH_EROUTE 24 // Byte up to and including struct_paComEroute
#define PA_CONFIG_COMMAND_SIZE_THROUGH_SYSCFG 20
#define PA_SUB_CMD_CODE_DUMMY 0
#define PA_SUB_CMD_CODE_IP_FRAG 1
#define PA_SUB_CMD_CODE_PATCH_MSG_LEN 2
+#define PA_SUB_CMD_CODE_INSERT_MSG_TIME 3
+#define PA_SUB_CMD_CODE_INSERT_MSG_CNT 4
#define PA_SUB_CMD_CODE_PATCH_CRC 0x1f
// General message
#define t_ef_rec4_valid t15
+// Ethernet OAM structures (common config between Ingress0 and Egress0 )
+.struct struct_eoamCfg
+ .u8 ctrlBitmap
+ .u8 rsvd1
+ .u16 rsvd2
+
+ .u32 nsRoAcc // nano second accumulation value over one roll over (accumulates error also)
+ .u32 nsNumRoAcc // very precise nano second accumulation value over N roll overs, to reset the accumulation error
+ .u16 numRo // number of roll overs to consider for resetting error accumulation
+ .u16 mul // multiplication factor, keeping the shift right factor of 13
+
+ .u16 proto0 // first proto ID that need no statistics
+ .u16 proto1
+
+ .u16 proto2
+ .u16 proto3
+
+ .u16 proto4
+ .u16 proto5
+
+ .u16 proto6
+ .u16 proto7
+.ends
+
+#define t_eoam_ctrl_enable t0
+
+// Local structure in Ingress 0
+.struct struct_timeAccConstants
+ .u32 nsRoAcc // nano second accumulation value over one roll over (accumulates error also)
+ .u32 nsNumRoAcc // very precise nano second accumulation value over N roll overs, to reset the accumulation error
+ .u16 numRo // number of roll overs to consider for resetting error accumulation
+ .u16 rollOverCnt // roll over Count
+.ends
+
+// Local structure in Ingress 0
+.struct struct_eoamExceptionTbl
+ .u16 proto0 // first proto ID that need no statistics
+ .u16 proto1
+ .u16 proto2
+ .u16 proto3
+ .u16 proto4
+ .u16 proto5
+ .u16 proto6
+ .u16 proto7
+.ends
+
+// Configuration structure for Egress 0 on time offsets
+.struct struct_timeStampOffsetCfg
+ .u32 offset_sec // time stamp offset in seconds
+ .u32 offset_ns // time stamp offset in nano seconds
+.ends
+
+
+
+// Below are constants useful in converting the ticks to nano seconds (local to Egress 0)
+.struct struct_timeConvConst
+ .u32 offset_sec // time stamp offset in seconds
+ .u32 offset_ns // time stamp offset in nano seconds
+ .u16 rsvd
+ .u16 mul // multiplication factor, keeping the shift right factor of 13
+.ends
+
+// Below are counters to accumulate time per roll over in seconds and nano seconds (common between Ingress 0 and Egress 0)
+.struct struct_timeCounters
+ .u32 nsAccWithErr // Counter to accumulate nano seconds per N roll overs
+ .u32 nsAccNoErr // Counter to accumulate nano seconds per K * N * roll over
+ .u32 secAccNoErr // Counter to accumulate seconds
+.ends
+
#endif // _PDSP_PA_H
diff --git a/fw/v1/pdsp_subs.h b/fw/v1/pdsp_subs.h
index c5ee71eac89b21b98b03eef73793200627f2ef6a..3c9f50e5d150571574be78e16a821d262d191bc5 100644 (file)
--- a/fw/v1/pdsp_subs.h
+++ b/fw/v1/pdsp_subs.h
//
// PDSPx informs the corresponding PDSP that the host has sent an new IP Reassembly configuration
-// where Ingress0 PDSP0 for outer IP reassembly and Ingress4 PDSP0 for inner IP Reassembly
+// where Ingress1 PDSP0 for outer IP reassembly and Ingress4 PDSP0 for inner IP Reassembly
//
#define FIRMWARE_CMD_IP_REASSEM_CFG 1
#define FIRMWARE_CMD_IP_REASSEM_CFG_OFFSET 4 // command offset (1st command)
#define FIRMWARE_INNER_IP_PDSP 6 // Ingress4, PDSP0
#define FIRMWARE_OUTER_RA_PDSP 1 // Ingress0, PDSP1
#define FIRMWARE_INNER_RA_PDSP 5 // Ingress3, PDSP0
-#define FIRMWARE_TX_CMD_PDSP 11 // Egress1, PDSP1
+#define FIRMWARE_TX_CMD_PDSP 11 // Egress0, PDSP1
+
+//
+// PDSPx informs the corresponding PDSP that the host has send another packet control
+// This is overlaid with IP Reassem configuration (PA assisted reassembly which is more likely not used as
+// hardware support for reassembly is supported for this version of hardware
+// however, care should be taken that no two
+// configuration:
+// Ingress 0 PDSP0 for PA time stamp accumulation
+// Ingress 0 PDSP1 for EOAM feature,
+// Ingress 1 ESP Header Proc (time stamp )
+// Ingress 3 PDSP5 for Firewall operations during EOAM
+//
+// b3: command
+// b1: valid flags
+// b0: control flags
+#define FIRMWARE_CMD_EOAM_CFG 2
+#define FIRMWARE_CMD_EOAM_CFG_OFFSET 4 // command offset (1st command)
//
// PDSPx informs the corresponding PDSP that the host has send another packet control
// Ingress 1 PDSP0(2) and Ingress 4 PDSP0 (6) for IP header verfication, IP fragments routing
//
// b3: command
+// b1: valid flags
// b0: control flags
#define FIRMWARE_CMD_PKT_CTRL_CFG 1
#define FIRMWARE_CMD_PKT_CTRL_CFG_OFFSET 12 // command offset (3rd command)
.u16 timestamp // Upper 16-bit of timestamp
.ends
+#define PA_ONE_SEC_EXP_IN_NS 1000000000
+#define PA_EOAM_OPCODE_MATCH1 42
+#define PA_EOAM_OPCODE_MATCH2 43
+#define PA_EOAM_OPCODE_MATCH3 45
+#define PA_EOAM_OPCODE_MATCH4 46
+#define PA_EOAM_OPCODE_MATCH5 47
+#define PA_EOAM_APS_LINEAR_OPCODE 39
+#define PA_EOAM_APS_RING_OPCODE 40
+#define PA_EOAM_CCM_OPCODE 1
+
+#define PA_TIME_SHIFT_VAL 13
+
+// Below are arbitrary selected, would need to compute the actual cycles when coded in fw
+#define PA_TIME_CORRECTION_SEC 10
+#define PA_TIME_CORRECTION_NS 10
+#define PA_TIME_AMBIGUIOUS_TIMER_TICK (0xFFFF - 400)
+
+
+// This is a repeat of pasPktContext for Ethernet OAM enhancements
+// As Ethernet OAM packets are non IP packets, all IP related fields can
+// over lay with the EOAM packet context
+// When the packet is delivered to host,
+// the MEG level from the packet is reported in Word 2 (b0)
+// the Opcode of the EOAM control packet is reported in Word2 (b1)
+//
+.struct struct_pasPktContext6
+ // WORD0
+ .u8 paCmdId_Length
+ .u16 flags // 16-bit control flag
+ .u8 startOffset
+
+ // Word 1
+ .u16 endOffset
+ .u16 eId_portNum_nextHdr
+
+ // Word 2
+ // reuse IP Offset location field as it is no longer needed for EOAM
+ .u8 megLevel // MEG level
+ .u8 opCode // Opcode recorded from the EOAM packet
+ .u8 eoamFlags // 8 bit flags that control statistics, indicate IPSec Transport, IPSec Tunnel or non IP pkts
+
+ // EOAM flags
+#define t_flag_ip t0 // Set Indicates IP Pkt otherwise non IP pkt
+#define t_flag_cipherPkt t1 // Set Indicates Crypto packet otherwise non crypto pkt
+#define t_flag_fDisableCnt t2 // Set Indicates force Ethernet OAM does not need record
+#define t_flag_knownOpcodes t3 // Set Indicates that the opcode of the packet is a known EOAM control packet (1DM/LMM/LMR/DMM/DMR)
+#define t_flag_8021ag t4 // Set indicates that 802.1ag packet is detected
+
+ .u8 startOffsetEoam
+
+ // Word 3
+ .u16 phyLink
+ .u16 hdrBitmask
+
+ // Word 4
+ // /------------------------------------\
+ // | 15 13| 12 0 |
+ // | vlanPri | virtual link |
+ // \------------------------------------/
+
+ .u16 vlanPri_vLink
+ .u8 priority
+ .u8 protCount // vlan|GRE|IP (may be removed)
+
+ // Word 5
+ // re-use the pseudo field since the field is no longer needed */
+ .u32 count // 32 bit counter
+.ends
// Tx (Egress Flow) Packet Info
.struct struct_pasTxPktContext
// Classify1 run time context
.struct struct_c1RunContext
- // /-------------------------------------------------------------------------------------------------------------------------\
- // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- // | held packet | previous held | pending config | previous skip | L4 Avil | first lookup | | fail lookup |
- // \-------------------------------------------------------------------------------------------------------------------------/
+ // /-------------------------------------------------------------------------------------------------------------------------------\
+ // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+ // | held packet | previous held | pending config | previous skip | L4 Avil | first lookup | extHdr Restore | fail lookup |
+ // \-------------------------------------------------------------------------------------------------------------------------------/
.u8 flags
// /-------------------------------------------------------------------------------------------------------------------------------\
- // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- // | Hdr check | ipFragToEroute | 802.1ag standard | 802.1ag Detect | IP Reassem | SCTP Checksum | | |
+ // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+ // | Hdr check | ipFragToEroute | 802.1ag standard | 802.1ag Detect | IP Reassem | SCTP Checksum | pkt Cap | IP Reassm |
// \--------------------------------------------------------------------------------------------------------------------------------/
.u8 flag2
.u8 raFlow // Flow Id for RA: Note the queue number is fixed:PASS_RA_QUEUE
- .u8 pdspId
+ // /--------------------------------------------------------------------------------------------------------------------------------\
+ // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+ // | | | | | | | | EOAM Enable |
+ // \--------------------------------------------------------------------------------------------------------------------------------/
+ .u8 flag3
.ends
+// flag bit map
#define t_held_packet t7
#define t_previous_held t6
#define t_pendingConfig t5
#define t_extHdr_held t1 // 1: extHdr is restored and need to be pushed out
#define t_failLookup t0 // 1: LUT1 lookup is determined to fail due to unknown (unsupported) protocol
-
+// flag2 bit map
#define t_hdrCheck t7 // 1: Enhanced header check is enabled
#define t_ipHdrCheck t7 // 1: Enhanced IP header check is enabled (Ingress1 and Ingress4 PDSP0)
#define t_PPPoEHdrCheck t7 // 1: PPPoE haeder check is enabled (Ingress0, PDSP0)
#define t_raUseLocDMA t1 // 1: IP Reassembly using local DMA
#define t_raToQueue t2 // 1: IP reassembly output packets to host queue
+// flag3 bit map
+#define t_eoamEn t0 // 1: Ethernet OAM feature is enabled (Ingress0-PDSP1, Ingress3-PDSP5)
+
#define SUBS_PKT_CTRL_RA_En 0x01
#define SUBS_RA_CTRL_MASK 0x07
#define NOT_SUBS_RA_CTRL_MASK 0xf8
diff --git a/fw/v1/post_pdsp0.bib b/fw/v1/post_pdsp0.bib
index c4999a3e8f88ce5a87ab1da153b542c3e88c0074..fb3548ace184e2be0850b5aef5c2c9da5a5a33d0 100644 (file)
Binary files a/fw/v1/post_pdsp0.bib and b/fw/v1/post_pdsp0.bib differ
Binary files a/fw/v1/post_pdsp0.bib and b/fw/v1/post_pdsp0.bib differ
diff --git a/fw/v1/post_pdsp1.bib b/fw/v1/post_pdsp1.bib
index 020f926b040b8268519dcee46ceff5401840c9cf..2bfde37747b2d610d69d8e7ee2d60ebaa74b1bfd 100644 (file)
Binary files a/fw/v1/post_pdsp1.bib and b/fw/v1/post_pdsp1.bib differ
Binary files a/fw/v1/post_pdsp1.bib and b/fw/v1/post_pdsp1.bib differ
diff --git a/makefile b/makefile
index 08a6847855364cf331e06385ffa05d746c610289..5b623bea68578b431b32634d086512d21239bda1 100644 (file)
--- a/makefile
+++ b/makefile
export ROOTDIR := ../../..
# INCLUDE Directory
-export INCDIR := ../../..;$(XDC_INSTALL_PATH)/packages;$(PDK_INSTALL_PATH);$(C6X_GEN_INSTALL_PATH)/include;$(XDC_ECLIPSE_PLUGIN_INSTALL_PATH);$(XDC_FILTER_INSTALL_PATH);$(ROOTDIR)
+export INCDIR := ../../..;$(XDC_INSTALL_PATH)/packages;$(PDK_INSTALL_PATH)/.;$(C6X_GEN_INSTALL_PATH)/include;$(EDMA3LLD_BIOS6_INSTALLDIR)/packages;$(ROOTDIR)
# Common Macros used in make
index 439afdcf043a7a9c76a0c95b4bb75d3967018946..e4ca7fee0dcd905d29ac9ffee15b2b3d94cdf689 100644 (file)
--- a/pa.h
+++ b/pa.h
* The minmium command buffer size allowed when using the @ref Pa_control (pa_CONTROL_SYS_CONFIG) function to perform PASS
* global configuration.
*/
-#define pa_GLOBAL_CONFIG_MIN_CMD_BUF_SIZE_BYTES 72
+#define pa_GLOBAL_CONFIG_MIN_CMD_BUF_SIZE_BYTES 104
/**
* @def pa_802_1ag_DET_MIN_CMD_BUF_SIZE_BYTES
*/
typedef void* paHandleAcl_t;
+/**
+ * @ingroup palld_api_structures
+ * @brief PA handle specification for EOAM (LUT1) handles
+ *
+ * @details This type is used to reference EOAM (LUT1) entry with the EOAM table. The module
+ * user is responsible for storing the handle and using it to refer to EOAM entry already
+ * created through calls to @ref Pa_addEoamFlow.
+ */
+typedef void* paHandleEoam_t;
+
/**
* @ingroup palld_api_structures
* @brief PA handle specification for Flow Cache (LUT1) handles
paHandleL2L3_t l2l3Handle; /**< Level 2 or level 3 handle created by @ref Pa_addMac @ref Pa_addSrio, @ref Pa_addCustomLUT1 or @ref Pa_addIp */
paHandleAcl_t aclHandle; /**< ACL handle created by @ref Pa_addAcl (Gen2 only) */
+ paHandleEoam_t eoamHandle; /**< EOAM handle created by @ref Pa_addEoamFlow (Gen2 only) */
paHandleFc_t fclHandle; /**< Flow Cache handle created by @ref Pa_addFc (Gen2 only) */
paHandleL4_t l4Handle; /**< Level 4 handle created by @ref Pa_addPort or @ref Pa_addCustomLUT2 */
*/
#define pa_FC_HANDLE 11
+/**
+ * @def pa_EOAM_HANDLE
+ * EOAM (Ethernet OAM) handle
+ */
+#define pa_EOAM_HANDLE 12
+
/**
* @def pa_INVALID_HANDLE
* Invalid handle type
int nMaxVlnk; /**< Maximum number of virtual links supported */
int nMaxAcl; /**< Maximum number of Stateless ACL handles supported (Gen2 only)*/
int nMaxFc; /**< Maximum number of Flow Cache Hanndles supported (Gen2 only) */
+ int nMaxEoam; /**< Maximum number of EOAM Hanndles supported (Gen2 only) */
} paSizeInfo_t;
/**
*/
#define pa_PKT_CTRL_EMAC_IF_EGRESS_EQoS_MODE 0x0100
+#if 0
+/**
+ * @def pa_PKT_CTRL_CLASSIFY_EOAM
+ * Control Info -- Set: Ingress0 PDSP1 LUT1 classification is used for Ethernet OAM classification
+ * Clear: Ingress0 PDSP1 LUT1 classification is used for Outer ACL classification (default)
+ * @note This definition is only vaild at @ref paPacketControl2Config_t.
+ */
+#define pa_PKT_CTRL_CLASSIFY_EOAM 0x0200
+#endif
+
/*@}*/
/** @} */
*/
#define pa_PKT_CTRL2_VALID_EMAC_IF_EGRESS_EQoS_MODE pa_PKT_CTRL_EMAC_IF_EGRESS_EQoS_MODE
+#if 0
+/**
+ * @def pa_PKT_CTRL2_VALID_CLASSIFY_EOAM
+ * - Valid Ethernet OAM Classification configuration is present
+ */
+#define pa_PKT_CTRL2_VALID_CLASSIFY_EOAM pa_PKT_CTRL_CLASSIFY_EOAM
+#endif
+
/**
* @def pa_PKT_CTRL2_VALID_PADDING_STATS_INDEX
* - Valid rxPaddingErrStatsIndex and txPaddingStatsIndex are present
paRaERouteInfo_t genErrER; /**< Specify exception route for packets with non-critical error*/
} paRaGroupConfig_t;
+/**
+ * @ingroup palld_api_constants
+ * @brief Define the maximum number ethernet Protocol types supported for statistics exclusion during EOAM support
+ *
+ */
+#define pa_MAX_EOAM_PROTO_EXCLUSION 8
+
+/**
+ * @ingroup palld_api_structures
+ * @brief PA time offset correction.
+ *
+ * @details paSetTimeOffset_t is used to set the 1588 time offsets at PA time 0
+ *
+ */
+typedef struct {
+ uint32_t offset_sec; /**< 1588 Time offset in seconds (needed for features like EOAM) at PA time 0*/
+ uint32_t offset_ns; /**< 1588 Time offset in nano seconds (needed for features like EOAM) at PA time 0 */
+}paSetTimeOffset_t;
+
+/**
+ @defgroup paInputFreq Packet Accelerator PLL Frequencies
+ * @ingroup palld_api_constants
+ * @{
+ *
+ * @name Packet Accelerator PLL input frequency
+ *
+ * paInputFreq_e is used to provide the input frequency to PASS programmed either through PA clock or
+ * system clock in MHz. This parameter is useful in converting the ticks to seconds and nano seconds.
+ *
+ */
+/** @ingroup paInputFreq */
+/*@{*/
+typedef enum {
+ pa_INPUT_FREQ_1000MHZ = 1, /**< PASS Input frequency is 1000 MHz */
+ pa_INPUT_FREQ_1050MHZ, /**< PASS Input frequency is 1050 MHz */
+ pa_INPUT_FREQ_1049p6MHZ /**< PASS Input frequency is 1049.6 MHz */
+} paInputFreq_e;
+
+/*@}*/
+/** @} */
+
+/**
+ * @ingroup palld_api_structures
+ * @brief PA Ethernet OAM target flow match Statistics control configuration Information.
+ *
+ * @details paEoamStatsCtrlConfig_t is used to control the statistics for EOAM target flow match
+ * the ethernet Protocols listed in the configurations do not trigger the statistics increment
+ * eventhough the target flow match happens.
+ *
+ */
+typedef struct {
+ uint8_t numProtoExcl; /**< Number of protocol exclusions that do not need statistics */
+ uint16_t exclEthTypes[pa_MAX_EOAM_PROTO_EXCLUSION]; /**< maximum number of ethernet types exclusion list that do not need statistics */
+} paEoamStatsCtrlConfig_t;
+
+/**
+ * @defgroup paEoamGlobalValidInfo PA EOAM Global Configuration Valid Bit Definitions
+ * @ingroup palld_api_constants
+ * @{
+ *
+ * @name PA Global Config Valid Bit Definitions
+ *
+ * Bitmap definition of the validBitmap in @ref paEoamGlobalConfig_t.
+ */
+/*@{*/
+/**
+ * @def pa_EOAM_VALID_STATS_CTRL
+ * - Control to increment the Ethernet OAM target flow matches is present
+ */
+#define pa_EOAM_VALID_STATS_CTRL (1<<0)
+
+/* @} */ /* ingroup */
+/** @} */
+
+
+/**
+ * @ingroup palld_api_structures
+ * @brief PA Ethernet OAM Global Configuration Information.
+ *
+ * @details paEoamGlobalConfig_t is used to configure the Ethernet OAM parameters.
+ *
+ */
+typedef struct {
+ uint32_t validBitMap; /**< Valid control bits as defined at @ref paEoamGlobalValidInfo */
+ uint32_t enable; /**< Enable/Disable EOAM feature, As Outer ACL and EOAM can not co-exist, make sure Outer ACL
+ entries are all removed before adding the EOAM entries in the LUT table */
+ paInputFreq_e freq; /**< Mandatory: PA Input Frequency in MHz as defined at @ref paInputFreq_e */
+ paEoamStatsCtrlConfig_t statsCtrl; /**< Ethernet OAM control packet target flow match count control @ref paEoamStatsCtrlConfig_t */
+} paEoamGlobalConfig_t;
+
/**
* @ingroup palld_api_structures
* @brief PA System Configuration Information structure
paRaGroupConfig_t* pOutIpRaGroupConfig; /**< Poimter to the outer IP Reassembly group configuration structure */
paRaGroupConfig_t* pInIpRaGroupConfig; /**< Poimter to the inner IP Reassembly group configuration structure */
paPacketControl2Config_t* pPktControl2; /**< Pointer to the packet control 2 configuration structure */
+ paEoamGlobalConfig_t* pEoamConfig; /**< Pointer to the EOAM Global configuration structure */
} paSysConfig_t;
/**
*
*/
#define pa_N_BUFS_GEN1 5
-#define pa_N_BUFS_GEN2 7
+#define pa_N_BUFS_GEN2 8
#define pa_N_BUFS pa_N_BUFS_GEN2
*/
#define pa_BUF_FC_TABLE 6
+/**
+ * @def pa_BUF_EOAM_TABLE
+ * PA LLD match table of EOAM entries such as Y1731
+ *
+ * @note This definition is valid for the second generation PASS only.
+ */
+#define pa_BUF_EOAM_TABLE 7
+
/* @} */
/** @} */
*/
#define pa_CMD_EF_OP 18
+/* @def pa_CMD_INS_TIME
+ * Insert the time values in packets (Gen 2 support only)
+ */
+#define pa_CMD_INS_TIME 19
+
+/* @def pa_CMD_INS_COUNT
+ * Insert the time values in packets (Gen 2 support only)
+ */
+#define pa_CMD_INS_COUNT 20
+
/* @} */
/** @} */
} paTxChksum_t;
+/**
+ * @ingroup palld_api_structures
+ * @brief Insert time in EOAM packet configuration
+ *
+ * @details paInsTime_t is used in the call @ref Pa_formatTxCmd to create a tx
+ * command header that instructs the packet accelerator sub-system to insert the
+ * time bytes in the specified offset of the packet.
+ */
+typedef struct {
+ uint16_t startOffset; /**< Byte location, from SOP, to insert 8 bytes time values 4 byte second, 4 byte nano second */
+} paInsTime_t;
+
+/**
+ * @ingroup palld_api_structures
+ * @brief Insert Count in EOAM packet configuration
+ *
+ * @details paInsCount_t is used in the call @ref Pa_formatTxCmd to create a tx
+ * command header that instructs the packet accelerator sub-system to insert the
+ * specified user stats counter bytes in the specified offset of the packet.
+ */
+typedef struct {
+
+ uint16_t startOffset; /**< Byte location, from SOP, to insert count values */
+ uint16_t countIndex; /**< Counter index to insert */
+} paInsCount_t;
/**
* @defgroup copyCtrlInfo PA Copy Command Control Info Bit Definitions
paCmdVerifyPktErr_t verifyPktErr; /**< Specify Packet error Verification command specific parameters */
paCmdSplitOp_t split; /**< Specify Split command sepcific parameters */
paCmdEfOp_t efOp; /**< Specify Egress Flow operation command specific parameters (PASS Gen2 only) */
+ paInsTime_t insTime; /**< Specify insert time in the messages like Ethernet OAM packets (PASS Gen2 only)*/
+ paInsCount_t insCount; /**< Specify insert count in the messages like Ethernet OAM packets (PASS Gen2 only)*/
}params; /**< Contain the command specific parameters */
} paCmdInfo_t;
*/
#define pa_ETH_INFO_VALID_INPORT (1<<5)
+/**
+ * @def pa_ETH_INFO_VALID_VLAN_PRI
+ * - Input VLAN PRI is present
+ */
+#define pa_ETH_INFO_VALID_VLAN_PRI (1<<6)
+
+
/* @} */ /* ingroup */
/** @} */
uint16_t ethertype; /**< Ethertype field. */
uint32_t mplsTag; /**< MPLS tag. Only the outer tag is examined */
uint16_t inport; /**< Input EMAC port number as specified by @ref paEmacPort */
+ uint8_t vlanPri; /**< VLAN tag PCP field, 3 bits showing priority */
} paEthInfo2_t;
+
+/**
+ * @ingroup palld_api_structures
+ * @brief EOAM look up information
+ *
+ * @details paEoamFlowInfo_t is used to specify the flow parameters used in EOAM packet classification.
+ *
+ */
+typedef struct {
+ uint16_t validBitMap; /**< Valid bit map reserved for future enhancements */
+ uint8_t flowId; /**< Specifies the packet DMA flow ID, which defines the free queuese are
+ used for receiving EOAM control packets */
+ uint16_t destQueue; /**< Specifies the destination queue used for receiving EOAM control packets */
+ uint32_t swInfo0; /**< Placed in SwInfo0 for EOAM control packets to host */
+ uint16_t statsIndex; /**< user defined counter index binded with an EOAM target flow */
+ uint8_t megLevel; /**< Maintenance Entity Group Level threshold to decide need statistics or not.
+ MEG Level is a 3-bit field. It contains an integer value that identifies MEG
+ level of OAM PDU. Value ranges from 0 to 7 */
+} paEoamFlowInfo_t;
+
/**
* @defgroup paAclInfoValidBit PA ACL Matching Info Valid Bit Definitions
* @ingroup palld_api_constants
*/
#define pa_CONTROL_RA_CONFIG 5
+/**
+ * @def pa_CONTROL_EOAM_TIME_OFFSET_CONFIG
+ * This control provides a provision to correct the initial values set for time offsets
+ * during Ethernet Operations And maintenance support
+ */
+#define pa_CONTROL_TIME_OFFSET_CONFIG 6
+
/**
* @def pa_CONTROL_MAX_CONFIG_GEN1
* Maximum global configuration types on NSS Gen1 devices
* @def pa_CONTROL_MAX_CONFIG_GEN2
* Maximum global configuration types on NSS Gen2 devices
*/
-#define pa_CONTROL_MAX_CONFIG_GEN2 pa_CONTROL_RA_CONFIG
+#define pa_CONTROL_MAX_CONFIG_GEN2 pa_CONTROL_TIME_OFFSET_CONFIG
/* @} */
/** @} */
paEmacPortConfig_t emacPortCfg; /**< Specify interface based port configuration information */
paRaConfig_t raCfg; /**< Specify RA global configuration information (PASS Gen2 only)
@note RA global configuration does not require command buffer. */
+ paSetTimeOffset_t tOffsetCfg; /**< Specify Ethernet OAM time stamp offset information (PASS Gen2 only) */
}params; /**< Contain the control operation specific parameters */
} paCtrlInfo_t;
} paAclStats_t;
+/**
+ * @ingroup palld_api_structures
+ * @brief PA EOAM Entry Statistics Structure
+ *
+ * @details This structures define the PA EOAM per-entry statistics provided
+ * with API function @ref Pa_queryEoamStats ().
+ */
+
+typedef struct paEoamStats_s {
+
+ uint32_t nMatchPackets; /**< Number of packets which matchs the Eoam rule */
+ uint32_t nMatchBytes; /**< Total bytes of the matched packets */
+
+} paEoamStats_t;
+
+
/**
* @ingroup palld_api_structures
* @brief PA Timestamp Structure
paCmdReply_t *reply,
int *cmdDest
);
+
+/**
+ * @ingroup palld_api_functions
+ * @brief Pa_addEoamFlow adds an Ethernet OAM target flow entry to the L2 table
+ *
+ * @details A new entry is added if the EOAM flow configuration info is unique in the modules handle table. If
+ * the value is not unique then the routing information for the existing entry is changed to
+ * the values provided in the function.
+ *
+ * L2 values that are not to be used for packet routing are set to 0.
+ *
+ * On return the command buffer (cmd) contains a formatted command for the sub-system. The
+ * destination for the command is provided in cmdDest. The module user must send the formatted
+ * command to the sub-system. The sub-system will generate a reply
+ * and this reply must be sent back to this module through the @ref Pa_forwardResult API.
+
+ *
+ * @param[in] iHandle The driver instance handle
+ * @param[in] ethInfo Value @ref paEthInfo2_t
+ * @param[in] eoamInfo Ethernet OAM target flow information
+ * @param[out] handle Pointer to EOAM Handle. LLD puts the allocated EOAM handle in this location.
+ * @param[out] cmd Where the created command is placed
+ * @param[in,out] cmdSize Input the size of cmd buffer, on output the actual size used. @ref cmdMinBufSize
+ * @param[in] reply Where the sub-system sends the command reply
+ * @param[out] cmdDest Value (@ref cmdTxDest)
+ * @retval Value (@ref ReturnValues)
+ * @pre A driver instance must be created and tables initialized, Ethernet OAM System Configuration
+ * and EOAM timer offset configurations are complete.
+ *
+ */
+
+paReturn_t Pa_addEoamFlow (Pa_Handle iHandle,
+ paEthInfo2_t *ethInfo,
+ paEoamFlowInfo_t *eoamInfo,
+ paHandleEoam_t *handle,
+ paCmd_t cmd,
+ uint16_t *cmdSize,
+ paCmdReply_t *reply,
+ int *cmdDest
+ );
+
/**
* @ingroup palld_api_functions
paCmdReply_t *reply,
int *cmdDest );
+/**
+ * @ingroup palld_api_functions
+ * @brief Pa_delEoamHandle deletes an EOAM handle
+ *
+ * @details This function is used to remove an entry from the LUT1-EOAM lookup
+ *
+ * @param[in] iHandle The driver instance handle
+ * @param[in] handle Pointer to the EOAM handle to delete
+ * @param[out] cmd Where the created command is placed
+ * @param[in] cmdSize The size of the cmd buffer
+ * @param[in] reply Where the sub-system sends the command reply
+ * @param[out] cmdDest Value (@ref cmdTxDest)
+ * @retval Value (@ref ReturnValues)
+ * @pre A driver instance must be created and tables initialized
+ */
+paReturn_t Pa_delEoamHandle (Pa_Handle iHandle,
+ paHandleEoam_t *handle,
+ paCmd_t cmd,
+ uint16_t *cmdSize,
+ paCmdReply_t *reply,
+ int *cmdDest );
+
+
/**
* @ingroup palld_api_functions
* @brief Pa_addIp adds an IP address to the L3 table
uint16_t doClear,
paAclStats_t *pAclStats);
+/**
+ * @ingroup palld_api_functions
+ * @brief Pa_queryEoamStats queries EOAM per-entry statistics (PASS Gen2 only)
+ *
+ * @details This function is used to query the EOAM per-entry statistics.
+ * The statistics can be optionally cleared after reading through the doClear parameter.
+ *
+ * @param[in] iHandle The driver instance handle
+ * @param[in] eoamHandle The EOAM handle
+ * @param[in] doClear If TRUE then stats are cleared after being read
+ * @param[out] pEoamStats Pointer to the eoamStats buffer
+ * @retval Value (@ref ReturnValues)
+ * @pre A driver instance must be created and tables initialized
+ *
+ * @note: This API is not supported at the first generation PASS
+ */
+paReturn_t Pa_queryEoamStats (Pa_Handle iHandle,
+ paHandleEoam_t eoamHandle,
+ uint16_t doClear,
+ paEoamStats_t *pEoamStats);
+
/**
* @ingroup palld_api_functions
* @brief Pa_formatTxRoute formats the commands to add checksums and route a Tx packet
diff --git a/pasahost.h b/pasahost.h
--- a/pasahost.h
+++ b/pasahost.h
* Instruct PDSP to perform message length patching after IPv4 fragmentation operation. This command is
* valid only if it is in conjunction with the PASAHO_PAMOD_IP_FRAGMENT command.
*/
-#define PASAHO_PAMOD_PATCH_MSG_LEN PASAHO_PAMOD_GROUP_7
+#define PASAHO_PAMOD_PATCH_MSG_LEN PASAHO_PAMOD_GROUP_7
+
+/**
+ * @def PASAHO_PAMOD_INSERT_MSG_TIME
+ * Instruct PDSP to perform message time insert for packets such as Ethernet OAM.
+ */
+#define PASAHO_PAMOD_INSERT_MSG_TIME PASAHO_PAMOD_GROUP_7
+
+/**
+ * @def PASAHO_PAMOD_INSERT_MSG_COUNT
+ * Instruct PDSP to perform message count insert for packets such as Ethernet OAM.
+ */
+#define PASAHO_PAMOD_INSERT_MSG_COUNT PASAHO_PAMOD_GROUP_7
/* SA commands */
/**
PASAHO_SUB_CMD_DUMMY = 0, /**< Dummy */
PASAHO_SUB_CMD_IP_FRAG, /**< IPv4 fragmentation */
- PASAHO_SUB_CMD_PATCH_MSG_LEN /**< Message length Patching */
+ PASAHO_SUB_CMD_PATCH_MSG_LEN, /**< Message length Patching */
+ PASAHO_SUB_CMD_INS_TIME, /**< Ethernet EOAM insert time at specified offset */
+ PASAHO_SUB_CMD_INS_COUNT /**< Ethernet EOAM insert count at specified offset */
} pasaho_SubCmdCode_e;
/*@}*/
/** @} */
uint32_t word5; /**< Control block word 5 */
uint32_t word6; /**< Control block word 6 */
uint32_t word7; /**< Control block word 7 */
- uint32_t word8; /**< Control block word 8 (optional) */
- uint32_t word9; /**< Control block word 9 (optional) */
+ uint32_t word8; /**< Control block word 8 */
+ uint32_t word9; /**< Control block word 9 */
+ uint32_t word10; /**< Control block word 10 (optional) */
+ uint32_t word11; /**< Control block word 11 (optional) */
+ uint32_t word12; /**< Control block word 12 (optional) */
+ uint32_t word13; /**< Control block word 13 (optional) */
} pasahoLongInfo_t;
/**
/*@}*/
/** @} */
+
+/* Insert Message time command */
+/**
+ * @ingroup pasaho_if_structures
+ * @brief pasahoInsMsgTime_t defines the message time insert command. The command structure is defined as 32 bit
+ * values to work with the hardware regardless of the device endianness.
+ *
+ * @details
+ */
+
+typedef struct pasahoInsMsgTime_s {
+ uint32_t word0; /**< Contains the message time patching command information. @ref PASAHO_insert_msg_time_command_macros */
+} pasahoInsMsgTime_t;
+
+/**
+ * @defgroup PASAHO_insert_msg_time_command_macros PASAHO Message Time Insert Command Macros
+ * @ingroup pasaho_if_macros
+ * @{
+ * @name PASAHO Message Time Insert Command Macros
+ * Macros used by the PASAHO Message Time Insert Command
+ *
+ */
+/*@{*/
+
+#define PASAHO_SET_SUB_CODE_INS_MSG_TIME(x) PASAHO_SET_BITFIELD((x)->word0, PASAHO_SUB_CMD_INS_TIME, 24, 5) /**< Set sub-command code to indicate Message Time Insert command */
+#define PASAHO_SET_INS_OFFSET_MSG_TIME(x,offset) PASAHO_SET_BITFIELD((x)->word0, offset, 0, 16) /**< Set the offset from start of packet to insert the 8 byte time */
+
+/*@}*/ /* @name PASAHO Message Time Insert Command Macros */
+/** @}*/ /* PASAHO_insert_msg_time_command_macros */
+
+/* Insert Message Count command */
+/**
+ * @ingroup pasaho_if_structures
+ * @brief pasahoInsMsgCount_t defines the message count insert command. The command structure is defined as 32 bit
+ * values to work with the hardware regardless of the device endianness.
+ *
+ * @details
+ */
+
+typedef struct pasahoInsMsgCount_s {
+ uint32_t word0; /**< Contains the message count patching command information. @ref PASAHO_insert_msg_count_command_macros */
+ uint32_t word1; /**< Contains the message count patching command information. @ref PASAHO_insert_msg_count_command_macros */
+} pasahoInsMsgCount_t;
+
+/**
+ * @defgroup PASAHO_insert_msg_count_command_macros PASAHO Message Count Insert Command Macros
+ * @ingroup pasaho_if_macros
+ * @{
+ * @name PASAHO Message Count Insert Command Macros
+ * Macros used by the PASAHO Message Count Insert Command
+ *
+ */
+/*@{*/
+
+#define PASAHO_SET_SUB_CODE_INS_MSG_COUNT(x) PASAHO_SET_BITFIELD((x)->word0, PASAHO_SUB_CMD_INS_COUNT, 24, 5) /**< Set sub-command code to indicate Message Count Insert command */
+#define PASAHO_SET_INS_OFFSET_MSG_COUNT(x,offset) PASAHO_SET_BITFIELD((x)->word0, offset, 0, 16) /**< Set the offset from start of packet to insert the 4 byte count */
+#define PASAHO_SET_COUNTER_INDEX_FOR_MSG_COUNT(x,offset) PASAHO_SET_BITFIELD((x)->word1, offset, 0, 16) /**< Set the counter index to read from, to insert the 4 byte count */
+
+/*@}*/ /* @name PASAHO Message Count Insert Command Macros */
+/** @}*/ /* PASAHO_insert_msg_count_command_macros */
+
+
#ifdef __cplusplus
}
#endif
diff --git a/src/v0/pa.c b/src/v0/pa.c
index 2aaa2291cf481a84415e3d94c9d34158fd78afec..d0624b581693ec43e3febe8e26d7263abd04b386 100644 (file)
--- a/src/v0/pa.c
+++ b/src/v0/pa.c
\r
} /* Pa_addIp2 */\r
\r
+/*******************************************************************************************\r
+ * FUNCTION PURPOSE: Add an EOAM entry to the Ethernet OAM table\r
+ *******************************************************************************************\r
+ * DESCRIPTION: The EOAM entry is verified and added to the EOAM table. \r
+ * The following LUT1 are used to store EOAM related entries at NetCP 1.5:\r
+ * - Ingess 0, PDSP1, LUT1_1\r
+ * This API is not supported for NetCP 1.0\r
+ * \r
+ ********************************************************************************************/\r
+ paReturn_t Pa_addEoamFlow (Pa_Handle iHandle,\r
+ paEthInfo2_t *ethInfo, \r
+ paEoamFlowInfo_t *eoamInfo, \r
+ paLnkHandle_t *handle, \r
+ paCmd_t cmd,\r
+ uint16_t *cmdSize,\r
+ paCmdReply_t *reply,\r
+ int *cmdDest\r
+ )\r
+{\r
+ return (pa_API_UNSUPPORTED);\r
+}\r
/****************************************************************************\r
* FUNCTION PURPOSE: Add a destination TCP/UDP/GTPU port to the lookup\r
****************************************************************************\r
diff --git a/src/v1/pa.c b/src/v1/pa.c
index 136f16657df33879aecb6ef0638ff065e5065a7f..0e06ae6b23b14af74900031609ccfc22ac61567e 100644 (file)
--- a/src/v1/pa.c
+++ b/src/v1/pa.c
@@ -987,7 +987,12 @@ static paReturn_t pa_control_get_cmd_size(paCtrlInfo_t *ctrl, uint16_t *pCmdSize
case pa_CONTROL_RA_CONFIG:
*pCmdSize = 0;
break;
-
+
+ case pa_CONTROL_TIME_OFFSET_CONFIG:
+ *pCmdSize = sizeof(pafrmCommand_t) + offsetof(pafrmCommandSysConfigPa_t, u) - sizeof(uint32_t)
+ + sizeof(pafrmSetTOffsetCfg_t);
+ break;
+
default:
ret = pa_ERR_CONFIG;
break;
l2Entry.cfg.mac.mplsTag = ethInfo->mplsTag;
if(ethInfo->validBitMap & pa_ETH_INFO_VALID_INPORT)
l2Entry.cfg.mac.inport = ethInfo->inport;
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN_PRI)
+ l2Entry.cfg.mac.vlanPri = ethInfo->vlanPri;
/* The MPLS label is restricted to 20 bits */
if (l2Entry.cfg.mac.mplsTag & ~PA_MPLS_LABEL_MASK)
if (ethInfo->validBitMap & pa_ETH_INFO_VALID_INPORT)
{
- al1->u.mac.inport = (uint8_t)l2Entry.cfg.mac.inport;
+ al1->u.mac.inport = SWIZ(l2Entry.cfg.mac.inport);
CBWords1 |= PAFRM_LUT1_VALID_INPORT;
priority += 10;
}
+
+ if (ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN_PRI)
+ {
+ al1->u.mac.vlanPri1 = SWIZ(l2Entry.cfg.mac.vlanPri);
+ CBWords1 |= PAFRM_LUT1_VALID_VLAN_PRI1;
+ priority += 10;
+ }
al1->CBWords0 = SWIZ(CBWords0);
al1->CBWords1 = SWIZ(CBWords1);
} /* Pa_delAclHandle */
+/***************************************************************************************
+ * FUNCTION PURPOSE: Delete an EOAM handle
+ ***************************************************************************************
+ * DESCRIPTION: The handle is deleted. Dependent handles are left intact
+ ***************************************************************************************/
+paReturn_t Pa_delEoamHandle (Pa_Handle iHandle,
+ paHandleEoam_t *handle,
+ paCmd_t cmd,
+ uint16_t *cmdSize,
+ paCmdReply_t *reply,
+ int *cmdDest )
+{
+ paInst_t *paInst = (paInst_t *) pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, iHandle);
+ paL2L3Header_t *hdr = (paL2L3Header_t *) pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, *handle);
+ pafrmCommand_t *fcmd;
+ pafrmCommandDelLut1_t *del;
+ uint16_t csize, comId;
+ paReturn_t ret = pa_OK;
+ uint32_t mtCsKey;
+ uint8_t pdsp = 0;
+ paEoamEntry_t *eoamTable;
+
+
+ if((cmd == NULL) || (cmdSize == NULL) || (reply == NULL) || (cmdDest == NULL))
+ return(pa_INVALID_INPUT_POINTER);
+
+ /* Sanity check the command buffer */
+ csize = sizeof(pafrmCommand_t)+ sizeof(pafrmCommandDelLut1_t) -sizeof(uint32_t);
+ if (*cmdSize < csize)
+ return (pa_INSUFFICIENT_CMD_BUFFER_SIZE);
+
+ *cmdSize = csize;
+
+ /* Sanity check the command reply information. */
+ if ((reply->dest != pa_DEST_HOST) && (reply->dest != pa_DEST_DISCARD))
+ return (pa_INVALID_CMD_REPLY_DEST);
+
+ /* Refresh PA Instance for read only */
+ Pa_osalMtCsEnter(&mtCsKey);
+ Pa_osalBeginMemAccess (paInst, sizeof(paInst_t));
+ eoamTable = (paEoamEntry_t *)pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].base);
+
+ /* Inform the host a table entry will be changed. */
+ Pa_osalBeginMemAccess (eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+
+ /* Basic sanity check. The base address of the table is not verified, however */
+ if ((hdr == NULL) || (hdr->type != PA_TABLE_ENTRY_TYPE_EOAM)) {
+ ret = pa_INVALID_INPUT_HANDLE;
+ goto Pa_delEoamHandle_end;
+ }
+
+ if (hdr->status == PA_TBL_STAT_INACTIVE) {
+ ret = pa_HANDLE_INACTIVE;
+ goto Pa_delEoamHandle_end;
+ }
+
+ comId = PA_COMID_EOAM | hdr->tableIdx;
+
+ /* Find command destination and PDSP number */
+ switch (hdr->pdspNum)
+ {
+ case PASS_INGRESS0_PDSP1:
+ *cmdDest = pa_CMD_TX_DEST_0;
+ pdsp = 1;
+ break;
+
+ default:
+ ret = pa_ERR_CONFIG;
+ goto Pa_delEoamHandle_end;
+ }
+
+ /* Create the command */
+ fcmd = pa_format_fcmd_header (cmd, reply, PAFRM_CONFIG_COMMAND_DEL_LUT1, comId, pdsp, csize);
+ del = (pafrmCommandDelLut1_t *)&(fcmd->cmd);
+ del->index = SWIZ(hdr->lutIdx);
+
+ /* Validity of the destination was already checked (HOST), so no other cases
+ * must be considered */
+ if (reply->dest == pa_DEST_HOST)
+ fcmd->replyDest = PAFRM_DEST_PKTDMA;
+ else
+ fcmd->replyDest = PAFRM_DEST_DISCARD;
+
+ /* Mark the entry as disabled */
+ hdr->status = PA_TBL_STAT_INACTIVE;
+
+Pa_delEoamHandle_end:
+
+ /* Release the table */
+ Pa_osalEndMemAccess (eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+
+ Pa_osalEndMemAccess (paInst, sizeof(paInst_t));
+ Pa_osalMtCsExit(mtCsKey);
+
+ /* clear the handle */
+ *handle = NULL;
+
+ return (ret);
+
+} /* Pa_delEoamHandle */
+
+
/***************************************************************************************
* FUNCTION PURPOSE: Delete a FC handle
***************************************************************************************
} /* Pa_addIp2 */
+/*******************************************************************************************
+ * FUNCTION PURPOSE: Add an Ethernet OAM entry to the Ethernet OAM table
+ *******************************************************************************************
+ * DESCRIPTION: The Ethernet OAM entry is verified and added to the EOAM table.
+ * The following LUT1 are used to store EOAM related entries at NetCP 1.5:
+ * - Ingess 0, PDSP1, LUT1_1
+ * This API is not supported for NetCP 1.0
+ *
+ ********************************************************************************************/
+ paReturn_t Pa_addEoamFlow (Pa_Handle iHandle,
+ paEthInfo2_t *ethInfo,
+ paEoamFlowInfo_t *eoamInfo,
+ paHandleEoam_t *handle,
+ paCmd_t cmd,
+ uint16_t *cmdSize,
+ paCmdReply_t *reply,
+ int *cmdDest
+ )
+{
+ /* The entry is created in the stack and then copied to the table. This allows
+ * for a comparison with other table entries to verify there is not an identical
+ * entry or an entry that would supercede this one */
+
+ paInst_t *paInst = (paInst_t *) pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, iHandle);
+ paEoamEntry_t *eoamTable;
+
+ paEoamEntry_t eoamEntry;
+ pafrmCommand_t *fcmd;
+ pafrmCommandAddLut1_t *al1;
+ int i;
+ uint16_t csize;
+ uint16_t priority, bitMask = 0;
+ paReturn_t ret = pa_OK;
+ uint32_t mtCsKey, CBWords0, CBWords1;
+ uint16_t lut1Index = PAFRM_LUT1_INDEX_LAST_FREE;
+
+ if((ethInfo == NULL) || (eoamInfo == NULL) || (handle == NULL) || (cmd == NULL) || (cmdSize == NULL) || (reply == NULL) || (cmdDest == NULL))
+ return(pa_INVALID_INPUT_POINTER);
+
+ /* Check if global eoam configuration is done before adding any entry to the table */
+ if (PA_GET_STATE_EOAM(paInst) == 0)
+ return (pa_LUT_ENTRY_FAILED);
+
+ if (paLObj.cfg.rmServiceHandle) {
+ int32_t lutInst = pa_LUT1_INST_0_1;
+ if (!pa_rmService (Rm_service_RESOURCE_ALLOCATE_USE, rmLut, &lutInst, NULL)) {
+ return pa_RESOURCE_USE_DENIED;
+ }
+
+ /* we use RM only for permission check, so freeing up immediately */
+ if (!pa_rmService (Rm_service_RESOURCE_FREE, rmLut, &lutInst, NULL)) {
+ return pa_RESOURCE_FREE_DENIED;
+ }
+ }
+
+ /* Sanity check the command buffer */
+ csize = sizeof(pafrmCommand_t)+sizeof(pafrmCommandAddLut1_t)-sizeof(uint32_t);
+ if (*cmdSize < csize)
+ return (pa_INSUFFICIENT_CMD_BUFFER_SIZE);
+
+ /* Return the actual size of the buffer used */
+ *cmdSize = csize;
+
+ /* Sanity check the command reply information. */
+ if (reply->dest != pa_DEST_HOST)
+ return (pa_INVALID_CMD_REPLY_DEST);
+
+ /* Form the table entry. Status is not required */
+ memset (&eoamEntry, 0, sizeof(paL2Entry_t));
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_DST)
+ memcpy (eoamEntry.cfg.mac.dstMac, ethInfo->dst, sizeof(paMacAddr_t));
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_SRC)
+ memcpy (eoamEntry.cfg.mac.srcMac, ethInfo->src, sizeof(paMacAddr_t));
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN)
+ eoamEntry.cfg.mac.vlan = ethInfo->vlan;
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_ETHERTYPE)
+ eoamEntry.cfg.mac.ethertype = ethInfo->ethertype;
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_MPLSTAG)
+ eoamEntry.cfg.mac.mplsTag = ethInfo->mplsTag;
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_INPORT)
+ eoamEntry.cfg.mac.inport = ethInfo->inport;
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN_PRI)
+ eoamEntry.cfg.mac.vlanPri = ethInfo->vlanPri;
+
+ /* The MPLS label is restricted to 20 bits */
+ if (eoamEntry.cfg.mac.mplsTag & ~PA_MPLS_LABEL_MASK)
+ return(pa_INVALID_MPLS_LABEL);
+
+ /* Refresh PA Instance */
+ Pa_osalMtCsEnter(&mtCsKey);
+ Pa_osalBeginMemAccess (paInst, sizeof(paInst_t));
+
+ eoamTable = (paEoamEntry_t *)pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].base);
+
+ /* Signal the application that a table modification will be done */
+ Pa_osalBeginMemAccess ((void*) eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+
+ /* Look for an identical entry in the table. If one is found, return it */
+ /* perform entry check only if the LUT1 index is not specified by user */
+ if (lut1Index == PAFRM_LUT1_INDEX_LAST_FREE) {
+ for (i = 0; i < paInst->nEoam; i++) {
+
+ if ( ((eoamTable[i].hdr.status == PA_TBL_STAT_PENDING_SUBS_REPLY) ||
+ (eoamTable[i].hdr.status == PA_TBL_STAT_ACTIVE) ) &&
+ (eoamTable[i].hdr.subType == PA_TABLE_ENTRY_SUBTYPE_MAC )) {
+
+ if (!memcmp (&(eoamTable[i].cfg), &(eoamEntry.cfg), sizeof(paL2InCfg_t))) {
+ /* Identical entry identified */
+ if (eoamTable[i].hdr.status == PA_TBL_STAT_PENDING_SUBS_REPLY) {
+ *handle = (paHandleEoam_t)pa_CONV_BASE_TO_OFFSET(paLObj.cfg.instPoolBaseAddr,&eoamTable[i]);
+ ret = pa_INVALID_DUP_ENTRY;
+ goto Pa_addEoamFlow_end;
+ }
+ else {
+ /*
+ * Identical entry is identified, reuse the same table entry
+ * Keep the entry status since it simply replaces the original entry
+ * and the user may decide not to forward the packet
+ */
+ lut1Index = eoamTable[i].hdr.lutIdx;
+ ret = pa_DUP_ENTRY;
+ goto Pa_addEoamFlow_send_cmd;
+ }
+ }
+ }
+ }
+ }
+
+ /* Find a free entry in the table */
+ for (i = 0; i < paInst->nEoam; i++) {
+
+ if (eoamTable[i].hdr.status == PA_TBL_STAT_INACTIVE)
+ break;
+
+ }
+
+ if (i == paInst->nEoam) {
+ ret = pa_HANDLE_TABLE_FULL;
+ goto Pa_addEoamFlow_end;
+ }
+
+Pa_addEoamFlow_send_cmd:
+
+ /* The handle is just a pointer to the table entry */
+ *handle = (paHandleEoam_t)pa_CONV_BASE_TO_OFFSET(paLObj.cfg.instPoolBaseAddr,&eoamTable[i]);
+
+ /* Create the command */
+ fcmd = pa_format_fcmd_header (cmd, reply, PAFRM_CONFIG_COMMAND_ADDREP_LUT1, PA_COMID_EOAM | i, 1, csize);
+
+ /* Validity of the destination was already checked (HOST), so no other cases
+ * must be considered */
+ fcmd->replyDest = PAFRM_DEST_PKTDMA;
+
+ al1 = (pafrmCommandAddLut1_t *) &(fcmd->cmd);
+
+ al1->index = SWIZ(lut1Index);
+ al1->type = PAFRM_COM_ADD_LUT1_STANDARD;
+
+ CBWords0 = PAFRM_LUT1_CLASS_STANDARD << PAFRM_LUT1_CLASS_SHIFT;
+ CBWords1 = PAFRM_LUT1_VALID_PKTTYPE;
+ priority = 0;
+
+ al1->u.mac.pktType = PAFRM_L2_PKT_TYPE_MAC;
+
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_DST)
+ {
+ memcpy (al1->u.mac.dmac, eoamEntry.cfg.mac.dstMac, sizeof(paMacAddr_t));
+ CBWords0 |= PAFRM_LUT1_VALID_DMAC_ALL;
+ priority += 10;
+ }
+
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_SRC)
+ {
+ memcpy (al1->u.mac.smac, eoamEntry.cfg.mac.srcMac, sizeof(paMacAddr_t));
+ CBWords0 |= PAFRM_LUT1_VALID_SMAC;
+ priority += 10;
+ }
+
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_ETHERTYPE)
+ {
+ al1->u.mac.etherType = SWIZ(eoamEntry.cfg.mac.ethertype);
+ CBWords0 |= PAFRM_LUT1_VALID_ETHERTYPE;
+ priority += 10;
+
+ }
+
+ if (ethInfo->validBitMap & pa_ETH_INFO_VALID_MPLSTAG)
+ {
+ al1->u.mac.mpls = SWIZ(eoamEntry.cfg.mac.mplsTag);
+ CBWords0 |= PAFRM_LUT1_VALID_MPLS;
+ priority += 10;
+ }
+
+ if(ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN)
+ {
+ al1->u.mac.vlanId1 = SWIZ(eoamEntry.cfg.mac.vlan);
+ CBWords1 |= PAFRM_LUT1_VALID_VLANID1;
+ priority += 10;
+
+ }
+
+ if (ethInfo->validBitMap & pa_ETH_INFO_VALID_INPORT)
+ {
+ al1->u.mac.inport = SWIZ(eoamEntry.cfg.mac.inport);
+ CBWords1 |= PAFRM_LUT1_VALID_INPORT;
+ priority += 10;
+ }
+
+ if (ethInfo->validBitMap & pa_ETH_INFO_VALID_VLAN_PRI)
+ {
+ al1->u.mac.vlanPri1 = SWIZ(eoamEntry.cfg.mac.vlanPri);
+ CBWords1 |= PAFRM_LUT1_VALID_VLAN_PRI1;
+ priority += 10;
+ }
+
+ al1->CBWords0 = SWIZ(CBWords0);
+ al1->CBWords1 = SWIZ(CBWords1);
+ al1->priority = SWIZ(priority);
+ al1->bitMask = SWIZ(bitMask);
+
+ /* Forwarding information */
+ al1->match.forwardType = PAFRM_FORWARD_TYPE_EOAM;
+ al1->match.flowId = SWIZ(eoamInfo->flowId);
+ al1->match.queue = SWIZ(eoamInfo->destQueue);
+ al1->match.u.eoam.context = SWIZ(eoamInfo->swInfo0);
+ al1->match.u.eoam.megLevel = SWIZ(eoamInfo->megLevel);
+ al1->match.u.eoam.statsIndex = SWIZ(eoamInfo->statsIndex);
+
+ if (ret != pa_DUP_ENTRY)
+ {
+ /* Initialze, the table entry, add the status and pdsp NUM */
+ eoamEntry.hdr.type = PA_TABLE_ENTRY_TYPE_EOAM;
+ eoamEntry.hdr.subType = PA_TABLE_ENTRY_SUBTYPE_MAC;
+ eoamEntry.hdr.status = PA_TBL_STAT_PENDING_SUBS_REPLY;
+ eoamEntry.hdr.pdspNum = PASS_INGRESS0_PDSP1;
+ eoamEntry.hdr.lutIdx = -1;
+ eoamEntry.hdr.tableIdx = i;
+
+ memcpy (&eoamTable[i], &eoamEntry, sizeof(paL2Entry_t));
+ }
+
+ /* The destination for this command must be PDSP 1 */
+ *cmdDest = pa_CMD_TX_DEST_0;
+
+Pa_addEoamFlow_end:
+ Pa_osalEndMemAccess ((void *) eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+ Pa_osalEndMemAccess (paInst, sizeof(paInst_t));
+ Pa_osalMtCsExit(mtCsKey);
+
+ return (ret);
+
+}
+
/*******************************************************************************************
* FUNCTION PURPOSE: Add an ACL entry to the ACL table
*******************************************************************************************
{
return (pa_INVALID_INPUT_POINTER);
}
+
+ /* ACL Outer IP resource can not be used when EOAM is there in the system */
+ if ( (aclInst == pa_ACL_INST_OUTER_IP) &&
+ (PA_GET_STATE_EOAM(paInst) == 1) )
+ {
+ /* LUT1 resource for Outer ACL can not be used as it is used for EOAM classification */
+ return (pa_RESOURCE_USE_DENIED);
+ }
/* Sanity check the command buffer */
csize = sizeof(pafrmCommand_t)+sizeof(pafrmCommandAddLut1_t)-sizeof(uint32_t);
@@ -5821,6 +6202,7 @@ paReturn_t Pa_forwardResult (Pa_Handle iHandle, void *vresult, paEntryHandle_t *
{
paInst_t *paInst = (paInst_t *) pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, iHandle);
paL2Entry_t *l2Table;
+ paEoamEntry_t *eoamTable;
paL3Entry_t *l3Table;
paAclEntry_t *aclTable = NULL;
paFcEntry_t *fcTable = NULL;
@@ -5832,6 +6214,7 @@ paReturn_t Pa_forwardResult (Pa_Handle iHandle, void *vresult, paEntryHandle_t *
paL3Entry_t *l3e = NULL, *l3e2 = NULL;
paAclEntry_t *acle = NULL;
paFcEntry_t *fce = NULL;
+ paEoamEntry_t *eoame = NULL;
paL2L3Header_t *hdr, *hdr2;
paL4Entry_t *pL4Entry;
int8_t origStatus, origStatus2;
@@ -5867,7 +6250,13 @@ paReturn_t Pa_forwardResult (Pa_Handle iHandle, void *vresult, paEntryHandle_t *
Pa_osalBeginMemAccess ( (void *) vlnkTable,
paInst->paBufs[PA_BUFFNUM_VIRTUAL_LNK_TABLE].size);
}
-
+
+ if (paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size)
+ {
+ eoamTable = (paEoamEntry_t *)pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].base);
+ Pa_osalBeginMemAccess ((void *) eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+ }
if (paInst->paBufs[PA_BUFFNUM_ACL_TABLE].size)
{
aclTable = (paAclEntry_t *)pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, paInst->paBufs[PA_BUFFNUM_ACL_TABLE].base);
@@ -5910,6 +6299,17 @@ paReturn_t Pa_forwardResult (Pa_Handle iHandle, void *vresult, paEntryHandle_t *
hdr = &(acle->hdr);
retHandle->l2l3Handle = (paHandleL2L3_t)pa_CONV_BASE_TO_OFFSET(paLObj.cfg.instPoolBaseAddr,acle);
*handleType = pa_ACL_HANDLE;
+ }
+ else if ((fcmd->comId & PA_COMID_L_MASK) == PA_COMID_EOAM) {
+ if (NULL == eoamTable)
+ {
+ ret = pa_INVALID_INPUT_HANDLE;
+ goto Pa_forwardResult_end;
+ }
+ eoame = &eoamTable[fcmd->comId & PA_COMID_IDX_MASK];
+ hdr = &(eoame->hdr);
+ retHandle->l2l3Handle = (paHandleL2L3_t)pa_CONV_BASE_TO_OFFSET(paLObj.cfg.instPoolBaseAddr,eoame);
+ *handleType = pa_EOAM_HANDLE;
} else {
if (NULL == fcTable)
Pa_osalEndMemAccess ((void *)aclTable,
paInst->paBufs[PA_BUFFNUM_ACL_TABLE].size);
}
+ if (paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size)
+ {
+ Pa_osalEndMemAccess ((void *)eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+ }
if (paInst->paBufs[PA_BUFFNUM_FC_TABLE].size)
{
Pa_osalEndMemAccess ((void *)fcTable,
uint16_t csize;
paReturn_t ret = pa_OK;
uint32_t mtCsKey;
-
- if(ctrl == NULL)return(pa_INVALID_INPUT_POINTER);
+
+ if(ctrl == NULL)return(pa_INVALID_INPUT_POINTER);
if((ctrl->code > pa_CONTROL_MAX_CONFIG_GEN2))
return (pa_ERR_CONFIG);
if (cfg->pOutAclConfig)
{
paAclConfig_t* pAclCfg = cfg->pOutAclConfig;
+
+ /* ACL config is not permitted when EOAM is enabled */
+ if (PA_GET_STATE_EOAM(paInst) == 1)
+ {
+ ret = pa_ERR_CONFIG;
+ }
/* range check */
if (pAclCfg->action > pa_ACL_ACTION_MAX)
pa_ra_group_cfg(pRaGroupCfg, &paLObj.pSysRegs->RA.FLOW_OVERRIDE[1], 1);
}
+
+ /* EOAM Global Configuration */
+ if (cfg->pEoamConfig)
+ {
+ paEoamGlobalConfig_t* pEoamCfg = cfg->pEoamConfig;
+ paInst->cfg.eOamConfig = *pEoamCfg;
+
+ /* Check if EOAM table is allocated for global configuration */
+ if (paInst->nEoam <= 0)
+ return (pa_ERR_CONFIG);
+
+ if (pEoamCfg->enable)
+ {
+ PA_SET_STATE_EOAM(paInst, 1); /* EOAM is now enabled */
+ cpa->eoam.ctrlBitMap |= PAFRM_EOAM_CONTROL_EN;
+ }
+ else
+ {
+ PA_SET_STATE_EOAM(paInst, 0); /* EOAM is now disabled */
+ cpa->eoam.ctrlBitMap &= ~PAFRM_EOAM_CONTROL_EN;
+ }
+
+ cpa->validFlag |= PAFRM_COMMAND_CONFIG_VALID_EOAM;
+ cpa->eoam.ctrlBitMap = SWIZ(cpa->eoam.ctrlBitMap);
+
+ if (pEoamCfg->enable)
+ {
+ switch (pEoamCfg->freq)
+ {
+ case pa_INPUT_FREQ_1000MHZ:
+ {
+ cpa->eoam.mul = 24576;
+ cpa->eoam.nsNumRoAcc = 393210;
+ cpa->eoam.nsRoAcc = 393210;
+ cpa->eoam.numRo = 1;
+ break;
+ }
+ case pa_INPUT_FREQ_1050MHZ:
+ {
+ cpa->eoam.mul = 23406;
+ cpa->eoam.nsNumRoAcc = 2621400;
+ cpa->eoam.nsRoAcc = 374486;
+ cpa->eoam.numRo = 7;
+ break;
+ }
+ case pa_INPUT_FREQ_1049p6MHZ:
+ {
+ cpa->eoam.mul = 23415;
+ cpa->eoam.nsNumRoAcc = 122878125;
+ cpa->eoam.nsRoAcc = 374628;
+ cpa->eoam.numRo = 328;
+ break;
+ }
+ default:
+ return (pa_ERR_CONFIG);
+ }
+
+
+ cpa->eoam.mul = SWIZ(cpa->eoam.mul);
+ cpa->eoam.nsNumRoAcc = SWIZ(cpa->eoam.nsNumRoAcc);
+ cpa->eoam.nsRoAcc = SWIZ(cpa->eoam.nsRoAcc);
+ cpa->eoam.numRo = SWIZ(cpa->eoam.numRo);
+
+ if (pEoamCfg->validBitMap & pa_EOAM_VALID_STATS_CTRL)
+ {
+ paEoamStatsCtrlConfig_t *eoamStatsCtrlCfg = &pEoamCfg->statsCtrl;
+ int i, numProtos = eoamStatsCtrlCfg->numProtoExcl;
+
+ if (numProtos > pa_MAX_EOAM_PROTO_EXCLUSION)
+ return (pa_ERR_CONFIG);
+
+ if (numProtos)
+ {
+ for ( i = 0; i < numProtos; i++ )
+ {
+ cpa->eoam.exclEthTypes[i] = SWIZ(eoamStatsCtrlCfg->exclEthTypes[i]);
+ }
+ }
+ }
+ }
+ }
/* Destination can be any PDSP, but POST PDSP0 is used since it is lightly loaded */
*cmdDest = pa_CMD_TX_DEST_5;
break;
}
+ case pa_CONTROL_TIME_OFFSET_CONFIG:
+ {
+ paSetTimeOffset_t *tsCfg = &ctrl->params.tOffsetCfg;
+
+ ccfg->cfgCode = PAFRM_SYSTEM_CONFIG_CODE_TIME_OFFSET_CFG;
+ /* time offset correction configuration, can be any PDSP */
+ ccfg->u.timeOffsetCfg.offset_sec = tsCfg->offset_sec;
+ ccfg->u.timeOffsetCfg.offset_ns = tsCfg->offset_ns;
+
+ ccfg->u.timeOffsetCfg.offset_sec = SWIZ(ccfg->u.timeOffsetCfg.offset_sec);
+ ccfg->u.timeOffsetCfg.offset_ns = SWIZ(ccfg->u.timeOffsetCfg.offset_ns);
+ /* Command proc at Ingress 4 PDSP1 */
+ *cmdDest = pa_CMD_TX_DEST_4;
+ break;
+ }
+
default:
ret = pa_ERR_CONFIG;
break;
}
}
-
return (ret);
} /* Pa_control */
return (pa_OK);
-} /* Pa_queryAclStats */
+} /* Pa_queryAclStats */
+
+/********************************************************************************
+ * FUNCTION PURPOSE: Query EOAM statistics
+ ********************************************************************************
+ * DESCRIPTION: This API queries EOAM statistics
+ ********************************************************************************/
+paReturn_t Pa_queryEoamStats (Pa_Handle handle,
+ paHandleEoam_t eoamHandle,
+ uint16_t doClear,
+ paEoamStats_t *pEoamStats)
+{
+
+ paL2Entry_t *eoamEntry = (paL2Entry_t *)pa_CONV_OFFSET_TO_BASE(paLObj.cfg.instPoolBaseAddr, eoamHandle);
+
+ volatile uint32_t *pSrcCnt;
+
+ if (pEoamStats == NULL)
+ return(pa_INVALID_INPUT_POINTER);
+
+ /* Refresh EOAM Instance for read only */
+ Pa_osalBeginMemAccess (eoamEntry, sizeof(paL2L3Header_t));
+
+ pSrcCnt = doClear? &paLObj.pSysRegs->COLLECT_STATS[PASS_EOAM_STATS_BASE_ENTRY(eoamEntry->hdr.tableIdx)]:
+ &paLObj.pSysRegs->QUERY_STATS[PASS_EOAM_STATS_BASE_ENTRY(eoamEntry->hdr.tableIdx)];
+
+ Pa_osalEndMemAccess (eoamEntry, sizeof(paL2L3Header_t));
+
+ pEoamStats->nMatchPackets = pSrcCnt[0];
+ pEoamStats->nMatchBytes = pSrcCnt[1];
+
+ return (pa_OK);
+
+} /* Pa_queryEoamStats */
+
/********************************************************************************
* FUNCTION PURPOSE: Query Flow Cache statistics
}
break;
+ case pa_CMD_INS_TIME:
+ {
+ paInsTime_t *insTime = &cmdInfo[index].params.insTime;
+ pasahoInsMsgTime_t *fwInsMsgTime = (pasahoInsMsgTime_t *)(bufAddr + cmdOffset);
+ PASAHO_SET_CMDID (fwInsMsgTime, PASAHO_PAMOD_INSERT_MSG_TIME);
+ PASAHO_SET_SUB_CODE_INS_MSG_TIME(fwInsMsgTime);
+ PASAHO_SET_INS_OFFSET_MSG_TIME(fwInsMsgTime, insTime->startOffset);
+ cmdOffset += sizeof (pasahoInsMsgTime_t);
+ if(fAlignDetect)
+ cmdBlockSize+=sizeof(pasahoInsMsgTime_t);
+ }
+ break;
+ case pa_CMD_INS_COUNT:
+ {
+ paInsCount_t *insCount = &cmdInfo[index].params.insCount;
+ pasahoInsMsgCount_t *fwInsMsgCnt = (pasahoInsMsgCount_t *)(bufAddr + cmdOffset);
+ PASAHO_SET_CMDID (fwInsMsgCnt, PASAHO_PAMOD_INSERT_MSG_COUNT);
+ PASAHO_SET_SUB_CODE_INS_MSG_TIME(fwInsMsgCnt);
+ PASAHO_SET_INS_OFFSET_MSG_COUNT(fwInsMsgCnt, insCount->startOffset);
+ PASAHO_SET_COUNTER_INDEX_FOR_MSG_COUNT(fwInsMsgCnt, insCount->countIndex);
+ cmdOffset += sizeof (pasahoInsMsgCount_t);
+ if(fAlignDetect)
+ cmdBlockSize+=sizeof(pasahoInsMsgCount_t);
+ }
+ break;
+
default:
return (pa_ERR_CONFIG);
}
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
- 0x00000000, /* C13: Reserved*/
+ 0x00000000, /* C12: Reserved */
+ 0x00000000, /* C13: Reserved */
0xFFF80000, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
- 0xFFF80400, /* C16: IP Traffic Flow */
+ 0xFFF80400, /* C16: Time Accumulation Constants and EOAM Exception table */
0xFFF80800, /* C17: IP Reassembly Control Block */
0xFFF80C00, /* C18: IP Protocol Table */
0xFF020000, /* C19: Custom LUT1 and global configuration */
0xFFF18800, /* C9: PDSP Timer (PDSP specific) */
0xFFF19000, /* C10: LUT1 Registers */
0xFFF19400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80100, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
- 0xFFF80400, /* C16: IP Traffic Flow */
+ 0xFFF80400, /* C16: Time Accumulation Constants and EOAM Exception table */
0xFFF80800, /* C17: IP Reassembly Control Block */
0xFFF80D00, /* C18: IP Protocol Table */
0xFF020000, /* C19: Custom LUT1 and global configuration */
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80000, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
0xFFF18800, /* C9: PDSP Timer (PDSP specific) */
0xFFF19000, /* C10: LUT1 Registers */
0xFFF19400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80100, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80000, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80000, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0xFFF80000, /* C14: PDSP Context */
0x00000000, /* C15: Reserved*/
0xFFF18800, /* C9: PDSP Timer (PDSP specific) */
0xFFF19000, /* C10: LUT1 Registers */
0xFFF19400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0x00000000, /* C14: Reserved*/
0x00000000, /* C15: Reserved*/
0xFFF08800, /* C9: PDSP Timer (PDSP specific) */
0xFFF09000, /* C10: LUT1 Registers */
0xFFF09400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0x00000000, /* C14: Reserved*/
0xFFF80400, /* C15: User Stats Control Block */
0xFFF18800, /* C9: PDSP Timer (PDSP specific) */
0xFFF19000, /* C10: LUT1 Registers */
0xFFF19400, /* C11: LUT2 Registers */
- 0x00000000, /* C12: Reserved*/
+ 0x00000000, /* C12: Reserved */
0x00000000, /* C13: Reserved*/
0x00000000, /* C14: Reserved*/
0xFFF80400, /* C15: User Stats Control Block */
diff --git a/src/v1/pafrm.h b/src/v1/pafrm.h
index 5a6e4dfd3adf329a0e7db9df0c0c9e51799f272d..e61469b55825d55dcbc09fd1ed55455fec374cd0 100644 (file)
--- a/src/v1/pafrm.h
+++ b/src/v1/pafrm.h
#define PAFRM_CUSTOM_TYPE_LUT1 pa_CUSTOM_TYPE_LUT1 /* 1 */
#define PAFRM_CUSTOM_TYPE_LUT2 pa_CUSTOM_TYPE_LUT2 /* 2 */
+/* Routing information used to forward Ethernet OAM packets */
+typedef struct pafrmEoamForward_s {
+ uint32_t context; /* Information returned in SwInfo0 for the control packets forwarded to host */
+ uint16_t statsIndex; /* entry statistics index */
+ uint8_t megLevel; /* MEG threshold level to compare for counter statistics */
+ uint8_t rsvd1;
+ uint32_t rsvd2; /* Reserved for future use */
+} pafrmForwardEoam_t;
+
/*
* Routing information used to forward packets fromm PA sub-system to various destinations
*/
pafrmForwardPa_t pa; /* PA internal routing information */
pafrmForwardEf_t ef; /* PA Egress Flow information */
pafrmDiscard_t discard; /* Discard specific routing information */
+ pafrmForwardEoam_t eoam; /* Ethernet OAM specific routing information */
} u;
} pafrmForward_t;
PAFRM_FORWARD_TYPE_SRIO, /* use PAFRM_DEST_CDMA */
PAFRM_FORWARD_TYPE_SA_DIRECT, /* use flowId as stream ID */
PAFRM_FORWARD_TYPE_DISCARD,
- PAFRM_FORWARD_TYPE_EFLOW
+ PAFRM_FORWARD_TYPE_EFLOW,
+ PAFRM_FORWARD_TYPE_EOAM
};
-
#define PAFRM_FORWARD_CONTROL_USE_LOC_DMA 0x80 /* SASS only: Use local DMA */
#define PAFRM_FORWARD_TYPE_MASK 0x0F
#define PAFRM_RA_CONTROL_USE_LOC_DMA (1 << 1) /* Input traffic uses local DMA */
#define PAFRM_RA_CONTROL_TO_QUEUE (1 << 2) /* Output packets are delivered to host queue */
+/* Ethernet OAM Global configuration (Shared Scratch RAM) */
+#define PAFRM_EOAM_MAX_PROTOCOLS 8
+
+typedef struct pafrmEoamCfg_s {
+ uint8_t ctrlBitMap; /* EOAM Control Bits */
+ uint8_t rsvd[3]; /* alignment */
+ uint32_t nsRoAcc; /* nano second accumulation over a roll_over periods */
+ uint32_t nsNumRoAcc; /* nano second accumulation over (N * roll_over) periods */
+
+ uint16_t numRo; /* Number of Roll overs to consider for error correction */
+ uint16_t mul; /* Multiplication factor, keeping shift factor as 13 */
+
+ uint16_t exclEthTypes[PAFRM_EOAM_MAX_PROTOCOLS]; /* Eth Protocols that do not trigger counts on target flow match */
+} pafrmEoamCfg_t;
+
+#define PAFRM_EOAM_CONTROL_EN (1 << 0) /* EOAM is enabled */
+
+/* time stamp offset set configuration (Shared RAM) */
+typedef struct pafrmEoamSetTOffsetCfg_s {
+ uint32_t offset_sec; /* 4 byte 1588 time offset at PA time 0 for seconds */
+ uint32_t offset_ns; /* 4 byte 1588 time offset at PA time 0 for nano seconds */
+} pafrmSetTOffsetCfg_t;
+
/* Exception routing enumeration */
/* For reference only */
enum {
pafrmAclConfig_t inAcl; /* Inner IP ACL Configuration */
pafrmRaConfig_t outRa; /* Outer IP RA configuration */
pafrmRaConfig_t inRa; /* Inner IP RA configuration */
-
+ pafrmEoamCfg_t eoam; /* Ethernet OAM global configuration */
} pafrmCommandConfigPa_t;
#define PAFRM_COMMAND_CONFIG_VALID_MAX_COUNTS (1 << 0)
#define PAFRM_COMMAND_CONFIG_VALID_IN_IP_ACL (1 << 8)
#define PAFRM_COMMAND_CONFIG_VALID_OUT_IP_RA (1 << 9)
#define PAFRM_COMMAND_CONFIG_VALID_IN_IP_RA (1 << 10)
+#define PAFRM_COMMAND_CONFIG_VALID_EOAM (1 << 11)
/* PA system configuration command */
typedef struct pafrmCommandSysConfigPa_s
pafrmPktCapCfg_t egressPktCapCfg; /* Egress packet capture configuration */
pafrmDefRouteCfg_t defRouteCfg; /* Ingress default route configuration */
pafrmEQosModeConfig_t eqosCfg; /* Eqos configuration */
+ pafrmSetTOffsetCfg_t timeOffsetCfg; /* time offset configuration */
} u;
} pafrmCommandSysConfigPa_t;
/* PA system configuration codes */
-#define PAFRM_SYSTEM_CONFIG_CODE_EROUTE 0
-#define PAFRM_SYSTEM_CONFIG_CODE_CUSTOM_LUT1 1
-#define PAFRM_SYSTEM_CONFIG_CODE_CUSTOM_LUT2 2
-#define PAFRM_SYSTEM_CONFIG_CODE_802_1AG 3
-#define PAFRM_SYSTEM_CONFIG_CODE_IPSEC_NAT_T 4
-#define PAFRM_SYSTEM_CONFIG_CODE_GTPU 5
-#define PAFRM_SYSTEM_CONFIG_CODE_IGRESS_PCAP 6
-#define PAFRM_SYSTEM_CONFIG_CODE_EGRESS_PCAP 7
-#define PAFRM_SYSTEM_CONFIG_CODE_DEFAULT_ROUTE 8
-#define PAFRM_SYSTEM_CONFIG_CODE_EQoS_MODE 9
-
+#define PAFRM_SYSTEM_CONFIG_CODE_EROUTE 0
+#define PAFRM_SYSTEM_CONFIG_CODE_CUSTOM_LUT1 1
+#define PAFRM_SYSTEM_CONFIG_CODE_CUSTOM_LUT2 2
+#define PAFRM_SYSTEM_CONFIG_CODE_802_1AG 3
+#define PAFRM_SYSTEM_CONFIG_CODE_IPSEC_NAT_T 4
+#define PAFRM_SYSTEM_CONFIG_CODE_GTPU 5
+#define PAFRM_SYSTEM_CONFIG_CODE_IGRESS_PCAP 6
+#define PAFRM_SYSTEM_CONFIG_CODE_EGRESS_PCAP 7
+#define PAFRM_SYSTEM_CONFIG_CODE_DEFAULT_ROUTE 8
+#define PAFRM_SYSTEM_CONFIG_CODE_EQoS_MODE 9
+#define PAFRM_SYSTEM_CONFIG_CODE_TIME_OFFSET_CFG 10
/* Protocol field values (IPV4) / next header (IPV6) */
#define IP_PROTO_IPV6_HOP_BY_HOP 0 // IPv6 extension header - hop by hop
#define PAFRM_COM_ADD_LUT1_CUSTOM 2 /* Custom LUT1 */
#define PAFRM_COM_ADD_LUT1_VLINK 3 /* Standard entry with virtual Link */
+#if 0
+/* Add EOAM entry to LUT1 of PDSP1 (gen 2 support only) */
+#define PAFRM_EOAM_1DM_PKT_OPCODE 45
+#define PAFRM_EOAM_LMR_PKT_OPCODE 42
+#define PAFRM_EOAM_LMM_PKT_OPCODE 43
+#define PAFRM_EOAM_DMR_PKT_OPCODE 46
+#define PAFRM_EOAM_DMM_PKT_OPCODE 47
+
+typedef struct pafrmCommandAddEoam_s {
+
+ uint16_t index; /* LUT1 index */
+ uint8_t type; /* Custom or standard, EOAM uses standard */
+ uint8_t rsvd1; /* Reserved for future use */
+
+ uint8_t megLevel; /* MEG Level */
+ uint8_t rsvd2;
+ uint16_t statsIndex; /* entry statistics index */
+
+ /* LUT1 view */
+ pafrmComL1Mac_t mac; /* matching information for MAC entry */
+
+ /* Command header */
+ uint16_t range1Hi; /* Range High for bytes 44-45 */
+ uint16_t range0Hi; /* Range High for bytes 42-43 */
+ uint32_t CBWords0; /* Care Bits Word0 */
+ uint32_t CBWords1; /* Care Bits Word1 */
+ uint16_t bitMask; /* BitMask for Bytes 0-1 */
+ uint16_t priority; /* Record priority "score", relative index */
+
+ /* Routing information for EOAM control packets when a match is found */
+ pafrmEoamForward_t eoamFwd;
+
+} pafrmCommandAddEoam_t;
+#endif
+
/* Delete entry from LUT1 */
typedef struct pafrmCommandDelLut1_s
{
diff --git a/src/v1/painit.c b/src/v1/painit.c
index a7982ef101982483f024d2b612efda36db7dae2c..4c12b334e71e6d387d831e7f61b2415e7dd9062e 100644 (file)
--- a/src/v1/painit.c
+++ b/src/v1/painit.c
* PA_BUFFNUM_ACL_TABLE - the ACL handle table
* PA_BUFFNUM_FC_TABLE - the FC handle table
*/
-const int paMemAligns[pa_N_BUFS_GEN2] = { 8, 8, 8, 8, 8, 8, 8 };
+const int paMemAligns[pa_N_BUFS_GEN2] = { 8, 8, 8, 8, 8, 8, 8, 8 };
/* Check that MAX_CMD_BUF_SIZE is correct */
/* FC Table size requirements */
sizes[PA_BUFFNUM_FC_TABLE] = sizeCfg->nMaxFc * sizeof(paFcEntry_t);
+
+ /* Ethernet OAM table Size requirements */
+ sizes[PA_BUFFNUM_EOAM_TABLE] = sizeCfg->nMaxEoam * sizeof(paL2Entry_t);
for ( i = 0; i < pa_N_BUFS_GEN2; i++)
{
paL3Entry_t *l3Table;
paAclEntry_t *aclTable;
paFcEntry_t *fcTable;
+ paL2Entry_t *eoamTable;
paUsrStatsLnkEntry_t *lnkTable;
paVirtualLnk_t *vlnkTable;
int i;
paInst->nMaxVlnk = sizeCfg->nMaxVlnk;
paInst->nAcl = sizeCfg->nMaxAcl;
paInst->nFc = sizeCfg->nMaxFc;
+ paInst->nEoam = sizeCfg->nMaxEoam;
paInst->paBufs[PA_BUFFNUM_L2_TABLE].size = sizes[PA_BUFFNUM_L2_TABLE];
paInst->paBufs[PA_BUFFNUM_L3_TABLE].size = sizes[PA_BUFFNUM_L3_TABLE];
paInst->paBufs[PA_BUFFNUM_USR_STATS_LNK_TABLE].size = sizes[PA_BUFFNUM_USR_STATS_LNK_TABLE];
paInst->paBufs[PA_BUFFNUM_VIRTUAL_LNK_TABLE].size = sizes[PA_BUFFNUM_VIRTUAL_LNK_TABLE];
paInst->paBufs[PA_BUFFNUM_ACL_TABLE].size = sizes[PA_BUFFNUM_ACL_TABLE];
paInst->paBufs[PA_BUFFNUM_FC_TABLE].size = sizes[PA_BUFFNUM_FC_TABLE];
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size = sizes[PA_BUFFNUM_EOAM_TABLE];
if (config->initTable) {
Pa_osalEndMemAccess ((void*) l3Table,
paInst->paBufs[PA_BUFFNUM_L3_TABLE].size);
+
+ if (paInst->nEoam)
+ {
+ eoamTable = (paL2Entry_t *)pa_CONV_OFFSET_TO_BASE(config->instPoolBaseAddr, paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].base);
+
+ Pa_osalBeginMemAccess ((void*) eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+
+ memset (eoamTable, 0, paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+
+ /* The status value PA_TBL_STAT_INACTIVE should have a value of 0, but take the safe approach */
+ for (i = 0; i < paInst->nEoam; i++) {
+ eoamTable[i].hdr.status = PA_TBL_STAT_INACTIVE;
+ eoamTable[i].hdr.tableIdx = i;
+ eoamTable[i].hdr.type = PA_TABLE_ENTRY_TYPE_L2;
+ }
+
+ Pa_osalEndMemAccess ((void*) eoamTable,
+ paInst->paBufs[PA_BUFFNUM_EOAM_TABLE].size);
+ }
if (paInst->nAcl)
{
PA_SET_STATE_READY(paInst, 1);
PA_SET_STATE_GTPU_LINK(paInst, 0);
+ PA_SET_STATE_EOAM(paInst, 0); /* Default EOAM is not enabled */
Pa_osalEndMemAccess (paInst, sizeof(paInst_t));
Pa_osalMtCsExit(mtCsKey);
diff --git a/src/v1/paloc.h b/src/v1/paloc.h
index 72851029e32676a0f67a790bd7d86c91ed324f76..22d1c763554fc584ff75b14c6bbe424588620383 100644 (file)
--- a/src/v1/paloc.h
+++ b/src/v1/paloc.h
#define PA_BUFFNUM_VIRTUAL_LNK_TABLE pa_BUF_VLINK_TABLE
#define PA_BUFFNUM_ACL_TABLE pa_BUF_ACL_TABLE
#define PA_BUFFNUM_FC_TABLE pa_BUF_FC_TABLE
-
+#define PA_BUFFNUM_EOAM_TABLE pa_BUF_EOAM_TABLE
/*
* Table Entry status
*/
uint16_t ethertype; /* Ethernet Type */
uint32_t mplsTag; /* MPLS tag */
- uint16_t inport; /* Input EMAC port */
+ uint8_t inport; /* Input EMAC port */
+ uint8_t vlanPri; /* VLAN priority */
} paL2MacCfg_t;
typedef paVlinkEntry_t paVirtualLnk_t;
+/*
+ * An EOAM table element (same as L2 Table)
+ */
+typedef paL2Entry_t paEoamEntry_t;
/*
* An ACL table element (expansion of L3 table)
#define PA_TABLE_ENTRY_TYPE_VL 5
#define PA_TABLE_ENTRY_TYPE_ACL 10
#define PA_TABLE_ENTRY_TYPE_FC 11
+#define PA_TABLE_ENTRY_TYPE_EOAM 12
#define PA_TABLE_ENTRY_TYPE_NONE 0xFF /* The L4 entry does not connect to a upper layer (no longer used) */
/* PA Enter sub-types */
paAclConfig_t inAclConfig; /* the inner ACL configuration structure */
paRaGroupConfig_t outIpRaGroupConfig; /* the outer IP Reassembly group configuration structures */
paRaGroupConfig_t inIpRaGroupConfig; /* the inner IP Reassembly group configuration structures */
+ paEoamGlobalConfig_t eOamConfig; /* the ethernet OAM configuration structure */
} paSysInfo_t;
/*
* PASS command ID formatting
- * Bit 14-15 is used to identify the type of table in the command comId field
+ * Bit 12-15 is used to identify the type of table in the command comId field
*/
-#define PA_COMID_L2 (0 << 14)
-#define PA_COMID_L3 (1 << 14)
-#define PA_COMID_ACL (2 << 14)
-#define PA_COMID_FC (3 << 14)
+#define PA_COMID_L2 (0 << 12)
+#define PA_COMID_L3 (1 << 12)
+#define PA_COMID_ACL (2 << 12)
+#define PA_COMID_FC (3 << 12)
+#define PA_COMID_EOAM (4 << 12)
-#define PA_COMID_L_MASK (3 << 14)
-#define PA_COMID_IDX_MASK (~(3 << 14))
+#define PA_COMID_L_MASK (15 << 12)
+#define PA_COMID_IDX_MASK (~(15 << 12))
/*
* PDSPs and PDSP Layout
int nUsrStats; /* Number of user-defined statistics in the user-statistics linking table */
int nAcl; /* Number of entries in ACL table */
int nFc; /* Number of entries in FC table */
+ int nEoam; /* Number of entries in EOAM table */
int16_t nMaxVlnk; /* Number of virtual links in the VLNK table */
int16_t n2152Entries;/* Number of active GTP-U (UDP port = 2158) ports */
/* 0 to 1 transition: Disable GTP-U processing */
uint32_t stateBitfield; /* TRUE: Instance State */
/* Bit 0: PASS Ready
Bit 1: GTPU Classification with link
- Bit 2-31: Reserved
+ Bit 2: EOAM Classification
+ Bit 3-31: Reserved
*/
paSysInfo_t cfg; /* record the global system configurations */
uint32_t usrStatsAllocBitmap[PA_USR_STATS_BITMAP_SIZE];/* User-defined statistics allocation bitmap */
#define PA_TEST_STATE_READY(a) UTL_GET_BITFIELD((a)->stateBitfield, 0, 1)
#define PA_SET_STATE_GTPU_LINK(a,b) UTL_SET_BITFIELD((a)->stateBitfield, b, 1, 1)
#define PA_TEST_STATE_GTPU_LINK(a) UTL_GET_BITFIELD((a)->stateBitfield, 1, 1)
+#define PA_SET_STATE_EOAM(a,b) UTL_SET_BITFIELD((a)->stateBitfield, b, 2, 1)
+#define PA_GET_STATE_EOAM(a) UTL_GET_BITFIELD((a)->stateBitfield, 2, 1)
+
/*
* PDSP mapping structure
*/
#define PASS_ACL_STATS_SIZE 1024
#define PASS_ACL_STATS_BASE_ENTRY(index) (PASS_ACL_STATS_BASE+(index)*2)
+#define PASS_EOAM_STATS_BASE 0x400
+#define PASS_EOAM_STATS_SIZE 1024
+#define PASS_EOAM_STATS_BASE_ENTRY(index) (PASS_EOAM_STATS_BASE+(index)*2)
+
/*
* MPLS labels are restriced to 20 bits
*/
diff --git a/test/PAUnitTest/k2e/c66/bios/PA_UnitTest_K2E_testProject.txt b/test/PAUnitTest/k2e/c66/bios/PA_UnitTest_K2E_testProject.txt
index cf76d170ec8e95e3b7c0ba10abefe7a7f75eb32d..df0697636c5bd218fd5174bcd8414c9e5f5a3a10 100644 (file)
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test11.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test12.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test13.c"
+-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test14.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/example/reassemLib/reassemLib.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/fw/v1/pa2_in0_pdsp0_bin.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/fw/v1/pa2_in0_pdsp1_bin.c"
diff --git a/test/PAUnitTest/k2l/c66/bios/PA_UnitTest_K2L_testProject.txt b/test/PAUnitTest/k2l/c66/bios/PA_UnitTest_K2L_testProject.txt
index 6214332734cbe3da94fa8ff488dfa2d984b6af0e..2125c34b7b2d450ead0c3d40030eb9849673c610 100644 (file)
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test11.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test12.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test13.c"
+-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/test/PAUnitTest/src/tests/test14.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/example/reassemLib/reassemLib.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/fw/v1/pa2_in0_pdsp0_bin.c"
-ccs.linkFile "PASS_INSTALL_PATH/ti/drv/pa/fw/v1/pa2_in0_pdsp1_bin.c"
index a70bea1b5db1f690ff610a338f6769b771d3dd71..3bc8ea5771b2916d676d26bcede718e86439b51c 100644 (file)
uint8_t memVLinkRam[TF_ROUND_UP(TF_VLINK_TABLE_SIZE, TF_CACHE_LINESZ)]ALIGN(TF_CACHE_LINESZ);
uint8_t memAclRam[TF_ROUND_UP(TF_ACL_TABLE_SIZE, TF_CACHE_LINESZ)]ALIGN(TF_CACHE_LINESZ);
uint8_t memFcRam[TF_ROUND_UP(TF_FC_TABLE_SIZE, TF_CACHE_LINESZ)]ALIGN(TF_CACHE_LINESZ);
+uint8_t memEoamRam[TF_ROUND_UP(TF_EOAM_TABLE_SIZE, TF_CACHE_LINESZ)]ALIGN(TF_CACHE_LINESZ);
/******************************************************************************
* Macro to convert to IP Register Virtual Address from a mapped base Virtual Address
bases[pa_BUF_FC_TABLE] = (void *)memFcRam;
-
+
+ /* The 8th buffer is the Ethernet OAM table */
+ if ((uint32_t)memEoamRam & (aligns[pa_BUF_EOAM_TABLE] - 1)) {
+ printf ("initPa: Pa_getBufferReq requires %d alignment for Ethernet OAM buffer, but address is 0x%08x\n", aligns[pa_BUF_EOAM_TABLE], (uint32_t)memEoamRam);
+ return (-1);
+ }
+
+ if (sizeof(memEoamRam) < sizes[pa_BUF_EOAM_TABLE]) {
+ printf ("initPa: Pa_getBufferReq requires %d bytes for Ethernet OAM buffer, have only %d\n", sizes[pa_BUF_EOAM_TABLE], sizeof(memEoamRam));
+ return (-1);
+ }
+
+ bases[pa_BUF_EOAM_TABLE] = (void *)memEoamRam;
+
/* set default RA system configuration */
raCfg.ipv4MinPktSize = 28; /* 20-byte IPv4 header plus 8-byte payload */
raCfg.numCxts = 250;
index 568aaba932b88eca6d36724c40c2b71bbd488f60..4785a47ffd076f170e45684a55590f32d00c247f 100644 (file)
\r
#ifdef NSS_GEN2\r
\r
- paSize.nMaxAcl = TF_MAX_NUM_ACL_HANDLES;\r
- paSize.nMaxFc = TF_MAX_NUM_FC_HANDLES;\r
- \r
+ paSize.nMaxAcl = TF_MAX_NUM_ACL_HANDLES;\r
+ paSize.nMaxFc = TF_MAX_NUM_FC_HANDLES;\r
+ paSize.nMaxEoam = TF_MAX_NUM_EOAM_HANDLES;\r
#endif \r
\r
ret = Pa_getBufferReq(&paSize, sizes, aligns);\r
}\r
\r
if (sizeof(memFcRam) < sizes[pa_BUF_FC_TABLE]) {\r
- System_printf ("initPa: Pa_getBufferReq requires %d bytes for Flow Cache buffer, have only %d\n", sizes[pa_BUF_FC_TABLE], sizeof(memAclRam));\r
+ System_printf ("initPa: Pa_getBufferReq requires %d bytes for Flow Cache buffer, have only %d\n", sizes[pa_BUF_FC_TABLE], sizeof(memFcRam));\r
return (-1);\r
}\r
\r
bases[pa_BUF_FC_TABLE] = (void *)memFcRam;\r
\r
+ /* The 8th buffer is the Eoam table */\r
+ if ((uint32_t)memEoamRam & (aligns[pa_BUF_EOAM_TABLE] - 1)) {\r
+ System_printf ("initPa: Pa_getBufferReq requires %d alignment for Ethernet OAM buffer, but address is 0x%08x\n", aligns[pa_BUF_EOAM_TABLE], (uint32_t)memEoamRam);\r
+ return (-1);\r
+ }\r
+\r
+ if (sizeof(memEoamRam) < sizes[pa_BUF_EOAM_TABLE]) {\r
+ System_printf ("initPa: Pa_getBufferReq requires %d bytes for Ethernet OAM buffer, have only %d\n", sizes[pa_BUF_EOAM_TABLE], sizeof(memEoamRam));\r
+ return (-1);\r
+ }\r
+\r
+ bases[pa_BUF_EOAM_TABLE] = (void *)memEoamRam;\r
\r
/* set default RA system configuration */\r
raCfg.ipv4MinPktSize = 28; /* 20-byte IPv4 header plus 8-byte payload */\r
index 8750aaa918bd6eb3080b8ca03074a7b812ae85c5..7da69aac4b27609f9f941b6a381d0e91c117f2b6 100644 (file)
+
/*
*
* Copyright (C) 2010-2013 Texas Instruments Incorporated - http://www.ti.com/
{ paTestUnconfigured, "Packet reception while unconfigured", PA_TEST_NOT_RUN },
{ paTestSrioRouting, "Pa_addSrio and SRIO routing", PA_TEST_NOT_RUN },
{ paTestL2Routing, "Pa_addMac and L2 routing", PA_TEST_NOT_RUN },
- { paTestL3Routing, "Pa_addIp and L3 Routing", PA_TEST_NOT_RUN },
+ { paTestL3Routing, "Pa_addIp and L3 Routing", PA_TEST_NOT_RUN },
#ifdef NSS_GEN2
- { paTestACL, "Pa_addAcl and ACL filtering", PA_TEST_NOT_RUN },
+ { paTestEOAMFlow, "Pa_addEoamFlow and Ethernet OAM Support", PA_TEST_NOT_RUN },
+ { paTestACL, "Pa_addAcl and ACL filtering", PA_TEST_NOT_RUN },
#endif
- { paTestL4Routing, "Pa_addPort and L4 Routing", PA_TEST_NOT_RUN },
+ { paTestL4Routing, "Pa_addPort and L4 Routing", PA_TEST_NOT_RUN },
{ paTestPatchRoute, "Blind patch and route", PA_TEST_NOT_RUN },
{ paTestTxFmtRt, "Tx checksum and routing", PA_TEST_NOT_RUN },
- { paTestCustom, "Custom routing", PA_TEST_NOT_RUN },
- { paTestMultiRouting, "Multi-routing", PA_TEST_NOT_RUN },
+ { paTestCustom, "Custom routing", PA_TEST_NOT_RUN },
+ { paTestMultiRouting, "Multi-routing", PA_TEST_NOT_RUN },
{ paTestIPv4FragReassem,"IPv4 Fragmentation and Reassembly", PA_TEST_NOT_RUN },
{ paTestIPv6FragReassem,"IPv6 Fragmentation and Reassembly", PA_TEST_NOT_RUN },
#ifdef NSS_GEN2
- { paTestEflow, "Egress Flow and Packet Forwarding Test", PA_TEST_NOT_RUN },
+ { paTestEflow, "Egress Flow and Packet Forwarding Test", PA_TEST_NOT_RUN },
#endif
- { paTestUnconfigured, "Packet reception while unconfigured", PA_TEST_NOT_RUN },
- { NULL, NULL, PA_TEST_NOT_RUN }
+ { paTestUnconfigured, "Packet reception while unconfigured", PA_TEST_NOT_RUN },
+#endif
+ { NULL, NULL, PA_TEST_NOT_RUN }
};
#define PAU_NUM_TESTS ((sizeof(paTestList)/sizeof(paTest_t)) - 1)
#pragma DATA_ALIGN(memAclRam, TF_CACHE_LINESZ);
uint8_t memAclRam[TF_ROUND_UP(TF_ACL_TABLE_SIZE, TF_CACHE_LINESZ)];
+#pragma DATA_ALIGN(memEoamRam, TF_CACHE_LINESZ);
+uint8_t memEoamRam[TF_ROUND_UP(TF_EOAM_TABLE_SIZE, TF_CACHE_LINESZ)];
+
#pragma DATA_ALIGN(memUsrStatsLnkTbl, TF_CACHE_LINESZ);
uint8_t memUsrStatsLnkTbl[TF_ROUND_UP(TF_USR_STATS_LNK_TABLE_SIZE, TF_CACHE_LINESZ)];
index 9b388727899641299aca8e03704fc27c76324f67..1fac07038bf3ad5bc859719cdae6f3801b08a93a 100644 (file)
@@ -1596,6 +1596,63 @@ Cppi_HostDesc *testCommonAddCl4Config (tFramework_t *tf, Bool handleLink, uint16
} \r
\r
#ifdef NSS_GEN2\r
+Cppi_HostDesc *testCommonAddEoam(tFramework_t *tf, \r
+ paEthInfo2_t *ethInfo, \r
+ paEoamFlowInfo_t *eoamInfo, \r
+ paHandleEoam_t *eoamHandle,\r
+ int32_t Qrecycle, \r
+ int32_t QCmdMem, \r
+ paCmdReply_t *repInfo, \r
+ int *cmdDest, \r
+ uint16_t *cmdSize, \r
+ paReturn_t *paret)\r
+{\r
+ Cppi_HostDesc *hd;\r
+ Qmss_Queue q;\r
+ uint32_t psCmd;\r
+ \r
+ /* Pop a descriptor with a linked buffer to create the command */\r
+ hd = (Cppi_HostDesc *)(((uint32_t)Qmss_queuePop (QCmdMem)) & ~15);\r
+ if (hd == NULL)\r
+ return (NULL);\r
+ \r
+ *cmdSize = hd->origBufferLen;\r
+ \r
+ *paret = Pa_addEoamFlow (tf->passHandle,\r
+ ethInfo,\r
+ eoamInfo,\r
+ eoamHandle,\r
+ (paCmd_t) hd->buffPtr,\r
+ cmdSize,\r
+ repInfo,\r
+ cmdDest);\r
+ \r
+ /* Restore the descriptor and return it on PA failure */\r
+ if ((*paret != pa_OK)) {\r
+ hd->buffLen = hd->origBufferLen;\r
+ Qmss_queuePush (QCmdMem, (Ptr)hd, hd->buffLen, TF_SIZE_DESC, Qmss_Location_TAIL);\r
+ return (NULL);\r
+ }\r
+ \r
+#ifdef PA_SIM_BUG_4BYTES\r
+ *cmdSize = (*cmdSize+3)& ~3;\r
+#endif\r
+ \r
+ /* Setup the return for the descriptor */\r
+ q.qMgr = 0;\r
+ q.qNum = Qrecycle;\r
+ Cppi_setReturnQueue (Cppi_DescType_HOST, (Cppi_Desc *)hd, q);\r
+ \r
+ /* Mark the packet as a configuration packet */\r
+ psCmd = PASAHO_PACFG_CMD;\r
+ Cppi_setPSData (Cppi_DescType_HOST, (Cppi_Desc *)hd, (uint8_t *)&psCmd, 4);\r
+ \r
+ hd->buffLen = *cmdSize;\r
+ Cppi_setPacketLen (Cppi_DescType_HOST, (Cppi_Desc *)hd, *cmdSize);\r
+ \r
+ return (hd);\r
+}\r
+\r
Cppi_HostDesc *testCommonAddAcl (tFramework_t *tf, int aclInst,int action, paAclInfo_t *aclInfo, \r
paHandleAcl_t *aclhandle, paHandleL2L3_t linkedHandle, paHandleAcl_t nextHandle, \r
int32_t Qrecycle, int32_t QCmdMem, \r
@@ -2686,6 +2743,48 @@ Cppi_HostDesc *testCommonDelL4Handles (tFramework_t *tf, paHandleL4_t l4Handle,
\r
#ifdef NSS_GEN2\r
\r
+Cppi_HostDesc *testCommonDelEoamHandle (tFramework_t *tf, paHandleEoam_t *paHdl, int Qrecycle, int QCmdMem, paCmdReply_t *cmdReply, \r
+ int *cmdDest, uint16_t *cmdSize, paReturn_t *paret)\r
+{\r
+ Cppi_HostDesc *hd;\r
+ Qmss_Queue q;\r
+ uint32_t psCmd;\r
+ \r
+ /* Pop a descriptor with a linked buffer to create the command */\r
+ hd = (Cppi_HostDesc *)(((uint32_t)Qmss_queuePop (QCmdMem)) & ~15);\r
+ if (hd == NULL)\r
+ return (NULL);\r
+ \r
+ *cmdSize = hd->origBufferLen;\r
+ \r
+ *paret = Pa_delEoamHandle (tf->passHandle, paHdl, (paCmd_t)hd->buffPtr, cmdSize, cmdReply, cmdDest);\r
+ \r
+ /* Restore the descriptor and return it on PA failure */\r
+ if (*paret != pa_OK) {\r
+ hd->buffLen = hd->origBufferLen;\r
+ Qmss_queuePush (QCmdMem, (Ptr)hd, hd->buffLen, TF_SIZE_DESC, Qmss_Location_TAIL);\r
+ return (NULL);\r
+ }\r
+ \r
+#ifdef PA_SIM_BUG_4BYTES\r
+ *cmdSize = (*cmdSize+3)& ~3;\r
+#endif\r
+\r
+ /* Setup the return for the descriptor */\r
+ q.qMgr = 0;\r
+ q.qNum = Qrecycle;\r
+ Cppi_setReturnQueue (Cppi_DescType_HOST, (Cppi_Desc *)hd, q);\r
+ \r
+ /* Mark the packet as a configuration packet */\r
+ psCmd = PASAHO_PACFG_CMD;\r
+ Cppi_setPSData (Cppi_DescType_HOST, (Cppi_Desc *)hd, (uint8_t *)&psCmd, 4);\r
+ \r
+ hd->buffLen = *cmdSize;\r
+ Cppi_setPacketLen (Cppi_DescType_HOST, (Cppi_Desc *)hd, *cmdSize);\r
+ \r
+ return (hd);\r
+}\r
+\r
Cppi_HostDesc *testCommonDelAclHandle (tFramework_t *tf, paHandleAcl_t *paHdl, int Qrecycle, int QCmdMem, paCmdReply_t *cmdReply, \r
int *cmdDest, uint16_t *cmdSize, paReturn_t *paret)\r
{\r
index 309b617faefc9e5076024d7867fde247757c6c1e..2acbb3d8ca9de3b3419bbb318671027a274e82c0 100644 (file)
\r
#define TF_USR_STATS_LNK_TABLE_SIZE (pa_USR_STATS_MAX_COUNTERS * 4) /* Require 4 bytes per satistics */ \r
extern uint8_t memUsrStatsLnkTbl[TF_USR_STATS_LNK_TABLE_SIZE];\r
+\r
+#define TF_MAX_NUM_EOAM_HANDLES 512\r
+#define TF_EOAM_TABLE_SIZE (TF_MAX_NUM_EOAM_HANDLES * 36) /* Requires 36 bytes per entry */\r
+extern uint8_t memEoamRam[TF_ROUND_UP(TF_EOAM_TABLE_SIZE, TF_CACHE_LINESZ)];\r
\r
/* QM memory */ \r
#define TF_NUM_DESC 128 /* 128 host descriptors managed by the QM */\r
@@ -759,6 +763,16 @@ Cppi_HostDesc *testCommonAddAcl (tFramework_t *tf, int aclInst,int action, paAcl
paHandleAcl_t *aclhandle, paHandleL2L3_t linkedHandle, paHandleAcl_t nextHandle, \r
int32_t Qrecycle, int32_t QCmdMem, \r
paCmdReply_t *repInfo, int *cmdDest, uint16_t *cmdSize, paReturn_t *paret);\r
+Cppi_HostDesc *testCommonAddEoam(tFramework_t *tf, \r
+ paEthInfo2_t *ethInfo, \r
+ paEoamFlowInfo_t *eoamInfo, \r
+ paHandleL2L3_t *eoamHandle, \r
+ int32_t Qrecycle, \r
+ int32_t QCmdMem, \r
+ paCmdReply_t *repInfo, \r
+ int *cmdDest, \r
+ uint16_t *cmdSize, \r
+ paReturn_t *paret);\r
Cppi_HostDesc *testCommonAddFc (tFramework_t *tf, int index, paEfOpInfo_t *efInfo, paFcInfo_t *fcInfo, \r
paHandleFc_t *fchandle, int32_t Qrecycle, int32_t QCmdMem, \r
paCmdReply_t *repInfo, int *cmdDest, uint16_t *cmdSize, paReturn_t *paret);\r
int *cmdDest, uint16_t *cmdSize, paReturn_t *paret); \r
Cppi_HostDesc *testCommonDelAclHandle (tFramework_t *tf, paHandleAcl_t *paHdl, int Qrecycle, int QCmdMem, paCmdReply_t *cmdReply, \r
int *cmdDest, uint16_t *cmdSize, paReturn_t *paret);\r
+Cppi_HostDesc *testCommonDelEoamHandle (tFramework_t *tf, paHandleEoam_t *paHdl, int Qrecycle, int QCmdMem, paCmdReply_t *cmdReply, \r
+ int *cmdDest, uint16_t *cmdSize, paReturn_t *paret);\r
Cppi_HostDesc *testCommonDelFcHandle (tFramework_t *tf, paHandleFc_t *paHdl, int Qrecycle, int QCmdMem, paCmdReply_t *cmdReply, \r
int *cmdDest, uint16_t *cmdSize, paReturn_t *paret);\r
Cppi_HostDesc *testCommonAddIp (tFramework_t *tf, int index, paIpInfo_t *ipInfo, paRouteInfo_t *matchRoute, paRouteInfo_t *nfailRoute, \r
void* paTestIPv4FragReassem (void *args);\r
void* paTestIPv6FragReassem (void *args);\r
void* paTestACL (void *args);\r
+void* paTestEOAMFlow(void *args);\r
void* paTestEflow (void *args);\r
#else\r
void paTestUnconfigured (UArg a0, UArg a1);\r
void paTestIPv4FragReassem (UArg a0, UArg a1);\r
void paTestIPv6FragReassem (UArg a0, UArg a1);\r
void paTestACL (UArg a0, UArg a1);\r
+void paTestEOAMFlow(UArg a0, UArg a1);\r
void paTestEflow (UArg a0, UArg a1);\r
#endif\r
#endif /* _PAUTEST_H */\r
index 8f18a5c7815650e9d3e7e128888fce3fa452c246..077b085c92f81a3e872235a79cc7c14096c8c4b1 100644 (file)
uint32_t cmdStack[5][(sizeof(pasahoNextRoute_t) + (3 * sizeof(pasahoComChkCrc_t)) + sizeof(pasahoReportTimestamp_t)) / sizeof (uint32_t)];
uint16_t cmdStackSize[5] = {CMD_BUF_SIZE, CMD_BUF_SIZE, CMD_BUF_SIZE, CMD_BUF_SIZE, CMD_BUF_SIZE};
uint32_t rxTimestamp[5], txTimestamp[5];
+#ifndef NSS_GEN2
uint32_t rxTimestampMSW[5], txTimestampMSW[5];
+#endif
paTimestamp_t timestamp[5];
paCmdInfo_t cmdInfo[5];
uint32_t *swinfo;
System_printf ("%s (%s:%d): Error getting control info from received data packet\n", tfName, __FILE__, __LINE__);
return (PA_TEST_FAILED);
}
+#ifndef NSS_GEN2
rxTimestampMSW[i] = PASAHO_LINFO_READ_TSTAMP_MSB(pinfo);
+#endif
testCommonRecycleLBDesc (tf, hd);
if (eflags != errFlagsExptd[i]) {
}
Cppi_getTimeStamp (Cppi_DescType_HOST, (Cppi_Desc *)hd, &txTimestamp[i]);
- txTimestampMSW[i] = swinfo[1];
-#ifndef NSS_GEN2
+#ifndef NSS_GEN2
+ txTimestampMSW[i] = swinfo[1];
+
if (txTimestamp[i] > rxTimestamp[i])
{
System_printf ("%s (%s:%d): Rx timestamp 0x%08x is ealier than Tx timestamp 0x%08x\n", tfName, __FILE__, __LINE__, rxTimestamp[i],txTimestamp[i]);