Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
078a9b03
Commit
078a9b03
authored
Jan 31, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/bnx2-2.6
parents
e1762ec6
206cc83c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
643 additions
and
524 deletions
+643
-524
drivers/net/bnx2.c
drivers/net/bnx2.c
+199
-109
drivers/net/bnx2.h
drivers/net/bnx2.h
+18
-16
drivers/net/bnx2_fw.h
drivers/net/bnx2_fw.h
+426
-399
No files found.
drivers/net/bnx2.c
View file @
078a9b03
/* bnx2.c: Broadcom NX2 network driver.
/* bnx2.c: Broadcom NX2 network driver.
*
*
* Copyright (c) 2004, 2005 Broadcom Corporation
* Copyright (c) 2004, 2005
, 2006
Broadcom Corporation
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
#define DRV_MODULE_NAME "bnx2"
#define DRV_MODULE_NAME "bnx2"
#define PFX DRV_MODULE_NAME ": "
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "1.4.3
0
"
#define DRV_MODULE_VERSION "1.4.3
1
"
#define DRV_MODULE_RELDATE "
October 11, 2005
"
#define DRV_MODULE_RELDATE "
January 19, 2006
"
#define RUN_AT(x) (jiffies + (x))
#define RUN_AT(x) (jiffies + (x))
...
@@ -315,6 +315,10 @@ bnx2_enable_int(struct bnx2 *bp)
...
@@ -315,6 +315,10 @@ bnx2_enable_int(struct bnx2 *bp)
{
{
u32
val
;
u32
val
;
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
BNX2_PCICFG_INT_ACK_CMD_MASK_INT
|
bp
->
last_status_idx
);
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
bp
->
last_status_idx
);
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
bp
->
last_status_idx
);
...
@@ -1171,7 +1175,8 @@ bnx2_init_5708s_phy(struct bnx2 *bp)
...
@@ -1171,7 +1175,8 @@ bnx2_init_5708s_phy(struct bnx2 *bp)
}
}
if
((
CHIP_ID
(
bp
)
==
CHIP_ID_5708_A0
)
||
if
((
CHIP_ID
(
bp
)
==
CHIP_ID_5708_A0
)
||
(
CHIP_ID
(
bp
)
==
CHIP_ID_5708_B0
))
{
(
CHIP_ID
(
bp
)
==
CHIP_ID_5708_B0
)
||
(
CHIP_ID
(
bp
)
==
CHIP_ID_5708_B1
))
{
/* increase tx signal amplitude */
/* increase tx signal amplitude */
bnx2_write_phy
(
bp
,
BCM5708S_BLK_ADDR
,
bnx2_write_phy
(
bp
,
BCM5708S_BLK_ADDR
,
BCM5708S_BLK_ADDR_TX_MISC
);
BCM5708S_BLK_ADDR_TX_MISC
);
...
@@ -1326,44 +1331,78 @@ bnx2_set_mac_loopback(struct bnx2 *bp)
...
@@ -1326,44 +1331,78 @@ bnx2_set_mac_loopback(struct bnx2 *bp)
return
0
;
return
0
;
}
}
static
int
bnx2_test_link
(
struct
bnx2
*
);
static
int
bnx2_set_phy_loopback
(
struct
bnx2
*
bp
)
{
u32
mac_mode
;
int
rc
,
i
;
spin_lock_bh
(
&
bp
->
phy_lock
);
rc
=
bnx2_write_phy
(
bp
,
MII_BMCR
,
BMCR_LOOPBACK
|
BMCR_FULLDPLX
|
BMCR_SPEED1000
);
spin_unlock_bh
(
&
bp
->
phy_lock
);
if
(
rc
)
return
rc
;
for
(
i
=
0
;
i
<
10
;
i
++
)
{
if
(
bnx2_test_link
(
bp
)
==
0
)
break
;
udelay
(
10
);
}
mac_mode
=
REG_RD
(
bp
,
BNX2_EMAC_MODE
);
mac_mode
&=
~
(
BNX2_EMAC_MODE_PORT
|
BNX2_EMAC_MODE_HALF_DUPLEX
|
BNX2_EMAC_MODE_MAC_LOOP
|
BNX2_EMAC_MODE_FORCE_LINK
|
BNX2_EMAC_MODE_25G
);
mac_mode
|=
BNX2_EMAC_MODE_PORT_GMII
;
REG_WR
(
bp
,
BNX2_EMAC_MODE
,
mac_mode
);
bp
->
link_up
=
1
;
return
0
;
}
static
int
static
int
bnx2_fw_sync
(
struct
bnx2
*
bp
,
u32
msg_data
)
bnx2_fw_sync
(
struct
bnx2
*
bp
,
u32
msg_data
,
int
silent
)
{
{
int
i
;
int
i
;
u32
val
;
u32
val
;
if
(
bp
->
fw_timed_out
)
return
-
EBUSY
;
bp
->
fw_wr_seq
++
;
bp
->
fw_wr_seq
++
;
msg_data
|=
bp
->
fw_wr_seq
;
msg_data
|=
bp
->
fw_wr_seq
;
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_MB
,
msg_data
);
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_MB
,
msg_data
);
/* wait for an acknowledgement. */
/* wait for an acknowledgement. */
for
(
i
=
0
;
i
<
(
FW_ACK_TIME_OUT_MS
*
1000
)
/
5
;
i
++
)
{
for
(
i
=
0
;
i
<
(
FW_ACK_TIME_OUT_MS
/
10
)
;
i
++
)
{
udelay
(
5
);
msleep
(
10
);
val
=
REG_RD_IND
(
bp
,
bp
->
shmem_base
+
BNX2_FW_MB
);
val
=
REG_RD_IND
(
bp
,
bp
->
shmem_base
+
BNX2_FW_MB
);
if
((
val
&
BNX2_FW_MSG_ACK
)
==
(
msg_data
&
BNX2_DRV_MSG_SEQ
))
if
((
val
&
BNX2_FW_MSG_ACK
)
==
(
msg_data
&
BNX2_DRV_MSG_SEQ
))
break
;
break
;
}
}
if
((
msg_data
&
BNX2_DRV_MSG_DATA
)
==
BNX2_DRV_MSG_DATA_WAIT0
)
return
0
;
/* If we timed out, inform the firmware that this is the case. */
/* If we timed out, inform the firmware that this is the case. */
if
(((
val
&
BNX2_FW_MSG_ACK
)
!=
(
msg_data
&
BNX2_DRV_MSG_SEQ
))
&&
if
((
val
&
BNX2_FW_MSG_ACK
)
!=
(
msg_data
&
BNX2_DRV_MSG_SEQ
))
{
((
msg_data
&
BNX2_DRV_MSG_DATA
)
!=
BNX2_DRV_MSG_DATA_WAIT0
))
{
if
(
!
silent
)
printk
(
KERN_ERR
PFX
"fw sync timeout, reset code = "
"%x
\n
"
,
msg_data
);
msg_data
&=
~
BNX2_DRV_MSG_CODE
;
msg_data
&=
~
BNX2_DRV_MSG_CODE
;
msg_data
|=
BNX2_DRV_MSG_CODE_FW_TIMEOUT
;
msg_data
|=
BNX2_DRV_MSG_CODE_FW_TIMEOUT
;
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_MB
,
msg_data
);
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_MB
,
msg_data
);
bp
->
fw_timed_out
=
1
;
return
-
EBUSY
;
return
-
EBUSY
;
}
}
if
((
val
&
BNX2_FW_MSG_STATUS_MASK
)
!=
BNX2_FW_MSG_STATUS_OK
)
return
-
EIO
;
return
0
;
return
0
;
}
}
...
@@ -1657,7 +1696,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
...
@@ -1657,7 +1696,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
rmb
();
rmb
();
while
(
sw_cons
!=
hw_cons
)
{
while
(
sw_cons
!=
hw_cons
)
{
unsigned
int
len
;
unsigned
int
len
;
u
16
status
;
u
32
status
;
struct
sw_bd
*
rx_buf
;
struct
sw_bd
*
rx_buf
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
...
@@ -1673,7 +1712,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
...
@@ -1673,7 +1712,7 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
rx_hdr
=
(
struct
l2_fhdr
*
)
skb
->
data
;
rx_hdr
=
(
struct
l2_fhdr
*
)
skb
->
data
;
len
=
rx_hdr
->
l2_fhdr_pkt_len
-
4
;
len
=
rx_hdr
->
l2_fhdr_pkt_len
-
4
;
if
(
rx_hdr
->
l2_fhdr_errors
&
if
(
(
status
=
rx_hdr
->
l2_fhdr_status
)
&
(
L2_FHDR_ERRORS_BAD_CRC
|
(
L2_FHDR_ERRORS_BAD_CRC
|
L2_FHDR_ERRORS_PHY_DECODE
|
L2_FHDR_ERRORS_PHY_DECODE
|
L2_FHDR_ERRORS_ALIGNMENT
|
L2_FHDR_ERRORS_ALIGNMENT
|
...
@@ -1732,15 +1771,13 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
...
@@ -1732,15 +1771,13 @@ bnx2_rx_int(struct bnx2 *bp, int budget)
}
}
status
=
rx_hdr
->
l2_fhdr_status
;
skb
->
ip_summed
=
CHECKSUM_NONE
;
skb
->
ip_summed
=
CHECKSUM_NONE
;
if
(
bp
->
rx_csum
&&
if
(
bp
->
rx_csum
&&
(
status
&
(
L2_FHDR_STATUS_TCP_SEGMENT
|
(
status
&
(
L2_FHDR_STATUS_TCP_SEGMENT
|
L2_FHDR_STATUS_UDP_DATAGRAM
)))
{
L2_FHDR_STATUS_UDP_DATAGRAM
)))
{
u16
cksum
=
rx_hdr
->
l2_fhdr_tcp_udp_xsum
;
if
(
likely
((
status
&
(
L2_FHDR_ERRORS_TCP_XSUM
|
L2_FHDR_ERRORS_UDP_XSUM
))
==
0
))
if
(
cksum
==
0xffff
)
skb
->
ip_summed
=
CHECKSUM_UNNECESSARY
;
skb
->
ip_summed
=
CHECKSUM_UNNECESSARY
;
}
}
...
@@ -1794,7 +1831,7 @@ static irqreturn_t
...
@@ -1794,7 +1831,7 @@ static irqreturn_t
bnx2_msi
(
int
irq
,
void
*
dev_instance
,
struct
pt_regs
*
regs
)
bnx2_msi
(
int
irq
,
void
*
dev_instance
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
dev_instance
;
struct
net_device
*
dev
=
dev_instance
;
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
prefetch
(
bp
->
status_blk
);
prefetch
(
bp
->
status_blk
);
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
...
@@ -1814,7 +1851,7 @@ static irqreturn_t
...
@@ -1814,7 +1851,7 @@ static irqreturn_t
bnx2_interrupt
(
int
irq
,
void
*
dev_instance
,
struct
pt_regs
*
regs
)
bnx2_interrupt
(
int
irq
,
void
*
dev_instance
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
dev_instance
;
struct
net_device
*
dev
=
dev_instance
;
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
/* When using INTx, it is possible for the interrupt to arrive
/* When using INTx, it is possible for the interrupt to arrive
* at the CPU before the status block posted prior to the
* at the CPU before the status block posted prior to the
...
@@ -1859,7 +1896,7 @@ bnx2_has_work(struct bnx2 *bp)
...
@@ -1859,7 +1896,7 @@ bnx2_has_work(struct bnx2 *bp)
static
int
static
int
bnx2_poll
(
struct
net_device
*
dev
,
int
*
budget
)
bnx2_poll
(
struct
net_device
*
dev
,
int
*
budget
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
((
bp
->
status_blk
->
status_attn_bits
&
if
((
bp
->
status_blk
->
status_attn_bits
&
STATUS_ATTN_BITS_LINK_STATE
)
!=
STATUS_ATTN_BITS_LINK_STATE
)
!=
...
@@ -1891,9 +1928,20 @@ bnx2_poll(struct net_device *dev, int *budget)
...
@@ -1891,9 +1928,20 @@ bnx2_poll(struct net_device *dev, int *budget)
if
(
!
bnx2_has_work
(
bp
))
{
if
(
!
bnx2_has_work
(
bp
))
{
netif_rx_complete
(
dev
);
netif_rx_complete
(
dev
);
if
(
likely
(
bp
->
flags
&
USING_MSI_FLAG
))
{
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
bp
->
last_status_idx
);
return
0
;
}
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
BNX2_PCICFG_INT_ACK_CMD_MASK_INT
|
bp
->
last_status_idx
);
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID
|
bp
->
last_status_idx
);
bp
->
last_status_idx
);
return
0
;
return
0
;
}
}
...
@@ -1906,7 +1954,7 @@ bnx2_poll(struct net_device *dev, int *budget)
...
@@ -1906,7 +1954,7 @@ bnx2_poll(struct net_device *dev, int *budget)
static
void
static
void
bnx2_set_rx_mode
(
struct
net_device
*
dev
)
bnx2_set_rx_mode
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
u32
rx_mode
,
sort_mode
;
u32
rx_mode
,
sort_mode
;
int
i
;
int
i
;
...
@@ -1916,11 +1964,11 @@ bnx2_set_rx_mode(struct net_device *dev)
...
@@ -1916,11 +1964,11 @@ bnx2_set_rx_mode(struct net_device *dev)
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
);
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
);
sort_mode
=
1
|
BNX2_RPM_SORT_USER0_BC_EN
;
sort_mode
=
1
|
BNX2_RPM_SORT_USER0_BC_EN
;
#ifdef BCM_VLAN
#ifdef BCM_VLAN
if
(
!
bp
->
vlgrp
)
{
if
(
!
bp
->
vlgrp
&&
!
(
bp
->
flags
&
ASF_ENABLE_FLAG
))
rx_mode
|=
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
;
rx_mode
|=
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
;
}
#else
#else
rx_mode
|=
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
;
if
(
!
(
bp
->
flags
&
ASF_ENABLE_FLAG
))
rx_mode
|=
BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG
;
#endif
#endif
if
(
dev
->
flags
&
IFF_PROMISC
)
{
if
(
dev
->
flags
&
IFF_PROMISC
)
{
/* Promiscuous mode. */
/* Promiscuous mode. */
...
@@ -2338,7 +2386,6 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state)
...
@@ -2338,7 +2386,6 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state)
val
|=
BNX2_EMAC_MODE_PORT_MII
|
val
|=
BNX2_EMAC_MODE_PORT_MII
|
BNX2_EMAC_MODE_MPKT_RCVD
|
BNX2_EMAC_MODE_MPKT_RCVD
|
BNX2_EMAC_MODE_ACPI_RCVD
|
BNX2_EMAC_MODE_ACPI_RCVD
|
BNX2_EMAC_MODE_FORCE_LINK
|
BNX2_EMAC_MODE_MPKT
;
BNX2_EMAC_MODE_MPKT
;
REG_WR
(
bp
,
BNX2_EMAC_MODE
,
val
);
REG_WR
(
bp
,
BNX2_EMAC_MODE
,
val
);
...
@@ -2374,7 +2421,8 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state)
...
@@ -2374,7 +2421,8 @@ bnx2_set_power_state(struct bnx2 *bp, pci_power_t state)
wol_msg
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
wol_msg
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
}
}
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT3
|
wol_msg
);
if
(
!
(
bp
->
flags
&
NO_WOL_FLAG
))
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT3
|
wol_msg
,
0
);
pmcsr
&=
~
PCI_PM_CTRL_STATE_MASK
;
pmcsr
&=
~
PCI_PM_CTRL_STATE_MASK
;
if
((
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
||
if
((
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
||
...
@@ -2708,9 +2756,16 @@ bnx2_init_nvram(struct bnx2 *bp)
...
@@ -2708,9 +2756,16 @@ bnx2_init_nvram(struct bnx2 *bp)
if
(
j
==
entry_count
)
{
if
(
j
==
entry_count
)
{
bp
->
flash_info
=
NULL
;
bp
->
flash_info
=
NULL
;
printk
(
KERN_ALERT
PFX
"Unknown flash/EEPROM type.
\n
"
);
printk
(
KERN_ALERT
PFX
"Unknown flash/EEPROM type.
\n
"
);
r
c
=
-
ENODEV
;
r
eturn
-
ENODEV
;
}
}
val
=
REG_RD_IND
(
bp
,
bp
->
shmem_base
+
BNX2_SHARED_HW_CFG_CONFIG2
);
val
&=
BNX2_SHARED_HW_CFG2_NVM_SIZE_MASK
;
if
(
val
)
bp
->
flash_size
=
val
;
else
bp
->
flash_size
=
bp
->
flash_info
->
total_size
;
return
rc
;
return
rc
;
}
}
...
@@ -3014,16 +3069,14 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code)
...
@@ -3014,16 +3069,14 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code)
val
=
REG_RD
(
bp
,
BNX2_MISC_ENABLE_CLR_BITS
);
val
=
REG_RD
(
bp
,
BNX2_MISC_ENABLE_CLR_BITS
);
udelay
(
5
);
udelay
(
5
);
/* Wait for the firmware to tell us it is ok to issue a reset. */
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT0
|
reset_code
,
1
);
/* Deposit a driver reset signature so the firmware knows that
/* Deposit a driver reset signature so the firmware knows that
* this is a soft reset. */
* this is a soft reset. */
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_RESET_SIGNATURE
,
REG_WR_IND
(
bp
,
bp
->
shmem_base
+
BNX2_DRV_RESET_SIGNATURE
,
BNX2_DRV_RESET_SIGNATURE_MAGIC
);
BNX2_DRV_RESET_SIGNATURE_MAGIC
);
bp
->
fw_timed_out
=
0
;
/* Wait for the firmware to tell us it is ok to issue a reset. */
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT0
|
reset_code
);
/* Do a dummy read to force the chip to complete all current transaction
/* Do a dummy read to force the chip to complete all current transaction
* before we issue a reset. */
* before we issue a reset. */
val
=
REG_RD
(
bp
,
BNX2_MISC_ID
);
val
=
REG_RD
(
bp
,
BNX2_MISC_ID
);
...
@@ -3062,10 +3115,10 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code)
...
@@ -3062,10 +3115,10 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code)
return
-
ENODEV
;
return
-
ENODEV
;
}
}
bp
->
fw_timed_out
=
0
;
/* Wait for the firmware to finish its initialization. */
/* Wait for the firmware to finish its initialization. */
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT1
|
reset_code
);
rc
=
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT1
|
reset_code
,
0
);
if
(
rc
)
return
rc
;
if
(
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
{
if
(
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
{
/* Adjust the voltage regular to two steps lower. The default
/* Adjust the voltage regular to two steps lower. The default
...
@@ -3083,6 +3136,7 @@ static int
...
@@ -3083,6 +3136,7 @@ static int
bnx2_init_chip
(
struct
bnx2
*
bp
)
bnx2_init_chip
(
struct
bnx2
*
bp
)
{
{
u32
val
;
u32
val
;
int
rc
;
/* Make sure the interrupt is not active. */
/* Make sure the interrupt is not active. */
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_MASK_INT
);
REG_WR
(
bp
,
BNX2_PCICFG_INT_ACK_CMD
,
BNX2_PCICFG_INT_ACK_CMD_MASK_INT
);
...
@@ -3098,7 +3152,7 @@ bnx2_init_chip(struct bnx2 *bp)
...
@@ -3098,7 +3152,7 @@ bnx2_init_chip(struct bnx2 *bp)
val
|=
(
0x2
<<
20
)
|
(
1
<<
11
);
val
|=
(
0x2
<<
20
)
|
(
1
<<
11
);
if
((
bp
->
flags
&
PCIX_FLAG
)
&&
(
bp
->
bus_speed_mhz
=
133
))
if
((
bp
->
flags
&
PCIX_FLAG
)
&&
(
bp
->
bus_speed_mhz
=
=
133
))
val
|=
(
1
<<
23
);
val
|=
(
1
<<
23
);
if
((
CHIP_NUM
(
bp
)
==
CHIP_NUM_5706
)
&&
if
((
CHIP_NUM
(
bp
)
==
CHIP_NUM_5706
)
&&
...
@@ -3218,17 +3272,22 @@ bnx2_init_chip(struct bnx2 *bp)
...
@@ -3218,17 +3272,22 @@ bnx2_init_chip(struct bnx2 *bp)
REG_WR
(
bp
,
BNX2_HC_ATTN_BITS_ENABLE
,
STATUS_ATTN_BITS_LINK_STATE
);
REG_WR
(
bp
,
BNX2_HC_ATTN_BITS_ENABLE
,
STATUS_ATTN_BITS_LINK_STATE
);
if
(
REG_RD_IND
(
bp
,
bp
->
shmem_base
+
BNX2_PORT_FEATURE
)
&
BNX2_PORT_FEATURE_ASF_ENABLED
)
bp
->
flags
|=
ASF_ENABLE_FLAG
;
/* Initialize the receive filter. */
/* Initialize the receive filter. */
bnx2_set_rx_mode
(
bp
->
dev
);
bnx2_set_rx_mode
(
bp
->
dev
);
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT2
|
BNX2_DRV_MSG_CODE_RESET
);
rc
=
bnx2_fw_sync
(
bp
,
BNX2_DRV_MSG_DATA_WAIT2
|
BNX2_DRV_MSG_CODE_RESET
,
0
);
REG_WR
(
bp
,
BNX2_MISC_ENABLE_SET_BITS
,
0x5ffffff
);
REG_WR
(
bp
,
BNX2_MISC_ENABLE_SET_BITS
,
0x5ffffff
);
REG_RD
(
bp
,
BNX2_MISC_ENABLE_SET_BITS
);
REG_RD
(
bp
,
BNX2_MISC_ENABLE_SET_BITS
);
udelay
(
20
);
udelay
(
20
);
return
0
;
return
rc
;
}
}
...
@@ -3880,26 +3939,33 @@ bnx2_test_memory(struct bnx2 *bp)
...
@@ -3880,26 +3939,33 @@ bnx2_test_memory(struct bnx2 *bp)
return
ret
;
return
ret
;
}
}
#define BNX2_MAC_LOOPBACK 0
#define BNX2_PHY_LOOPBACK 1
static
int
static
int
bnx2_
test_loopback
(
struct
bnx2
*
bp
)
bnx2_
run_loopback
(
struct
bnx2
*
bp
,
int
loopback_mode
)
{
{
unsigned
int
pkt_size
,
num_pkts
,
i
;
unsigned
int
pkt_size
,
num_pkts
,
i
;
struct
sk_buff
*
skb
,
*
rx_skb
;
struct
sk_buff
*
skb
,
*
rx_skb
;
unsigned
char
*
packet
;
unsigned
char
*
packet
;
u16
rx_start_idx
,
rx_idx
,
send_idx
;
u16
rx_start_idx
,
rx_idx
;
u32
send_bseq
,
val
;
u32
val
;
dma_addr_t
map
;
dma_addr_t
map
;
struct
tx_bd
*
txbd
;
struct
tx_bd
*
txbd
;
struct
sw_bd
*
rx_buf
;
struct
sw_bd
*
rx_buf
;
struct
l2_fhdr
*
rx_hdr
;
struct
l2_fhdr
*
rx_hdr
;
int
ret
=
-
ENODEV
;
int
ret
=
-
ENODEV
;
if
(
!
netif_running
(
bp
->
dev
))
if
(
loopback_mode
==
BNX2_MAC_LOOPBACK
)
{
return
-
ENODEV
;
bp
->
loopback
=
MAC_LOOPBACK
;
bnx2_set_mac_loopback
(
bp
);
bp
->
loopback
=
MAC_LOOPBACK
;
}
bnx2_reset_nic
(
bp
,
BNX2_DRV_MSG_CODE_DIAG
);
else
if
(
loopback_mode
==
BNX2_PHY_LOOPBACK
)
{
bnx2_set_mac_loopback
(
bp
);
bp
->
loopback
=
0
;
bnx2_set_phy_loopback
(
bp
);
}
else
return
-
EINVAL
;
pkt_size
=
1514
;
pkt_size
=
1514
;
skb
=
dev_alloc_skb
(
pkt_size
);
skb
=
dev_alloc_skb
(
pkt_size
);
...
@@ -3921,11 +3987,9 @@ bnx2_test_loopback(struct bnx2 *bp)
...
@@ -3921,11 +3987,9 @@ bnx2_test_loopback(struct bnx2 *bp)
udelay
(
5
);
udelay
(
5
);
rx_start_idx
=
bp
->
status_blk
->
status_rx_quick_consumer_index0
;
rx_start_idx
=
bp
->
status_blk
->
status_rx_quick_consumer_index0
;
send_idx
=
0
;
send_bseq
=
0
;
num_pkts
=
0
;
num_pkts
=
0
;
txbd
=
&
bp
->
tx_desc_ring
[
send_idx
];
txbd
=
&
bp
->
tx_desc_ring
[
TX_RING_IDX
(
bp
->
tx_prod
)
];
txbd
->
tx_bd_haddr_hi
=
(
u64
)
map
>>
32
;
txbd
->
tx_bd_haddr_hi
=
(
u64
)
map
>>
32
;
txbd
->
tx_bd_haddr_lo
=
(
u64
)
map
&
0xffffffff
;
txbd
->
tx_bd_haddr_lo
=
(
u64
)
map
&
0xffffffff
;
...
@@ -3933,13 +3997,11 @@ bnx2_test_loopback(struct bnx2 *bp)
...
@@ -3933,13 +3997,11 @@ bnx2_test_loopback(struct bnx2 *bp)
txbd
->
tx_bd_vlan_tag_flags
=
TX_BD_FLAGS_START
|
TX_BD_FLAGS_END
;
txbd
->
tx_bd_vlan_tag_flags
=
TX_BD_FLAGS_START
|
TX_BD_FLAGS_END
;
num_pkts
++
;
num_pkts
++
;
send_idx
=
NEXT_TX_BD
(
send_idx
);
bp
->
tx_prod
=
NEXT_TX_BD
(
bp
->
tx_prod
);
bp
->
tx_prod_bseq
+=
pkt_size
;
send_bseq
+=
pkt_size
;
REG_WR16
(
bp
,
MB_TX_CID_ADDR
+
BNX2_L2CTX_TX_HOST_BIDX
,
send_idx
);
REG_WR
(
bp
,
MB_TX_CID_ADDR
+
BNX2_L2CTX_TX_HOST_BSEQ
,
send_bseq
);
REG_WR16
(
bp
,
MB_TX_CID_ADDR
+
BNX2_L2CTX_TX_HOST_BIDX
,
bp
->
tx_prod
);
REG_WR
(
bp
,
MB_TX_CID_ADDR
+
BNX2_L2CTX_TX_HOST_BSEQ
,
bp
->
tx_prod_bseq
);
udelay
(
100
);
udelay
(
100
);
...
@@ -3952,7 +4014,7 @@ bnx2_test_loopback(struct bnx2 *bp)
...
@@ -3952,7 +4014,7 @@ bnx2_test_loopback(struct bnx2 *bp)
pci_unmap_single
(
bp
->
pdev
,
map
,
pkt_size
,
PCI_DMA_TODEVICE
);
pci_unmap_single
(
bp
->
pdev
,
map
,
pkt_size
,
PCI_DMA_TODEVICE
);
dev_kfree_skb_irq
(
skb
);
dev_kfree_skb_irq
(
skb
);
if
(
bp
->
status_blk
->
status_tx_quick_consumer_index0
!=
send_idx
)
{
if
(
bp
->
status_blk
->
status_tx_quick_consumer_index0
!=
bp
->
tx_prod
)
{
goto
loopback_test_done
;
goto
loopback_test_done
;
}
}
...
@@ -3971,7 +4033,7 @@ bnx2_test_loopback(struct bnx2 *bp)
...
@@ -3971,7 +4033,7 @@ bnx2_test_loopback(struct bnx2 *bp)
pci_unmap_addr
(
rx_buf
,
mapping
),
pci_unmap_addr
(
rx_buf
,
mapping
),
bp
->
rx_buf_size
,
PCI_DMA_FROMDEVICE
);
bp
->
rx_buf_size
,
PCI_DMA_FROMDEVICE
);
if
(
rx_hdr
->
l2_fhdr_
error
s
&
if
(
rx_hdr
->
l2_fhdr_
statu
s
&
(
L2_FHDR_ERRORS_BAD_CRC
|
(
L2_FHDR_ERRORS_BAD_CRC
|
L2_FHDR_ERRORS_PHY_DECODE
|
L2_FHDR_ERRORS_PHY_DECODE
|
L2_FHDR_ERRORS_ALIGNMENT
|
L2_FHDR_ERRORS_ALIGNMENT
|
...
@@ -3998,6 +4060,30 @@ bnx2_test_loopback(struct bnx2 *bp)
...
@@ -3998,6 +4060,30 @@ bnx2_test_loopback(struct bnx2 *bp)
return
ret
;
return
ret
;
}
}
#define BNX2_MAC_LOOPBACK_FAILED 1
#define BNX2_PHY_LOOPBACK_FAILED 2
#define BNX2_LOOPBACK_FAILED (BNX2_MAC_LOOPBACK_FAILED | \
BNX2_PHY_LOOPBACK_FAILED)
static
int
bnx2_test_loopback
(
struct
bnx2
*
bp
)
{
int
rc
=
0
;
if
(
!
netif_running
(
bp
->
dev
))
return
BNX2_LOOPBACK_FAILED
;
bnx2_reset_nic
(
bp
,
BNX2_DRV_MSG_CODE_RESET
);
spin_lock_bh
(
&
bp
->
phy_lock
);
bnx2_init_phy
(
bp
);
spin_unlock_bh
(
&
bp
->
phy_lock
);
if
(
bnx2_run_loopback
(
bp
,
BNX2_MAC_LOOPBACK
))
rc
|=
BNX2_MAC_LOOPBACK_FAILED
;
if
(
bnx2_run_loopback
(
bp
,
BNX2_PHY_LOOPBACK
))
rc
|=
BNX2_PHY_LOOPBACK_FAILED
;
return
rc
;
}
#define NVRAM_SIZE 0x200
#define NVRAM_SIZE 0x200
#define CRC32_RESIDUAL 0xdebb20e3
#define CRC32_RESIDUAL 0xdebb20e3
...
@@ -4167,7 +4253,7 @@ bnx2_timer(unsigned long data)
...
@@ -4167,7 +4253,7 @@ bnx2_timer(unsigned long data)
static
int
static
int
bnx2_open
(
struct
net_device
*
dev
)
bnx2_open
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
rc
;
int
rc
;
bnx2_set_power_state
(
bp
,
PCI_D0
);
bnx2_set_power_state
(
bp
,
PCI_D0
);
...
@@ -4280,7 +4366,7 @@ bnx2_reset_task(void *data)
...
@@ -4280,7 +4366,7 @@ bnx2_reset_task(void *data)
static
void
static
void
bnx2_tx_timeout
(
struct
net_device
*
dev
)
bnx2_tx_timeout
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
/* This allows the netif to be shutdown gracefully before resetting */
/* This allows the netif to be shutdown gracefully before resetting */
schedule_work
(
&
bp
->
reset_task
);
schedule_work
(
&
bp
->
reset_task
);
...
@@ -4291,7 +4377,7 @@ bnx2_tx_timeout(struct net_device *dev)
...
@@ -4291,7 +4377,7 @@ bnx2_tx_timeout(struct net_device *dev)
static
void
static
void
bnx2_vlan_rx_register
(
struct
net_device
*
dev
,
struct
vlan_group
*
vlgrp
)
bnx2_vlan_rx_register
(
struct
net_device
*
dev
,
struct
vlan_group
*
vlgrp
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
bnx2_netif_stop
(
bp
);
bnx2_netif_stop
(
bp
);
...
@@ -4305,7 +4391,7 @@ bnx2_vlan_rx_register(struct net_device *dev, struct vlan_group *vlgrp)
...
@@ -4305,7 +4391,7 @@ bnx2_vlan_rx_register(struct net_device *dev, struct vlan_group *vlgrp)
static
void
static
void
bnx2_vlan_rx_kill_vid
(
struct
net_device
*
dev
,
uint16_t
vid
)
bnx2_vlan_rx_kill_vid
(
struct
net_device
*
dev
,
uint16_t
vid
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
bnx2_netif_stop
(
bp
);
bnx2_netif_stop
(
bp
);
...
@@ -4326,7 +4412,7 @@ bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid)
...
@@ -4326,7 +4412,7 @@ bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid)
static
int
static
int
bnx2_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
bnx2_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
dma_addr_t
mapping
;
dma_addr_t
mapping
;
struct
tx_bd
*
txbd
;
struct
tx_bd
*
txbd
;
struct
sw_bd
*
tx_buf
;
struct
sw_bd
*
tx_buf
;
...
@@ -4455,7 +4541,7 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev)
...
@@ -4455,7 +4541,7 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev)
static
int
static
int
bnx2_close
(
struct
net_device
*
dev
)
bnx2_close
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
u32
reset_code
;
u32
reset_code
;
/* Calling flush_scheduled_work() may deadlock because
/* Calling flush_scheduled_work() may deadlock because
...
@@ -4467,7 +4553,9 @@ bnx2_close(struct net_device *dev)
...
@@ -4467,7 +4553,9 @@ bnx2_close(struct net_device *dev)
bnx2_netif_stop
(
bp
);
bnx2_netif_stop
(
bp
);
del_timer_sync
(
&
bp
->
timer
);
del_timer_sync
(
&
bp
->
timer
);
if
(
bp
->
wol
)
if
(
bp
->
flags
&
NO_WOL_FLAG
)
reset_code
=
BNX2_DRV_MSG_CODE_UNLOAD
;
else
if
(
bp
->
wol
)
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_WOL
;
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_WOL
;
else
else
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
...
@@ -4501,7 +4589,7 @@ bnx2_close(struct net_device *dev)
...
@@ -4501,7 +4589,7 @@ bnx2_close(struct net_device *dev)
static
struct
net_device_stats
*
static
struct
net_device_stats
*
bnx2_get_stats
(
struct
net_device
*
dev
)
bnx2_get_stats
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
struct
statistics_block
*
stats_blk
=
bp
->
stats_blk
;
struct
statistics_block
*
stats_blk
=
bp
->
stats_blk
;
struct
net_device_stats
*
net_stats
=
&
bp
->
net_stats
;
struct
net_device_stats
*
net_stats
=
&
bp
->
net_stats
;
...
@@ -4575,7 +4663,7 @@ bnx2_get_stats(struct net_device *dev)
...
@@ -4575,7 +4663,7 @@ bnx2_get_stats(struct net_device *dev)
static
int
static
int
bnx2_get_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
cmd
)
bnx2_get_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
cmd
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
cmd
->
supported
=
SUPPORTED_Autoneg
;
cmd
->
supported
=
SUPPORTED_Autoneg
;
if
(
bp
->
phy_flags
&
PHY_SERDES_FLAG
)
{
if
(
bp
->
phy_flags
&
PHY_SERDES_FLAG
)
{
...
@@ -4622,7 +4710,7 @@ bnx2_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
...
@@ -4622,7 +4710,7 @@ bnx2_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
static
int
static
int
bnx2_set_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
cmd
)
bnx2_set_settings
(
struct
net_device
*
dev
,
struct
ethtool_cmd
*
cmd
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
u8
autoneg
=
bp
->
autoneg
;
u8
autoneg
=
bp
->
autoneg
;
u8
req_duplex
=
bp
->
req_duplex
;
u8
req_duplex
=
bp
->
req_duplex
;
u16
req_line_speed
=
bp
->
req_line_speed
;
u16
req_line_speed
=
bp
->
req_line_speed
;
...
@@ -4694,7 +4782,7 @@ bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
...
@@ -4694,7 +4782,7 @@ bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
static
void
static
void
bnx2_get_drvinfo
(
struct
net_device
*
dev
,
struct
ethtool_drvinfo
*
info
)
bnx2_get_drvinfo
(
struct
net_device
*
dev
,
struct
ethtool_drvinfo
*
info
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
strcpy
(
info
->
driver
,
DRV_MODULE_NAME
);
strcpy
(
info
->
driver
,
DRV_MODULE_NAME
);
strcpy
(
info
->
version
,
DRV_MODULE_VERSION
);
strcpy
(
info
->
version
,
DRV_MODULE_VERSION
);
...
@@ -4702,15 +4790,14 @@ bnx2_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
...
@@ -4702,15 +4790,14 @@ bnx2_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
info
->
fw_version
[
0
]
=
((
bp
->
fw_ver
&
0xff000000
)
>>
24
)
+
'0'
;
info
->
fw_version
[
0
]
=
((
bp
->
fw_ver
&
0xff000000
)
>>
24
)
+
'0'
;
info
->
fw_version
[
2
]
=
((
bp
->
fw_ver
&
0xff0000
)
>>
16
)
+
'0'
;
info
->
fw_version
[
2
]
=
((
bp
->
fw_ver
&
0xff0000
)
>>
16
)
+
'0'
;
info
->
fw_version
[
4
]
=
((
bp
->
fw_ver
&
0xff00
)
>>
8
)
+
'0'
;
info
->
fw_version
[
4
]
=
((
bp
->
fw_ver
&
0xff00
)
>>
8
)
+
'0'
;
info
->
fw_version
[
6
]
=
(
bp
->
fw_ver
&
0xff
)
+
'0'
;
info
->
fw_version
[
1
]
=
info
->
fw_version
[
3
]
=
'.'
;
info
->
fw_version
[
1
]
=
info
->
fw_version
[
3
]
=
info
->
fw_version
[
5
]
=
'.'
;
info
->
fw_version
[
5
]
=
0
;
info
->
fw_version
[
7
]
=
0
;
}
}
static
void
static
void
bnx2_get_wol
(
struct
net_device
*
dev
,
struct
ethtool_wolinfo
*
wol
)
bnx2_get_wol
(
struct
net_device
*
dev
,
struct
ethtool_wolinfo
*
wol
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(
bp
->
flags
&
NO_WOL_FLAG
)
{
if
(
bp
->
flags
&
NO_WOL_FLAG
)
{
wol
->
supported
=
0
;
wol
->
supported
=
0
;
...
@@ -4729,7 +4816,7 @@ bnx2_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
...
@@ -4729,7 +4816,7 @@ bnx2_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
static
int
static
int
bnx2_set_wol
(
struct
net_device
*
dev
,
struct
ethtool_wolinfo
*
wol
)
bnx2_set_wol
(
struct
net_device
*
dev
,
struct
ethtool_wolinfo
*
wol
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(
wol
->
wolopts
&
~
WAKE_MAGIC
)
if
(
wol
->
wolopts
&
~
WAKE_MAGIC
)
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -4749,7 +4836,7 @@ bnx2_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
...
@@ -4749,7 +4836,7 @@ bnx2_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
static
int
static
int
bnx2_nway_reset
(
struct
net_device
*
dev
)
bnx2_nway_reset
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
u32
bmcr
;
u32
bmcr
;
if
(
!
(
bp
->
autoneg
&
AUTONEG_SPEED
))
{
if
(
!
(
bp
->
autoneg
&
AUTONEG_SPEED
))
{
...
@@ -4785,19 +4872,19 @@ bnx2_nway_reset(struct net_device *dev)
...
@@ -4785,19 +4872,19 @@ bnx2_nway_reset(struct net_device *dev)
static
int
static
int
bnx2_get_eeprom_len
(
struct
net_device
*
dev
)
bnx2_get_eeprom_len
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(
bp
->
flash_info
==
0
)
if
(
bp
->
flash_info
==
NULL
)
return
0
;
return
0
;
return
(
int
)
bp
->
flash_
info
->
total_
size
;
return
(
int
)
bp
->
flash_size
;
}
}
static
int
static
int
bnx2_get_eeprom
(
struct
net_device
*
dev
,
struct
ethtool_eeprom
*
eeprom
,
bnx2_get_eeprom
(
struct
net_device
*
dev
,
struct
ethtool_eeprom
*
eeprom
,
u8
*
eebuf
)
u8
*
eebuf
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
rc
;
int
rc
;
/* parameters already validated in ethtool_get_eeprom */
/* parameters already validated in ethtool_get_eeprom */
...
@@ -4811,7 +4898,7 @@ static int
...
@@ -4811,7 +4898,7 @@ static int
bnx2_set_eeprom
(
struct
net_device
*
dev
,
struct
ethtool_eeprom
*
eeprom
,
bnx2_set_eeprom
(
struct
net_device
*
dev
,
struct
ethtool_eeprom
*
eeprom
,
u8
*
eebuf
)
u8
*
eebuf
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
rc
;
int
rc
;
/* parameters already validated in ethtool_set_eeprom */
/* parameters already validated in ethtool_set_eeprom */
...
@@ -4824,7 +4911,7 @@ bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
...
@@ -4824,7 +4911,7 @@ bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
static
int
static
int
bnx2_get_coalesce
(
struct
net_device
*
dev
,
struct
ethtool_coalesce
*
coal
)
bnx2_get_coalesce
(
struct
net_device
*
dev
,
struct
ethtool_coalesce
*
coal
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
memset
(
coal
,
0
,
sizeof
(
struct
ethtool_coalesce
));
memset
(
coal
,
0
,
sizeof
(
struct
ethtool_coalesce
));
...
@@ -4846,7 +4933,7 @@ bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
...
@@ -4846,7 +4933,7 @@ bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
static
int
static
int
bnx2_set_coalesce
(
struct
net_device
*
dev
,
struct
ethtool_coalesce
*
coal
)
bnx2_set_coalesce
(
struct
net_device
*
dev
,
struct
ethtool_coalesce
*
coal
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
bp
->
rx_ticks
=
(
u16
)
coal
->
rx_coalesce_usecs
;
bp
->
rx_ticks
=
(
u16
)
coal
->
rx_coalesce_usecs
;
if
(
bp
->
rx_ticks
>
0x3ff
)
bp
->
rx_ticks
=
0x3ff
;
if
(
bp
->
rx_ticks
>
0x3ff
)
bp
->
rx_ticks
=
0x3ff
;
...
@@ -4890,7 +4977,7 @@ bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
...
@@ -4890,7 +4977,7 @@ bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
static
void
static
void
bnx2_get_ringparam
(
struct
net_device
*
dev
,
struct
ethtool_ringparam
*
ering
)
bnx2_get_ringparam
(
struct
net_device
*
dev
,
struct
ethtool_ringparam
*
ering
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
ering
->
rx_max_pending
=
MAX_RX_DESC_CNT
;
ering
->
rx_max_pending
=
MAX_RX_DESC_CNT
;
ering
->
rx_mini_max_pending
=
0
;
ering
->
rx_mini_max_pending
=
0
;
...
@@ -4907,7 +4994,7 @@ bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
...
@@ -4907,7 +4994,7 @@ bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
static
int
static
int
bnx2_set_ringparam
(
struct
net_device
*
dev
,
struct
ethtool_ringparam
*
ering
)
bnx2_set_ringparam
(
struct
net_device
*
dev
,
struct
ethtool_ringparam
*
ering
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
((
ering
->
rx_pending
>
MAX_RX_DESC_CNT
)
||
if
((
ering
->
rx_pending
>
MAX_RX_DESC_CNT
)
||
(
ering
->
tx_pending
>
MAX_TX_DESC_CNT
)
||
(
ering
->
tx_pending
>
MAX_TX_DESC_CNT
)
||
...
@@ -4930,7 +5017,7 @@ bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
...
@@ -4930,7 +5017,7 @@ bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
static
void
static
void
bnx2_get_pauseparam
(
struct
net_device
*
dev
,
struct
ethtool_pauseparam
*
epause
)
bnx2_get_pauseparam
(
struct
net_device
*
dev
,
struct
ethtool_pauseparam
*
epause
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
epause
->
autoneg
=
((
bp
->
autoneg
&
AUTONEG_FLOW_CTRL
)
!=
0
);
epause
->
autoneg
=
((
bp
->
autoneg
&
AUTONEG_FLOW_CTRL
)
!=
0
);
epause
->
rx_pause
=
((
bp
->
flow_ctrl
&
FLOW_CTRL_RX
)
!=
0
);
epause
->
rx_pause
=
((
bp
->
flow_ctrl
&
FLOW_CTRL_RX
)
!=
0
);
...
@@ -4940,7 +5027,7 @@ bnx2_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause)
...
@@ -4940,7 +5027,7 @@ bnx2_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause)
static
int
static
int
bnx2_set_pauseparam
(
struct
net_device
*
dev
,
struct
ethtool_pauseparam
*
epause
)
bnx2_set_pauseparam
(
struct
net_device
*
dev
,
struct
ethtool_pauseparam
*
epause
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
bp
->
req_flow_ctrl
=
0
;
bp
->
req_flow_ctrl
=
0
;
if
(
epause
->
rx_pause
)
if
(
epause
->
rx_pause
)
...
@@ -4967,7 +5054,7 @@ bnx2_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause)
...
@@ -4967,7 +5054,7 @@ bnx2_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause)
static
u32
static
u32
bnx2_get_rx_csum
(
struct
net_device
*
dev
)
bnx2_get_rx_csum
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
return
bp
->
rx_csum
;
return
bp
->
rx_csum
;
}
}
...
@@ -4975,7 +5062,7 @@ bnx2_get_rx_csum(struct net_device *dev)
...
@@ -4975,7 +5062,7 @@ bnx2_get_rx_csum(struct net_device *dev)
static
int
static
int
bnx2_set_rx_csum
(
struct
net_device
*
dev
,
u32
data
)
bnx2_set_rx_csum
(
struct
net_device
*
dev
,
u32
data
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
bp
->
rx_csum
=
data
;
bp
->
rx_csum
=
data
;
return
0
;
return
0
;
...
@@ -5124,7 +5211,7 @@ bnx2_self_test_count(struct net_device *dev)
...
@@ -5124,7 +5211,7 @@ bnx2_self_test_count(struct net_device *dev)
static
void
static
void
bnx2_self_test
(
struct
net_device
*
dev
,
struct
ethtool_test
*
etest
,
u64
*
buf
)
bnx2_self_test
(
struct
net_device
*
dev
,
struct
ethtool_test
*
etest
,
u64
*
buf
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
memset
(
buf
,
0
,
sizeof
(
u64
)
*
BNX2_NUM_TESTS
);
memset
(
buf
,
0
,
sizeof
(
u64
)
*
BNX2_NUM_TESTS
);
if
(
etest
->
flags
&
ETH_TEST_FL_OFFLINE
)
{
if
(
etest
->
flags
&
ETH_TEST_FL_OFFLINE
)
{
...
@@ -5140,10 +5227,8 @@ bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf)
...
@@ -5140,10 +5227,8 @@ bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf)
buf
[
1
]
=
1
;
buf
[
1
]
=
1
;
etest
->
flags
|=
ETH_TEST_FL_FAILED
;
etest
->
flags
|=
ETH_TEST_FL_FAILED
;
}
}
if
(
bnx2_test_loopback
(
bp
)
!=
0
)
{
if
((
buf
[
2
]
=
bnx2_test_loopback
(
bp
))
!=
0
)
buf
[
2
]
=
1
;
etest
->
flags
|=
ETH_TEST_FL_FAILED
;
etest
->
flags
|=
ETH_TEST_FL_FAILED
;
}
if
(
!
netif_running
(
bp
->
dev
))
{
if
(
!
netif_running
(
bp
->
dev
))
{
bnx2_reset_chip
(
bp
,
BNX2_DRV_MSG_CODE_RESET
);
bnx2_reset_chip
(
bp
,
BNX2_DRV_MSG_CODE_RESET
);
...
@@ -5200,7 +5285,7 @@ static void
...
@@ -5200,7 +5285,7 @@ static void
bnx2_get_ethtool_stats
(
struct
net_device
*
dev
,
bnx2_get_ethtool_stats
(
struct
net_device
*
dev
,
struct
ethtool_stats
*
stats
,
u64
*
buf
)
struct
ethtool_stats
*
stats
,
u64
*
buf
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
u32
*
hw_stats
=
(
u32
*
)
bp
->
stats_blk
;
u32
*
hw_stats
=
(
u32
*
)
bp
->
stats_blk
;
u8
*
stats_len_arr
=
NULL
;
u8
*
stats_len_arr
=
NULL
;
...
@@ -5240,7 +5325,7 @@ bnx2_get_ethtool_stats(struct net_device *dev,
...
@@ -5240,7 +5325,7 @@ bnx2_get_ethtool_stats(struct net_device *dev,
static
int
static
int
bnx2_phys_id
(
struct
net_device
*
dev
,
u32
data
)
bnx2_phys_id
(
struct
net_device
*
dev
,
u32
data
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
i
;
int
i
;
u32
save
;
u32
save
;
...
@@ -5312,7 +5397,7 @@ static int
...
@@ -5312,7 +5397,7 @@ static int
bnx2_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
ifr
,
int
cmd
)
bnx2_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
ifr
,
int
cmd
)
{
{
struct
mii_ioctl_data
*
data
=
if_mii
(
ifr
);
struct
mii_ioctl_data
*
data
=
if_mii
(
ifr
);
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
int
err
;
int
err
;
switch
(
cmd
)
{
switch
(
cmd
)
{
...
@@ -5354,7 +5439,7 @@ static int
...
@@ -5354,7 +5439,7 @@ static int
bnx2_change_mac_addr
(
struct
net_device
*
dev
,
void
*
p
)
bnx2_change_mac_addr
(
struct
net_device
*
dev
,
void
*
p
)
{
{
struct
sockaddr
*
addr
=
p
;
struct
sockaddr
*
addr
=
p
;
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(
!
is_valid_ether_addr
(
addr
->
sa_data
))
if
(
!
is_valid_ether_addr
(
addr
->
sa_data
))
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -5370,7 +5455,7 @@ bnx2_change_mac_addr(struct net_device *dev, void *p)
...
@@ -5370,7 +5455,7 @@ bnx2_change_mac_addr(struct net_device *dev, void *p)
static
int
static
int
bnx2_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
)
bnx2_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(((
new_mtu
+
ETH_HLEN
)
>
MAX_ETHERNET_JUMBO_PACKET_SIZE
)
||
if
(((
new_mtu
+
ETH_HLEN
)
>
MAX_ETHERNET_JUMBO_PACKET_SIZE
)
||
((
new_mtu
+
ETH_HLEN
)
<
MIN_ETHERNET_PACKET_SIZE
))
((
new_mtu
+
ETH_HLEN
)
<
MIN_ETHERNET_PACKET_SIZE
))
...
@@ -5391,7 +5476,7 @@ bnx2_change_mtu(struct net_device *dev, int new_mtu)
...
@@ -5391,7 +5476,7 @@ bnx2_change_mtu(struct net_device *dev, int new_mtu)
static
void
static
void
poll_bnx2
(
struct
net_device
*
dev
)
poll_bnx2
(
struct
net_device
*
dev
)
{
{
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
disable_irq
(
bp
->
pdev
->
irq
);
disable_irq
(
bp
->
pdev
->
irq
);
bnx2_interrupt
(
bp
->
pdev
->
irq
,
dev
,
NULL
);
bnx2_interrupt
(
bp
->
pdev
->
irq
,
dev
,
NULL
);
...
@@ -5409,7 +5494,7 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
...
@@ -5409,7 +5494,7 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
SET_MODULE_OWNER
(
dev
);
SET_MODULE_OWNER
(
dev
);
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
SET_NETDEV_DEV
(
dev
,
&
pdev
->
dev
);
bp
=
dev
->
priv
;
bp
=
netdev_priv
(
dev
)
;
bp
->
flags
=
0
;
bp
->
flags
=
0
;
bp
->
phy_flags
=
0
;
bp
->
phy_flags
=
0
;
...
@@ -5629,6 +5714,9 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
...
@@ -5629,6 +5714,9 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
}
}
}
}
if
(
CHIP_NUM
(
bp
)
==
CHIP_NUM_5708
)
bp
->
flags
|=
NO_WOL_FLAG
;
if
(
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
{
if
(
CHIP_ID
(
bp
)
==
CHIP_ID_5706_A0
)
{
bp
->
tx_quick_cons_trip_int
=
bp
->
tx_quick_cons_trip_int
=
bp
->
tx_quick_cons_trip
;
bp
->
tx_quick_cons_trip
;
...
@@ -5725,7 +5813,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -5725,7 +5813,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
dev
->
ethtool_ops
=
&
bnx2_ethtool_ops
;
dev
->
ethtool_ops
=
&
bnx2_ethtool_ops
;
dev
->
weight
=
64
;
dev
->
weight
=
64
;
bp
=
dev
->
priv
;
bp
=
netdev_priv
(
dev
)
;
#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
dev
->
poll_controller
=
poll_bnx2
;
dev
->
poll_controller
=
poll_bnx2
;
...
@@ -5784,7 +5872,7 @@ static void __devexit
...
@@ -5784,7 +5872,7 @@ static void __devexit
bnx2_remove_one
(
struct
pci_dev
*
pdev
)
bnx2_remove_one
(
struct
pci_dev
*
pdev
)
{
{
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
flush_scheduled_work
();
flush_scheduled_work
();
...
@@ -5803,7 +5891,7 @@ static int
...
@@ -5803,7 +5891,7 @@ static int
bnx2_suspend
(
struct
pci_dev
*
pdev
,
pm_message_t
state
)
bnx2_suspend
(
struct
pci_dev
*
pdev
,
pm_message_t
state
)
{
{
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
u32
reset_code
;
u32
reset_code
;
if
(
!
netif_running
(
dev
))
if
(
!
netif_running
(
dev
))
...
@@ -5812,7 +5900,9 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
...
@@ -5812,7 +5900,9 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t state)
bnx2_netif_stop
(
bp
);
bnx2_netif_stop
(
bp
);
netif_device_detach
(
dev
);
netif_device_detach
(
dev
);
del_timer_sync
(
&
bp
->
timer
);
del_timer_sync
(
&
bp
->
timer
);
if
(
bp
->
wol
)
if
(
bp
->
flags
&
NO_WOL_FLAG
)
reset_code
=
BNX2_DRV_MSG_CODE_UNLOAD
;
else
if
(
bp
->
wol
)
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_WOL
;
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_WOL
;
else
else
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
reset_code
=
BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL
;
...
@@ -5826,7 +5916,7 @@ static int
...
@@ -5826,7 +5916,7 @@ static int
bnx2_resume
(
struct
pci_dev
*
pdev
)
bnx2_resume
(
struct
pci_dev
*
pdev
)
{
{
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
dev
=
pci_get_drvdata
(
pdev
);
struct
bnx2
*
bp
=
dev
->
priv
;
struct
bnx2
*
bp
=
netdev_priv
(
dev
)
;
if
(
!
netif_running
(
dev
))
if
(
!
netif_running
(
dev
))
return
0
;
return
0
;
...
...
drivers/net/bnx2.h
View file @
078a9b03
/* bnx2.h: Broadcom NX2 network driver.
/* bnx2.h: Broadcom NX2 network driver.
*
*
* Copyright (c) 2004, 2005 Broadcom Corporation
* Copyright (c) 2004, 2005
, 2006
Broadcom Corporation
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
...
@@ -277,19 +277,7 @@ struct statistics_block {
...
@@ -277,19 +277,7 @@ struct statistics_block {
* l2_fhdr definition
* l2_fhdr definition
*/
*/
struct
l2_fhdr
{
struct
l2_fhdr
{
#if defined(__BIG_ENDIAN)
u32
l2_fhdr_status
;
u16
l2_fhdr_errors
;
u16
l2_fhdr_status
;
#elif defined(__LITTLE_ENDIAN)
u16
l2_fhdr_status
;
u16
l2_fhdr_errors
;
#endif
#define L2_FHDR_ERRORS_BAD_CRC (1<<1)
#define L2_FHDR_ERRORS_PHY_DECODE (1<<2)
#define L2_FHDR_ERRORS_ALIGNMENT (1<<3)
#define L2_FHDR_ERRORS_TOO_SHORT (1<<4)
#define L2_FHDR_ERRORS_GIANT_FRAME (1<<5)
#define L2_FHDR_STATUS_RULE_CLASS (0x7<<0)
#define L2_FHDR_STATUS_RULE_CLASS (0x7<<0)
#define L2_FHDR_STATUS_RULE_P2 (1<<3)
#define L2_FHDR_STATUS_RULE_P2 (1<<3)
#define L2_FHDR_STATUS_RULE_P3 (1<<4)
#define L2_FHDR_STATUS_RULE_P3 (1<<4)
...
@@ -301,6 +289,14 @@ struct l2_fhdr {
...
@@ -301,6 +289,14 @@ struct l2_fhdr {
#define L2_FHDR_STATUS_TCP_SEGMENT (1<<14)
#define L2_FHDR_STATUS_TCP_SEGMENT (1<<14)
#define L2_FHDR_STATUS_UDP_DATAGRAM (1<<15)
#define L2_FHDR_STATUS_UDP_DATAGRAM (1<<15)
#define L2_FHDR_ERRORS_BAD_CRC (1<<17)
#define L2_FHDR_ERRORS_PHY_DECODE (1<<18)
#define L2_FHDR_ERRORS_ALIGNMENT (1<<19)
#define L2_FHDR_ERRORS_TOO_SHORT (1<<20)
#define L2_FHDR_ERRORS_GIANT_FRAME (1<<21)
#define L2_FHDR_ERRORS_TCP_XSUM (1<<28)
#define L2_FHDR_ERRORS_UDP_XSUM (1<<31)
u32
l2_fhdr_hash
;
u32
l2_fhdr_hash
;
#if defined(__BIG_ENDIAN)
#if defined(__BIG_ENDIAN)
u16
l2_fhdr_pkt_len
;
u16
l2_fhdr_pkt_len
;
...
@@ -3956,6 +3952,7 @@ struct bnx2 {
...
@@ -3956,6 +3952,7 @@ struct bnx2 {
#define NO_WOL_FLAG 8
#define NO_WOL_FLAG 8
#define USING_DAC_FLAG 0x10
#define USING_DAC_FLAG 0x10
#define USING_MSI_FLAG 0x20
#define USING_MSI_FLAG 0x20
#define ASF_ENABLE_FLAG 0x40
u32
phy_flags
;
u32
phy_flags
;
#define PHY_SERDES_FLAG 1
#define PHY_SERDES_FLAG 1
...
@@ -3986,6 +3983,7 @@ struct bnx2 {
...
@@ -3986,6 +3983,7 @@ struct bnx2 {
#define CHIP_ID_5706_A2 0x57060020
#define CHIP_ID_5706_A2 0x57060020
#define CHIP_ID_5708_A0 0x57080000
#define CHIP_ID_5708_A0 0x57080000
#define CHIP_ID_5708_B0 0x57081000
#define CHIP_ID_5708_B0 0x57081000
#define CHIP_ID_5708_B1 0x57081010
#define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf)
#define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf)
...
@@ -3998,7 +3996,7 @@ struct bnx2 {
...
@@ -3998,7 +3996,7 @@ struct bnx2 {
u16
bus_speed_mhz
;
u16
bus_speed_mhz
;
u8
wol
;
u8
wol
;
u8
fw_timed_out
;
u8
pad
;
u16
fw_wr_seq
;
u16
fw_wr_seq
;
u16
fw_drv_pulse_wr_seq
;
u16
fw_drv_pulse_wr_seq
;
...
@@ -4074,6 +4072,7 @@ struct bnx2 {
...
@@ -4074,6 +4072,7 @@ struct bnx2 {
struct
net_device_stats
net_stats
;
struct
net_device_stats
net_stats
;
struct
flash_spec
*
flash_info
;
struct
flash_spec
*
flash_info
;
u32
flash_size
;
};
};
static
u32
bnx2_reg_rd_ind
(
struct
bnx2
*
bp
,
u32
offset
);
static
u32
bnx2_reg_rd_ind
(
struct
bnx2
*
bp
,
u32
offset
);
...
@@ -4172,7 +4171,7 @@ struct fw_info {
...
@@ -4172,7 +4171,7 @@ struct fw_info {
* the firmware has timed out, the driver will assume there is no firmware
* the firmware has timed out, the driver will assume there is no firmware
* running and there won't be any firmware-driver synchronization during a
* running and there won't be any firmware-driver synchronization during a
* driver reset. */
* driver reset. */
#define FW_ACK_TIME_OUT_MS
5
0
#define FW_ACK_TIME_OUT_MS
10
0
#define BNX2_DRV_RESET_SIGNATURE 0x00000000
#define BNX2_DRV_RESET_SIGNATURE 0x00000000
...
@@ -4275,6 +4274,9 @@ struct fw_info {
...
@@ -4275,6 +4274,9 @@ struct fw_info {
#define BNX2_SHARED_HW_CFG_LED_MODE_GPHY1 0x100
#define BNX2_SHARED_HW_CFG_LED_MODE_GPHY1 0x100
#define BNX2_SHARED_HW_CFG_LED_MODE_GPHY2 0x200
#define BNX2_SHARED_HW_CFG_LED_MODE_GPHY2 0x200
#define BNX2_SHARED_HW_CFG_CONFIG2 0x00000040
#define BNX2_SHARED_HW_CFG2_NVM_SIZE_MASK 0x00fff000
#define BNX2_DEV_INFO_BC_REV 0x0000004c
#define BNX2_DEV_INFO_BC_REV 0x0000004c
#define BNX2_PORT_HW_CFG_MAC_UPPER 0x00000050
#define BNX2_PORT_HW_CFG_MAC_UPPER 0x00000050
...
...
drivers/net/bnx2_fw.h
View file @
078a9b03
/* bnx2_fw.h: Broadcom NX2 network driver.
/* bnx2_fw.h: Broadcom NX2 network driver.
*
*
* Copyright (c) 2004, 2005 Broadcom Corporation
* Copyright (c) 2004, 2005
, 2006
Broadcom Corporation
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
...
@@ -978,20 +978,20 @@ static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 };
...
@@ -978,20 +978,20 @@ static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 };
static
int
bnx2_RXP_b06FwReleaseMajor
=
0x1
;
static
int
bnx2_RXP_b06FwReleaseMajor
=
0x1
;
static
int
bnx2_RXP_b06FwReleaseMinor
=
0x0
;
static
int
bnx2_RXP_b06FwReleaseMinor
=
0x0
;
static
int
bnx2_RXP_b06FwReleaseFix
=
0x0
;
static
int
bnx2_RXP_b06FwReleaseFix
=
0x0
;
static
u32
bnx2_RXP_b06FwStartAddr
=
0x080031
0
4
;
static
u32
bnx2_RXP_b06FwStartAddr
=
0x080031
8
4
;
static
u32
bnx2_RXP_b06FwTextAddr
=
0x08000000
;
static
u32
bnx2_RXP_b06FwTextAddr
=
0x08000000
;
static
int
bnx2_RXP_b06FwTextLen
=
0x5
62
c
;
static
int
bnx2_RXP_b06FwTextLen
=
0x5
88
c
;
static
u32
bnx2_RXP_b06FwDataAddr
=
0x08005
66
0
;
static
u32
bnx2_RXP_b06FwDataAddr
=
0x08005
8e
0
;
static
int
bnx2_RXP_b06FwDataLen
=
0x0
;
static
int
bnx2_RXP_b06FwDataLen
=
0x0
;
static
u32
bnx2_RXP_b06FwRodataAddr
=
0x0
000000
0
;
static
u32
bnx2_RXP_b06FwRodataAddr
=
0x0
800589
0
;
static
int
bnx2_RXP_b06FwRodataLen
=
0x
0
;
static
int
bnx2_RXP_b06FwRodataLen
=
0x
28
;
static
u32
bnx2_RXP_b06FwBssAddr
=
0x08005
68
0
;
static
u32
bnx2_RXP_b06FwBssAddr
=
0x08005
90
0
;
static
int
bnx2_RXP_b06FwBssLen
=
0x13
9
4
;
static
int
bnx2_RXP_b06FwBssLen
=
0x13
a
4
;
static
u32
bnx2_RXP_b06FwSbssAddr
=
0x08005
66
0
;
static
u32
bnx2_RXP_b06FwSbssAddr
=
0x08005
8e
0
;
static
int
bnx2_RXP_b06FwSbssLen
=
0x1
8
;
static
int
bnx2_RXP_b06FwSbssLen
=
0x1
c
;
static
u32
bnx2_RXP_b06FwText
[(
0x5
62
c
/
4
)
+
1
]
=
{
static
u32
bnx2_RXP_b06FwText
[(
0x5
88
c
/
4
)
+
1
]
=
{
0x0a000c
41
,
0x00000000
,
0x00000000
,
0x0000000d
,
0x72787020
,
0x322e35
2e
,
0x0a000c
61
,
0x00000000
,
0x00000000
,
0x0000000d
,
0x72787020
,
0x322e36
2e
,
0x3
8000000
,
0x020508
03
,
0x00000000
,
0x0000000d
,
0x00000000
,
0x00000000
,
0x3
1000000
,
0x020601
03
,
0x00000000
,
0x0000000d
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
...
@@ -1513,408 +1513,435 @@ static u32 bnx2_RXP_b06FwText[(0x562c/4) + 1] = {
...
@@ -1513,408 +1513,435 @@ static u32 bnx2_RXP_b06FwText[(0x562c/4) + 1] = {
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x10000003
,
0x00000000
,
0x0000000d
,
0x0000000d
,
0x3c020800
,
0x24425660
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x3c030800
,
0x24636a14
,
0xac400000
,
0x0043202b
,
0x1480fffd
,
0x24420004
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x3c1d0800
,
0x37bd7ffc
,
0x03a0f021
,
0x3c100800
,
0x26103104
,
0x3c1c0800
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x279c5660
,
0x0e001035
,
0x00000000
,
0x0000000d
,
0x3c080800
,
0x8d023100
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x2c420080
,
0x50400001
,
0xad003100
,
0x8d073100
,
0x3c040800
,
0x24840100
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x8f460100
,
0x00071840
,
0x00671821
,
0x00031940
,
0x00641021
,
0xac460000
,
0x00000000
,
0x00000000
,
0x10000003
,
0x00000000
,
0x0000000d
,
0x0000000d
,
0x8f450104
,
0x00831021
,
0xac450004
,
0x8f460108
,
0xac460008
,
0x8f45010c
,
0x3c020800
,
0x244258e0
,
0x3c030800
,
0x24636ca4
,
0xac400000
,
0x0043202b
,
0xac45000c
,
0x8f460114
,
0xac460010
,
0x8f450118
,
0xac450014
,
0x8f460124
,
0x1480fffd
,
0x24420004
,
0x3c1d0800
,
0x37bd7ffc
,
0x03a0f021
,
0x3c100800
,
0xac460018
,
0x8f450128
,
0xac45001c
,
0x8f464010
,
0xac460020
,
0x8f454014
,
0x26103184
,
0x3c1c0800
,
0x279c58e0
,
0x0e00104a
,
0x00000000
,
0x0000000d
,
0xac450024
,
0x8f464018
,
0xac460028
,
0x8f45401c
,
0xac45002c
,
0x8f464020
,
0x27bdffe8
,
0xafb00010
,
0xafbf0014
,
0x0e000f1d
,
0x00808021
,
0x1440000d
,
0xac460030
,
0x8f454024
,
0xac450034
,
0x8f464028
,
0xac460038
,
0x8f45402c
,
0x00000000
,
0x8f820010
,
0x10400005
,
0x00000000
,
0x9743011c
,
0x9742011e
,
0xac45003c
,
0x8f464030
,
0xac460040
,
0x8f454034
,
0xac450044
,
0x8f464038
,
0x0a000c89
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xac460048
,
0x8f45403c
,
0xac45004c
,
0x8f464040
,
0xac460050
,
0x8f454044
,
0xaf830004
,
0x8f840008
,
0x3c020020
,
0x34424000
,
0x00821824
,
0x54620004
,
0xac450054
,
0x8f464048
,
0xac460058
,
0x8f45404c
,
0x24e70001
,
0x00402021
,
0x3c020020
,
0x8f820014
,
0x0a000c9a
,
0x34421000
,
0x34428000
,
0x00821824
,
0xad073100
,
0x03e00008
,
0xac85005c
,
0x8f820004
,
0x9743010c
,
0x00804821
,
0x14620004
,
0x00000000
,
0x8f820014
,
0x34428000
,
0xaf820014
,
0x8f820008
,
0x00403021
,
0x30421000
,
0x10400010
,
0x306affff
,
0x30c20020
,
0x1440000e
,
0x9743010c
,
0x00403021
,
0x30421000
,
0x10400010
,
0x3069ffff
,
0x30c20020
,
0x24070005
,
0x3c021000
,
0x00c21024
,
0x10400009
,
0x3c030dff
,
0x3463ffff
,
0x1440000e
,
0x24070005
,
0x3c021000
,
0x00c21024
,
0x10400009
,
0x3c030dff
,
0x3c020e00
,
0x00c21024
,
0x0062182b
,
0x50600004
,
0x24070001
,
0x0a000cb1
,
0x3463ffff
,
0x3c020e00
,
0x00c21024
,
0x0062182b
,
0x50600004
,
0x24070001
,
0x3c020800
,
0x24070001
,
0x3c020800
,
0x8c430034
,
0x1460001d
,
0x00405821
,
0x0a000cb2
,
0x3c020800
,
0x24070001
,
0x3c020800
,
0x8c430034
,
0x1460001d
,
0x8f820010
,
0x30424000
,
0x1440001a
,
0x3c020001
,
0x3c021f01
,
0x00c24024
,
0x00405821
,
0x8f820014
,
0x30424000
,
0x1440001a
,
0x3c020001
,
0x3c021f01
,
0x3c031000
,
0x15030015
,
0x3c020001
,
0x31420200
,
0x54400012
,
0x3c020001
,
0x00c24024
,
0x3c031000
,
0x15030015
,
0x3c020001
,
0x31220200
,
0x14400012
,
0x9744010e
,
0x24020003
,
0xa342018b
,
0x97850012
,
0x24020002
,
0x34e30002
,
0x3c020001
,
0x9744010e
,
0x24020003
,
0xa342018b
,
0x97850016
,
0x24020002
,
0xaf400180
,
0xa742018c
,
0xa7430188
,
0x24840004
,
0x30a5bfff
,
0xa744018e
,
0x34e30002
,
0xaf400180
,
0xa742018c
,
0xa7430188
,
0x24840004
,
0x30a5bfff
,
0xa74501a6
,
0xaf4801b8
,
0x03e00008
,
0x00001021
,
0x3c020001
,
0x00c21024
,
0xa744018e
,
0xa74501a6
,
0xaf4801b8
,
0x0a000f19
,
0x00001021
,
0x3c020001
,
0x10400039
,
0x00000000
,
0x9742010e
,
0x3c038000
,
0x3046ffff
,
0x8f4201b8
,
0x00c21024
,
0x1040002f
,
0x00000000
,
0x9742010e
,
0x3c038000
,
0x3046ffff
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x8f85000c
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9784000a
,
0x24020080
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0x10a00005
,
0x8f850004
,
0x8f870014
,
0x24020080
,
0x24030002
,
0xaf420180
,
0x24020003
,
0xa7440190
,
0x9743011c
,
0x9742011e
,
0x0a000cec
,
0x00021400
,
0x9743011e
,
0xa743018c
,
0xa746018e
,
0xa7420188
,
0x30e28000
,
0xa7440190
,
0x1040000c
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x24020003
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x30838000
,
0x1060000d
,
0xa7420188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00e21024
,
0xaf820014
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600005
,
0x00000000
,
0x3c02ffff
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x0a000f19
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x00001021
,
0x8f820014
,
0x30434000
,
0x10600016
,
0x00404021
,
0x3c020f00
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0x8f820010
,
0x30434000
,
0x00c21024
,
0x14400012
,
0x00000000
,
0x93420116
,
0x34424000
,
0x03421821
,
0x10600016
,
0x00404021
,
0x3c020f00
,
0x00c21024
,
0x14400012
,
0x00000000
,
0x94650002
,
0x2ca21389
,
0x1040000b
,
0x3c020800
,
0x24425900
,
0x00051942
,
0x93420116
,
0x34424000
,
0x03421821
,
0x94650002
,
0x2ca21389
,
0x1040000b
,
0x00031880
,
0x00621821
,
0x30a5001f
,
0x8c640000
,
0x24020001
,
0x00a21004
,
0x3c020800
,
0x24425680
,
0x00051942
,
0x00031880
,
0x00621821
,
0x30a5001f
,
0x00822024
,
0x02048025
,
0x12000030
,
0x3c021000
,
0x9742010e
,
0x34e80002
,
0x8c640000
,
0x24020001
,
0x00a21004
,
0x00822024
,
0x01244825
,
0x11200039
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x3c021000
,
0x9742010e
,
0x34e70002
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x24020003
,
0xa342018b
,
0x9784000a
,
0x8f850004
,
0x8f870014
,
0x24020180
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7480188
,
0x30e28000
,
0x8f85000c
,
0x24020180
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7440190
,
0x1040000c
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x10a00005
,
0xa7440190
,
0x9743011c
,
0x9742011e
,
0x0a000d41
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00
821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00
e21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x0
3e00008
,
0x00001021
,
0x00c21024
,
0x104000e3
,
0x3c020800
,
0xaf4201b8
,
0x0
a000f19
,
0x00001021
,
0x00c21024
,
0x104000c0
,
0x3c020800
,
0x8c430030
,
0x106000
40
,
0x31024000
,
0x1040003e
,
0x3c030f00
,
0x00c31824
,
0x8c430030
,
0x106000
37
,
0x31024000
,
0x10400035
,
0x3c030f00
,
0x00c31824
,
0x3c020100
,
0x0043102b
,
0x1440003
a
,
0x3c030800
,
0x9742010e
,
0x34e7
0002
,
0x3c020100
,
0x0043102b
,
0x1440003
1
,
0x3c030800
,
0x9742010e
,
0x34e8
0002
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x8f85000c
,
0x24020080
,
0x24030002
,
0x24020003
,
0xa342018b
,
0x9784000a
,
0x8f850004
,
0x8f870014
,
0x24020080
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0x10a00005
,
0xa7440190
,
0x9743011c
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7480188
,
0x30e28000
,
0x9742011e
,
0x0a000d86
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0xa7440190
,
0x1040000c
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00e21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x0a000f19
,
0x00001021
,
0x3c030800
,
0x8c620024
,
0x30420008
,
0x10400035
,
0x34ea0002
,
0x3c020f00
,
0x00c21024
,
0x14400032
,
0x8d620034
,
0x31220200
,
0x1040002f
,
0x8d620034
,
0x9742010e
,
0x30e8fffb
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9784000a
,
0x8f850004
,
0x8f870014
,
0x24020180
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7480188
,
0x30e28000
,
0xa7440190
,
0x1040000c
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00e21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x8d620034
,
0x8f860008
,
0x10400012
,
0x30c20100
,
0x10400010
,
0x3c020f00
,
0x00c21024
,
0x3c030200
,
0x1043000c
,
0x3c020800
,
0x8c430038
,
0x8f840004
,
0x3c020800
,
0x2442003c
,
0x2463ffff
,
0x00832024
,
0x00822021
,
0x90830000
,
0x24630004
,
0x0a000de1
,
0x000329c0
,
0x00000000
,
0x00061602
,
0x3042000f
,
0x000229c0
,
0x3c04fc00
,
0x00441021
,
0x3c030300
,
0x0062182b
,
0x50600001
,
0x24050800
,
0x9742010e
,
0x3148ffff
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9783000a
,
0x8f840004
,
0x8f870014
,
0x24020002
,
0xaf450180
,
0xa742018c
,
0xa746018e
,
0xa7480188
,
0x30e28000
,
0xa7430190
,
0x1040000c
,
0xaf4401a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00e21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x0a000f19
,
0x00001021
,
0x8f424000
,
0x30420100
,
0x104000d5
,
0x3c020800
,
0x8c440024
,
0x24030001
,
0x1483002f
,
0x00405021
,
0x9742010e
,
0x34e70002
,
0x3c038000
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9783000a
,
0x8f840004
,
0x8f860014
,
0x24020002
,
0xaf400180
,
0xa742018c
,
0xa745018e
,
0xa7470188
,
0x30c28000
,
0xa7430190
,
0x1040000c
,
0xaf4401a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00c21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x0a000f19
,
0x00001021
,
0x30820001
,
0x1040002e
,
0x30eb0004
,
0x9742010e
,
0x30e9fffb
,
0x3c038000
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9783000a
,
0x8f840004
,
0x8f860014
,
0x24020002
,
0xaf400180
,
0xa742018c
,
0xa745018e
,
0xa7470188
,
0x30c28000
,
0xa7430190
,
0x1040000c
,
0xaf4401a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00
821024
,
0xaf820010
,
0x97820012
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00
c21024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x3127ffff
,
0x8d420024
,
0x3c030800
,
0x8c620024
,
0x30420008
,
0x1040003e
,
0x34e80002
,
0x3c020f00
,
0x30420004
,
0x10400030
,
0x8d420024
,
0x9742010e
,
0x30e9fffb
,
0x3c038000
,
0x00c21024
,
0x1440003b
,
0x8d620034
,
0x31420200
,
0x10400038
,
0x8d620034
,
0x9742010e
,
0x30e7fffb
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x8f85000c
,
0x24020180
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0x10a00005
,
0xa7440190
,
0x9743011c
,
0x9742011e
,
0x0a000dca
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x8d620034
,
0x8f860004
,
0x1040001a
,
0x30c20100
,
0x10400018
,
0x3c020f00
,
0x00c21024
,
0x3c030200
,
0x10430014
,
0x00000000
,
0x8f82000c
,
0x10400004
,
0x00000000
,
0x9742011c
,
0x0a000df8
,
0x3044ffff
,
0x9742011e
,
0x3044ffff
,
0x3c030800
,
0x8c620038
,
0x3c030800
,
0x2463003c
,
0x2442ffff
,
0x00822024
,
0x00831821
,
0x90620000
,
0x24420004
,
0x0a000e0d
,
0x000229c0
,
0x00000000
,
0x00061602
,
0x3042000f
,
0x000229c0
,
0x3c04fc00
,
0x00441021
,
0x3c030300
,
0x0062182b
,
0x50600001
,
0x24050800
,
0x9742010e
,
0x3107ffff
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97830006
,
0x8f84000c
,
0x24020002
,
0xaf450180
,
0xa742018c
,
0xa342018b
,
0x9784000a
,
0x8f850004
,
0x8f880014
,
0x24020100
,
0x24030002
,
0xa746018e
,
0x10800005
,
0xa7430190
,
0x9743011c
,
0x9742011e
,
0x0a000e26
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7470188
,
0x31028000
,
0xa7440190
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x1040000c
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x01021024
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3127ffff
,
0x8d420024
,
0x30420008
,
0x1040002d
,
0x00000000
,
0x9742010e
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0x8f424000
,
0x30420100
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x104000f9
,
0x3c020800
,
0x8c440024
,
0x24030001
,
0x14830038
,
0x00404821
,
0x24020003
,
0xa342018b
,
0x9784000a
,
0x8f850004
,
0x8f880014
,
0x24020180
,
0x9742010e
,
0x34e60002
,
0x3c038000
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0xa7470188
,
0x31028000
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97830006
,
0x8f84000c
,
0xa7440190
,
0x1040000c
,
0xaf4501a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24020002
,
0xaf400180
,
0xa742018c
,
0xa745018e
,
0x10800005
,
0xa7430190
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x9743011c
,
0x9742011e
,
0x0a000e65
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x01021024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xa7460188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0xaf4201b8
,
0x15600041
,
0x00001021
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x00431024
,
0x1440fffd
,
0x24022000
,
0x24030002
,
0xa4820008
,
0xa083000b
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0xa4800010
,
0x3c021000
,
0xaf4201b8
,
0x0a000f19
,
0x00001021
,
0x3c030800
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x8c620024
,
0x30420001
,
0x1040002e
,
0x00001021
,
0x9742010e
,
0x34e70002
,
0x00001021
,
0x30820001
,
0x10400037
,
0x30ea0004
,
0x9742010e
,
0x30e8fffb
,
0x3c038000
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x3c038000
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97830006
,
0x8f84000c
,
0x24020002
,
0xaf400180
,
0x24020003
,
0xa342018b
,
0x9783000a
,
0x8f840004
,
0x8f860014
,
0x24020002
,
0xa742018c
,
0xa745018e
,
0x10800005
,
0xa7430190
,
0x9743011c
,
0x9742011e
,
0xaf400180
,
0xa742018c
,
0xa745018e
,
0xa7470188
,
0x30c28000
,
0xa7430190
,
0x0a000e9f
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0x1040000c
,
0xaf4401a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00c21024
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3c02ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x3107ffff
,
0x8d220024
,
0x30420004
,
0x10400039
,
0x8d220024
,
0x9742010e
,
0x30e8fffb
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x8f85000c
,
0x24020100
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0x10a00005
,
0xa7440190
,
0x9743011c
,
0x9742011e
,
0x0a000eda
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x3107ffff
,
0x8d220024
,
0x30420008
,
0x10400036
,
0x00000000
,
0x9742010e
,
0x3c038000
,
0x24420004
,
0x3046ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x97840006
,
0x8f85000c
,
0x24020180
,
0x24030002
,
0xaf420180
,
0xa743018c
,
0xa746018e
,
0x10a00005
,
0xa7440190
,
0x9743011c
,
0x9742011e
,
0x0a000f14
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x1540004a
,
0x00001021
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x00001021
,
0x8fbf0014
,
0x8fb00010
,
0x03e00008
,
0x27bd0018
,
0x8f4b0070
,
0x1440fffd
,
0x24022000
,
0x24030002
,
0xa4820008
,
0xa083000b
,
0xa4800010
,
0x93420112
,
0x8f840008
,
0x00022882
,
0x30820100
,
0x14400003
,
0x24a30003
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0x3c030800
,
0x8c620024
,
0x03e00008
,
0x00001021
,
0x30824000
,
0x10400010
,
0x27424000
,
0x00031880
,
0x30420001
,
0x10400037
,
0x00001021
,
0x9742010e
,
0x34e60002
,
0x3c038000
,
0x00431021
,
0x8c470000
,
0x24a30004
,
0x00031880
,
0x27424000
,
0x00431021
,
0x24420004
,
0x3045ffff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0x8c490000
,
0x93430116
,
0x27424000
,
0x306300fc
,
0x00431021
,
0x8c4a0000
,
0xa342018b
,
0x97830006
,
0x8f84000c
,
0x24020002
,
0xaf400180
,
0xa742018c
,
0x0a000f45
,
0x3c030800
,
0x30822000
,
0x1040ffea
,
0x00031880
,
0x27424000
,
0xa745018e
,
0x10800005
,
0xa7430190
,
0x9743011c
,
0x9742011e
,
0x0a000f5e
,
0x00431021
,
0x8c470000
,
0x24a30004
,
0x00031880
,
0x27424000
,
0x00431021
,
0x00021400
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8c490000
,
0x00005021
,
0x3c030800
,
0x24680100
,
0x00071602
,
0x00021080
,
0x8f840010
,
0x30828000
,
0x1040000c
,
0xa7460188
,
0x93420116
,
0x304200fc
,
0x00481021
,
0x8c460000
,
0x00071b82
,
0x306303fc
,
0x01031821
,
0x8c640400
,
0x00071182
,
0x304203fc
,
0x01021021
,
0x8c450800
,
0x30e300ff
,
0x00031880
,
0x01031821
,
0x00091602
,
0x00021080
,
0x01021021
,
0x00c43026
,
0x8c640c00
,
0x8c431000
,
0x00c53026
,
0x00091382
,
0x304203fc
,
0x01021021
,
0x8c451400
,
0x312200ff
,
0x00021080
,
0x01021021
,
0x00c43026
,
0x00c33026
,
0x00091982
,
0x306303fc
,
0x01031821
,
0x8c641800
,
0x8c431c00
,
0x00c53026
,
0x00c43026
,
0x11400015
,
0x00c33026
,
0x000a1602
,
0x00021080
,
0x01021021
,
0x8c432000
,
0x000a1382
,
0x304203fc
,
0x01021021
,
0x8c452400
,
0x314200ff
,
0x00021080
,
0x01021021
,
0x00c33026
,
0x000a1982
,
0x306303fc
,
0x01031821
,
0x8c642800
,
0x8c432c00
,
0x00c53026
,
0x00c43026
,
0x00c33026
,
0x8f430070
,
0x3c050800
,
0x8ca43100
,
0x2c820020
,
0x10400008
,
0x006b5823
,
0x3c020800
,
0x24423104
,
0x00041880
,
0x00621821
,
0x24820001
,
0xac6b0000
,
0xaca23100
,
0xaf860004
,
0x03e00008
,
0x24020001
,
0x27bdffe8
,
0xafbf0010
,
0x8f460128
,
0x8f840010
,
0xaf460020
,
0x8f450104
,
0x8f420100
,
0x24030800
,
0xaf850008
,
0xaf820014
,
0xaf4301b8
,
0x1080000a
,
0x3c020800
,
0x8c430034
,
0x10600007
,
0x30a22000
,
0x10400005
,
0x34a30100
,
0x8f82000c
,
0xaf830008
,
0x24420001
,
0xaf82000c
,
0x3c020800
,
0x8c4300c0
,
0x10600006
,
0x3c030800
,
0x8c6200c4
,
0x24040001
,
0x24420001
,
0x0a000fd5
,
0xac6200c4
,
0x8f820008
,
0x3c030010
,
0x00431024
,
0x14400009
,
0x3c02001f
,
0x3c030800
,
0x8c620020
,
0x00002021
,
0x24420001
,
0x0e000c78
,
0xac620020
,
0x0a000fd5
,
0x00402021
,
0x3442ff00
,
0x14c20009
,
0x2403bfff
,
0x3c030800
,
0x8c620020
,
0x24040001
,
0x24420001
,
0x0e000c78
,
0xac620020
,
0x0a000fd5
,
0x00402021
,
0x8f820014
,
0x00431024
,
0x14400006
,
0x00000000
,
0xaf400048
,
0x0e0011a9
,
0xaf400040
,
0x0a000fd5
,
0x00402021
,
0x0e001563
,
0x00000000
,
0x00402021
,
0x10800005
,
0x3c024000
,
0x8f430124
,
0x3c026020
,
0xac430014
,
0x3c024000
,
0xaf420138
,
0x00000000
,
0x8fbf0010
,
0x03e00008
,
0x27bd0018
,
0x27bdffe0
,
0xafbf0018
,
0xafb10014
,
0xafb00010
,
0x8f420140
,
0xaf420020
,
0x8f430148
,
0x3c027000
,
0x00621824
,
0x3c023000
,
0x10620021
,
0x0043102b
,
0x14400006
,
0x3c024000
,
0x3c022000
,
0x10620009
,
0x3c024000
,
0x0a001040
,
0x00000000
,
0x10620045
,
0x3c025000
,
0x10620047
,
0x3c024000
,
0x0a001040
,
0x00000000
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420148
,
0x24030002
,
0xa083000b
,
0x00021402
,
0xa4820008
,
0x8f430148
,
0xa4830010
,
0x8f420144
,
0x3c031000
,
0xac820024
,
0xaf4301b8
,
0x0a001040
,
0x3c024000
,
0x8f420148
,
0x24030002
,
0x3044ffff
,
0x00021402
,
0x305000ff
,
0x1203000c
,
0x27510180
,
0x2a020003
,
0x10400005
,
0x24020003
,
0x0600001d
,
0x36053000
,
0x0a001027
,
0x3c038000
,
0x12020007
,
0x00000000
,
0x0a001034
,
0x00000000
,
0x0e00112c
,
0x00000000
,
0x0a001025
,
0x00402021
,
0x0e00113e
,
0x00000000
,
0x00402021
,
0x36053000
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0xa6250008
,
0xa222000b
,
0xa6240010
,
0x8f420144
,
0x3c031000
,
0xae220024
,
0xaf4301b8
,
0x0a001040
,
0x3c024000
,
0x0000000d
,
0x00000000
,
0x240002bf
,
0x0a001040
,
0x3c024000
,
0x0e001441
,
0x00000000
,
0x0a001040
,
0x3c024000
,
0x0e0015ea
,
0x00000000
,
0x3c024000
,
0xaf420178
,
0x00000000
,
0x8fbf0018
,
0x8fb10014
,
0x8fb00010
,
0x03e00008
,
0x27bd0020
,
0x24020800
,
0x03e00008
,
0xaf4201b8
,
0x27bdffe8
,
0x3c04600c
,
0xafbf0014
,
0xafb00010
,
0x8c825000
,
0x3c1a8000
,
0x2403ff7f
,
0x3c106000
,
0x00431024
,
0x3442380c
,
0x24030003
,
0xac825000
,
0x3c020008
,
0xaf430008
,
0x8e040808
,
0x0342d825
,
0x8e020808
,
0x3c030800
,
0xac600020
,
0x3084fff0
,
0x2c840001
,
0x3042fff0
,
0x38420010
,
0x2c420001
,
0xaf840010
,
0xaf820000
,
0x0e00160c
,
0x00000000
,
0x0e001561
,
0x00000000
,
0x3c020400
,
0x3442000c
,
0x3c03ffff
,
0x34630806
,
0xae021948
,
0xae03194c
,
0x8e021980
,
0x34420200
,
0xae021980
,
0x8f500000
,
0x32020003
,
0x1040fffd
,
0x32020001
,
0x10400004
,
0x32020002
,
0x0e000f92
,
0x00000000
,
0x32020002
,
0x1040fff6
,
0x00000000
,
0x0e000fe0
,
0x00000000
,
0x0a001071
,
0x00000000
,
0x27bdffe8
,
0x3c04600c
,
0xafbf0014
,
0xafb00010
,
0x8c825000
,
0x3c1a8000
,
0x2403ff7f
,
0x3c106000
,
0x00431024
,
0x3442380c
,
0x24030003
,
0xac825000
,
0x3c020008
,
0xaf430008
,
0x8e040808
,
0x0342d825
,
0x8e020808
,
0x3c030800
,
0xac600020
,
0x3084fff0
,
0x2c840001
,
0x3042fff0
,
0x38420010
,
0x2c420001
,
0xaf840010
,
0xaf820000
,
0x0e00160c
,
0x00000000
,
0x0e001561
,
0x00000000
,
0x3c020400
,
0x3442000c
,
0x3c03ffff
,
0x34630806
,
0xae021948
,
0xae03194c
,
0x8e021980
,
0x8fbf0014
,
0x34420200
,
0xae021980
,
0x8fb00010
,
0x03e00008
,
0x27bd0018
,
0x00804821
,
0x30a5ffff
,
0x30c6ffff
,
0x30e7ffff
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0xa342018b
,
0x9783000a
,
0x8f840004
,
0x8f880014
,
0xaf490180
,
0xa745018c
,
0xa746018e
,
0xa7470188
,
0x31028000
,
0xa7430190
,
0x1040000c
,
0xaf4401a8
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x005a1021
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x0
0821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x34427fff
,
0x0
1021024
,
0xaf820014
,
0x97820016
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3042bfff
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0xaf4201b8
,
0x00001021
,
0x03e00008
,
0x00000000
,
0x27bdffe8
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00000000
,
0x27440180
,
0x3c038000
,
0xafbf0010
,
0x8f460128
,
0x8f84000c
,
0xaf460020
,
0x8f450104
,
0x8f420100
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24022000
,
0x24030002
,
0xa4820008
,
0x24030800
,
0xaf850004
,
0xaf820010
,
0xaf4301b8
,
0x1080000a
,
0x3c020800
,
0xa083000b
,
0xa4800010
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00000000
,
0x8c430034
,
0x10600007
,
0x30a22000
,
0x10400005
,
0x34a30100
,
0x8f820008
,
0xaf830004
,
0x24420001
,
0xaf820008
,
0x3c020800
,
0x8c4300c0
,
0x10600006
,
0x3c030800
,
0x8c6200c4
,
0x24040001
,
0x24420001
,
0x0a000fc0
,
0xac6200c4
,
0x8f820004
,
0x3c030010
,
0x00431024
,
0x14400009
,
0x3c02001f
,
0x3c030800
,
0x8c620020
,
0x00002021
,
0x24420001
,
0x0e000c99
,
0xac620020
,
0x0a000fc0
,
0x00402021
,
0x3442ff00
,
0x14c20009
,
0x2403bfff
,
0x3c030800
,
0x8c620020
,
0x24040001
,
0x24420001
,
0x0e000c99
,
0xac620020
,
0x0a000fc0
,
0x00402021
,
0x8f820010
,
0x00431024
,
0x14400006
,
0x00000000
,
0xaf400048
,
0x0e001144
,
0xaf400040
,
0x0a000fc0
,
0x00402021
,
0x0e0014c9
,
0x00000000
,
0x00402021
,
0x10800005
,
0x3c024000
,
0x8f430124
,
0x3c026020
,
0xac430014
,
0x3c024000
,
0xaf420138
,
0x00000000
,
0x8fbf0010
,
0x03e00008
,
0x27bd0018
,
0x27bdffe0
,
0xafbf0018
,
0xafb10014
,
0xafb00010
,
0x8f420140
,
0xaf420020
,
0x8f430148
,
0x3c027000
,
0x00621824
,
0x3c023000
,
0x10620021
,
0x0043102b
,
0x14400006
,
0x3c024000
,
0x3c022000
,
0x10620009
,
0x3c024000
,
0x0a00102b
,
0x00000000
,
0x10620045
,
0x3c025000
,
0x10620047
,
0x3c024000
,
0x0a00102b
,
0x00000000
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420148
,
0x24030002
,
0xa083000b
,
0x00021402
,
0xa4820008
,
0x8f430148
,
0x8f420148
,
0x24030002
,
0xa083000b
,
0x00021402
,
0xa4820008
,
0x8f430148
,
0xa4830010
,
0x8f420144
,
0x3c031000
,
0xac820024
,
0xaf4301b8
,
0x0a00102b
,
0xa4830010
,
0x8f420144
,
0x3c031000
,
0xac820024
,
0x03e00008
,
0xaf4301b8
,
0x3c024000
,
0x8f420148
,
0x24030002
,
0x3044ffff
,
0x00021402
,
0x305000ff
,
0x27bdffe0
,
0xafbf0018
,
0xafb10014
,
0xafb00010
,
0x8f420148
,
0x24030002
,
0x1203000c
,
0x27510180
,
0x2a020003
,
0x10400005
,
0x24020003
,
0x0600001d
,
0x3044ffff
,
0x00021402
,
0x305000ff
,
0x1203000c
,
0x27510180
,
0x2a020003
,
0x36053000
,
0x0a001012
,
0x3c038000
,
0x12020007
,
0x00000000
,
0x0a00101f
,
0x10400005
,
0x24020003
,
0x0600001d
,
0x36053000
,
0x0a001117
,
0x3c038000
,
0x00000000
,
0x0e00111f
,
0x00000000
,
0x0a001010
,
0x00402021
,
0x0e001131
,
0x12020007
,
0x00000000
,
0x0a001124
,
0x00000000
,
0x0e00112c
,
0x00000000
,
0x00000000
,
0x00402021
,
0x36053000
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x0a001115
,
0x00402021
,
0x0e00113e
,
0x00000000
,
0x00402021
,
0x36053000
,
0x1440fffd
,
0x24020002
,
0xa6250008
,
0xa222000b
,
0xa6240010
,
0x8f420144
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0xa6250008
,
0x3c031000
,
0xae220024
,
0xaf4301b8
,
0x0a00102b
,
0x3c024000
,
0x0000000d
,
0xa222000b
,
0xa6240010
,
0x8f420144
,
0x3c031000
,
0xae220024
,
0xaf4301b8
,
0x00000000
,
0x24000295
,
0x0a00102b
,
0x3c024000
,
0x0e0013a7
,
0x00000000
,
0x0a001128
,
0x8fbf0018
,
0x0000000d
,
0x00000000
,
0x240002bf
,
0x8fbf0018
,
0x0a00102b
,
0x3c024000
,
0x0e001552
,
0x00000000
,
0x3c024000
,
0xaf420178
,
0x8fb10014
,
0x8fb00010
,
0x03e00008
,
0x27bd0020
,
0x3084ffff
,
0x2c821389
,
0x00000000
,
0x8fbf0018
,
0x8fb10014
,
0x8fb00010
,
0x03e00008
,
0x27bd0020
,
0x1040000d
,
0x00001021
,
0x3c030800
,
0x24635900
,
0x00042942
,
0x00052880
,
0x24020800
,
0x03e00008
,
0xaf4201b8
,
0x27bdffe8
,
0x3c04600c
,
0xafbf0014
,
0x00a32821
,
0x3086001f
,
0x8ca40000
,
0x24030001
,
0x00c31804
,
0x00832025
,
0xafb00010
,
0x8c825000
,
0x3c1a8000
,
0x2403ff7f
,
0x3c106000
,
0x00431024
,
0x03e00008
,
0xaca40000
,
0x03e00008
,
0x24020091
,
0x3084ffff
,
0x2c821389
,
0x3442380c
,
0x24030003
,
0xac825000
,
0x3c020008
,
0xaf430008
,
0x8e040808
,
0x1040000e
,
0x00001021
,
0x3c030800
,
0x24635900
,
0x00042942
,
0x00052880
,
0x0342d825
,
0x8e020808
,
0x3c030800
,
0xac600020
,
0x3084fff0
,
0x2c840001
,
0x00a32821
,
0x3086001f
,
0x24030001
,
0x8ca40000
,
0x00c31804
,
0x00031827
,
0x3042fff0
,
0x38420010
,
0x2c420001
,
0xaf84000c
,
0xaf820000
,
0x0e001574
,
0x00832024
,
0x03e00008
,
0xaca40000
,
0x03e00008
,
0x24020091
,
0x9482000c
,
0x00000000
,
0x0e0014c7
,
0x00000000
,
0x3c020400
,
0x3442000c
,
0x3c03ffff
,
0x24870014
,
0x00021302
,
0x00021080
,
0x00824021
,
0x00e8182b
,
0x1060004f
,
0x34630806
,
0xae021948
,
0xae03194c
,
0x8e021980
,
0x34420200
,
0xae021980
,
0x00000000
,
0x90e30000
,
0x2c620009
,
0x10400047
,
0x3c020800
,
0x24425890
,
0x8f500000
,
0x32020003
,
0x1040fffd
,
0x32020001
,
0x10400004
,
0x32020002
,
0x00031880
,
0x00621821
,
0x8c640000
,
0x00800008
,
0x00000000
,
0x0a0011a4
,
0x0e000f7d
,
0x00000000
,
0x32020002
,
0x1040fff6
,
0x00000000
,
0x0e000fcb
,
0x24e70001
,
0x90e30001
,
0x2402000a
,
0x54620024
,
0x01003821
,
0x01071023
,
0x00000000
,
0x0a00105c
,
0x00000000
,
0x27bdffe8
,
0x3c04600c
,
0xafbf0014
,
0x2c42000a
,
0x54400020
,
0x01003821
,
0x3c050800
,
0x8ca26c98
,
0x24e70002
,
0xafb00010
,
0x8c825000
,
0x3c1a8000
,
0x2403ff7f
,
0x3c106000
,
0x00431024
,
0x34420100
,
0xaca26c98
,
0x90e30000
,
0x90e20001
,
0x90e40002
,
0x90e60003
,
0x3442380c
,
0x24030003
,
0xac825000
,
0x3c020008
,
0xaf430008
,
0x8e040808
,
0x24e70004
,
0x24a56c98
,
0x00031e00
,
0x00021400
,
0x00621825
,
0x00042200
,
0x0342d825
,
0x8e020808
,
0x3c030800
,
0xac600020
,
0x3084fff0
,
0x2c840001
,
0x00641825
,
0x00661825
,
0xaca30004
,
0x90e20000
,
0x90e30001
,
0x90e40002
,
0x3042fff0
,
0x38420010
,
0x2c420001
,
0xaf84000c
,
0xaf820000
,
0x0e001574
,
0x90e60003
,
0x24e70004
,
0x00021600
,
0x00031c00
,
0x00431025
,
0x00042200
,
0x00000000
,
0x0e0014c7
,
0x00000000
,
0x3c020400
,
0x3442000c
,
0x3c03ffff
,
0x00441025
,
0x00461025
,
0x0a0011a4
,
0xaca20008
,
0x90e30001
,
0x24020004
,
0x34630806
,
0xae021948
,
0xae03194c
,
0x8e021980
,
0x8fbf0014
,
0x34420200
,
0x1062000e
,
0x00601021
,
0x0a00119e
,
0x01001021
,
0x90e30001
,
0x24020003
,
0xae021980
,
0x8fb00010
,
0x03e00008
,
0x27bd0018
,
0x30a5ffff
,
0x30c6ffff
,
0x10620008
,
0x00601021
,
0x0a00119e
,
0x01001021
,
0x90e30001
,
0x24020002
,
0x30e7ffff
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020003
,
0x14620003
,
0x01001021
,
0x00601021
,
0x00e21021
,
0x0a0011a4
,
0x00403821
,
0xa342018b
,
0x97830006
,
0x8f82000c
,
0xaf440180
,
0xa745018c
,
0xa746018e
,
0x90e20001
,
0x0a0011a4
,
0x00e23821
,
0x01003821
,
0x00e8102b
,
0x5440ffb4
,
0x10400005
,
0xa7430190
,
0x9743011c
,
0x9742011e
,
0x0a0010ad
,
0x00021400
,
0x90e30000
,
0x03e00008
,
0x24020001
,
0x27bdff90
,
0x3c030800
,
0xafbf006c
,
0x9743011e
,
0x9742011c
,
0x00021400
,
0x00621825
,
0xaf4301a8
,
0x8f840010
,
0xafbe0068
,
0xafb70064
,
0xafb60060
,
0xafb5005c
,
0xafb40058
,
0xafb30054
,
0x30828000
,
0x1040000c
,
0xa7470188
,
0x93420116
,
0x304200fc
,
0x005a1021
,
0xafb20050
,
0xafb1004c
,
0xafb00048
,
0xac606c98
,
0x93620023
,
0x30420010
,
0x24424004
,
0x8c430000
,
0x3063ffff
,
0x14600004
,
0x3c02ffff
,
0x34427fff
,
0x1440027c
,
0x24020001
,
0x93420116
,
0x93630005
,
0x34424000
,
0x30630001
,
0x00821024
,
0xaf820010
,
0x97820012
,
0x9743010c
,
0x8f440104
,
0x3042bfff
,
0x14600005
,
0x0342b021
,
0x0e0015e0
,
0x00000000
,
0x0a001436
,
0x8fbf006c
,
0x00031c00
,
0x3084ffff
,
0x00641825
,
0xa74201a6
,
0xaf4301ac
,
0x3c021000
,
0x93420112
,
0x8f430104
,
0x3c040020
,
0x34424000
,
0x00641824
,
0x10600012
,
0xaf4201b8
,
0x03e00008
,
0x00000000
,
0x27440180
,
0x3c038000
,
0x8f4201b8
,
0x03422821
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00431024
,
0x1440fffd
,
0x24022000
,
0x24030002
,
0xa4820008
,
0xa083000b
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8f640040
,
0x24030008
,
0x240240c1
,
0xa4800010
,
0x3c021000
,
0xaf4201b8
,
0x03e00008
,
0x00000000
,
0x27440180
,
0xa4a20008
,
0x24020002
,
0xa0a2000b
,
0x3c021000
,
0x0a0011f1
,
0xa0a3000a
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420148
,
0x8f420104
,
0x3c030040
,
0x00431024
,
0x1040001d
,
0x3c038000
,
0x27450180
,
0x24030002
,
0xa083000b
,
0x00021402
,
0xa4820008
,
0x8f430148
,
0xa4830010
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8f420144
,
0x3c031000
,
0xac820024
,
0x03e00008
,
0xaf4301b8
,
0x27bdffe0
,
0x8f640040
,
0x24030010
,
0x240240c1
,
0xa4a20008
,
0x24020002
,
0xa0a3000a
,
0xafbf0018
,
0xafb10014
,
0xafb00010
,
0x8f420148
,
0x24030002
,
0x3044ffff
,
0x24030008
,
0xa0a2000b
,
0x3c021000
,
0xa4a30010
,
0xa0a00012
,
0xa0a00013
,
0x00021402
,
0x305000ff
,
0x1203000c
,
0x27510180
,
0x2a020003
,
0x10400005
,
0xaca00014
,
0xaca00024
,
0xaca00028
,
0xaca0002c
,
0xaca40018
,
0x0e0015e0
,
0x24020003
,
0x0600001d
,
0x36053000
,
0x0a00110a
,
0x3c038000
,
0x12020007
,
0xaf4201b8
,
0x0a001436
,
0x8fbf006c
,
0x8f820000
,
0x10400016
,
0x00000000
,
0x00000000
,
0x0a001117
,
0x00000000
,
0x0e00111f
,
0x00000000
,
0x0a001108
,
0x8f420104
,
0x3c030001
,
0x00431024
,
0x10400011
,
0x00000000
,
0x8ca3000c
,
0x00402021
,
0x0e001131
,
0x00000000
,
0x00402021
,
0x36053000
,
0x3c038000
,
0x8f620030
,
0x1462022d
,
0x24020001
,
0x8ca30010
,
0x8f62002c
,
0x14620229
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0xa6250008
,
0xa222000b
,
0x24020001
,
0x9763003a
,
0x96c20000
,
0x14430225
,
0x24020001
,
0x97630038
,
0xa6240010
,
0x8f420144
,
0x3c031000
,
0xae220024
,
0xaf4301b8
,
0x0a00111b
,
0x96c20002
,
0x14430221
,
0x24020001
,
0xaf400048
,
0xaf400054
,
0xaf400040
,
0x8fbf0018
,
0x0000000d
,
0x00000000
,
0x24000295
,
0x8fbf0018
,
0x8fb10014
,
0x8f740040
,
0x8f650048
,
0x00b43023
,
0x04c10004
,
0x00000000
,
0x0000000d
,
0x8fb00010
,
0x03e00008
,
0x27bd0020
,
0x3084ffff
,
0x2c821389
,
0x1040000d
,
0x00000000
,
0x240001af
,
0x9742011a
,
0x3052ffff
,
0x12400004
,
0x8ed30004
,
0x00001021
,
0x3c030800
,
0x24635680
,
0x00042942
,
0x00052880
,
0x00a32821
,
0x02721021
,
0x0a001228
,
0x2451ffff
,
0x02608821
,
0x92d7000d
,
0xa7a00020
,
0x3086001f
,
0x8ca40000
,
0x24030001
,
0x00c31804
,
0x00832025
,
0x03e00008
,
0xa3a0001a
,
0xafa00028
,
0x9362003f
,
0x32e30004
,
0x1060003a
,
0x305000ff
,
0xaca40000
,
0x03e00008
,
0x24020091
,
0x3084ffff
,
0x2c821389
,
0x1040000e
,
0x24040012
,
0x16040006
,
0x24020001
,
0x3c040800
,
0x8c830028
,
0x24630001
,
0x00001021
,
0x3c030800
,
0x24635680
,
0x00042942
,
0x00052880
,
0x00a32821
,
0x0a001328
,
0xac830028
,
0x8f620044
,
0x16620010
,
0x27a60010
,
0x27450180
,
0x3086001f
,
0x24030001
,
0x8ca40000
,
0x00c31804
,
0x00031827
,
0x00832024
,
0x3c038000
,
0x2402001a
,
0xa7a20020
,
0x24020020
,
0xafb40028
,
0xa3b00022
,
0x03e00008
,
0xaca40000
,
0x03e00008
,
0x24020091
,
0x27bdffb0
,
0xafbf0048
,
0xa3a40023
,
0xa3a2001a
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x93620023
,
0x30420010
,
0x1440025b
,
0x24020001
,
0x93420116
,
0x93630005
,
0x0a00130d
,
0x00000000
,
0x8f620044
,
0x02621023
,
0x0440001a
,
0x02651023
,
0x34424000
,
0x30630001
,
0x14600005
,
0x03425821
,
0x0e001548
,
0x00000000
,
0x044100d9
,
0x24020001
,
0x3c020800
,
0x8c4300d8
,
0x10600004
,
0x24020001
,
0x0a0013a5
,
0x8fbf0048
,
0x93420112
,
0x8f430104
,
0x3c040020
,
0x34424000
,
0xa7a20020
,
0x0a00125e
,
0xafb40028
,
0x2402001a
,
0xa7a20020
,
0x24020020
,
0x00641824
,
0x10600012
,
0x03422821
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0xafb40028
,
0xa3b00022
,
0xa3a40023
,
0xa3a2001a
,
0x27a60010
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a00130d
,
0x00000000
,
0x0a001328
,
0x24020001
,
0x0293f023
,
0x1bc00016
,
0x025e102a
,
0x54400007
,
0x32f700fe
,
0x57d2000f
,
0x027e9821
,
0x32e20001
,
0x5440000c
,
0x027e9821
,
0x32f700fe
,
0x0240f021
,
0x3c040800
,
0x8c8300c8
,
0x00009021
,
0x24020001
,
0xa7a20020
,
0xafb40028
,
0x24630001
,
0x0a001282
,
0xac8300c8
,
0x025e1023
,
0x0a001282
,
0x3052ffff
,
0x0000f021
,
0x24a2ffff
,
0x02221823
,
0x1860001f
,
0x0072102a
,
0x54400019
,
0x00a08821
,
0x97a20020
,
0x3c040800
,
0x8c8300cc
,
0xafb40028
,
0x34420001
,
0x24630001
,
0xa7a20020
,
0x02741026
,
0x2c420001
,
0xac8300cc
,
0x2cc30001
,
0x00431024
,
0x1440000a
,
0x02401821
,
0x27a60010
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a00130d
,
0x00000000
,
0x00a08821
,
0x02431023
,
0x3052ffff
,
0x0a0012ae
,
0x32f700f6
,
0x02741023
,
0x18400008
,
0x97a20020
,
0x3c040800
,
0x8c8300d4
,
0xafb30028
,
0x34420400
,
0x24630001
,
0xa7a20020
,
0xac8300d4
,
0x32e20002
,
0x1040001c
,
0x32e20010
,
0x8f620044
,
0x1662000d
,
0x27a60010
,
0x97a20020
,
0x27450180
,
0x3c038000
,
0xafb40028
,
0x34420001
,
0xa7a20020
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a00130d
,
0x00000000
,
0x97a20020
,
0x27450180
,
0x3c038000
,
0xafb40028
,
0x34420001
,
0xa7a20020
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a00130d
,
0x00000000
,
0x54400003
,
0x8ed50008
,
0x0a001328
,
0x24020001
,
0x8f630054
,
0x26a2ffff
,
0x00431023
,
0x18400011
,
0x27a60010
,
0x97a20020
,
0x3c040800
,
0x8c8300d0
,
0x27450180
,
0x3c078000
,
0xafb40028
,
0x34420001
,
0x24630001
,
0xa7a20020
,
0xac8300d0
,
0x8f4201b8
,
0x00471024
,
0x1440fffd
,
0x00000000
,
0x0a00130d
,
0x00000000
,
0x32e20020
,
0x10400011
,
0x00000000
,
0x96c20012
,
0x0052102b
,
0x10400008
,
0x97a20020
,
0x96d20012
,
0x12400003
,
0x02721021
,
0x0a0012f2
,
0x2451ffff
,
0x02608821
,
0x97a20020
,
0x93a3001a
,
0x34420008
,
0x34630004
,
0xa7a20020
,
0xa3a3001a
,
0x8f420104
,
0x3c030080
,
0x00431024
,
0x10400037
,
0x3a03000a
,
0x0e001151
,
0x02c02021
,
0x24030002
,
0x1443002b
,
0x3c030800
,
0x27a60010
,
0x97a20020
,
0x27450180
,
0x3c038000
,
0xafb40028
,
0x34420001
,
0xa7a20020
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8cc30018
,
0x240240c1
,
0xa4a20008
,
0xaca30018
,
0x90c4000a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x94c20010
,
0xa4a20010
,
0x90c30012
,
0xa0a30012
,
0x90c20013
,
0xa0a20013
,
0x8cc30014
,
0xaca30014
,
0x8cc20024
,
0xaca20024
,
0x8cc30028
,
0xaca30028
,
0x8cc4002c
,
0x24020001
,
0x3c031000
,
0xaca4002c
,
0xaf4301b8
,
0xaf400044
,
0xaf400050
,
0x0a001436
,
0x8fbf006c
,
0x8c626c98
,
0x30420100
,
0x10400003
,
0x24636c98
,
0x8c620004
,
0xaf62017c
,
0x3a03000a
,
0x2c630001
,
0x3a02000c
,
0x2c420001
,
0x00621825
,
0x14600003
,
0x2402000e
,
0x56020030
,
0x00009021
,
0x52400008
,
0x96c4000e
,
0x12400004
,
0xa7b20040
,
0x02721021
,
0x0a001343
,
0x2451ffff
,
0x02608821
,
0x96c4000e
,
0x93630035
,
0x8f62004c
,
0x00642004
,
0x00952021
,
0x00821023
,
0x18400015
,
0x00000000
,
0x8f620018
,
0x02621023
,
0x1c400015
,
0x97a20020
,
0x8f620018
,
0x1662001c
,
0x00000000
,
0x8f62001c
,
0x02a21023
,
0x1c40000e
,
0x97a20020
,
0x8f62001c
,
0x16a20015
,
0x00000000
,
0x8f620058
,
0x00821023
,
0x18400011
,
0x97a20020
,
0x0a001364
,
0xafb10028
,
0x8f620058
,
0x00821023
,
0x0441000b
,
0x97a20020
,
0xafb10028
,
0xafb30034
,
0xafb50038
,
0xafa4003c
,
0x34420020
,
0x0a00136d
,
0xa7a20020
,
0x02809821
,
0x02608821
,
0x8f640058
,
0x8f62004c
,
0x02a21023
,
0x18400009
,
0x00000000
,
0x8f620054
,
0x02a21023
,
0x1c400005
,
0x97a20020
,
0xafb10028
,
0xafb50024
,
0x0a001385
,
0x34420040
,
0x9742011a
,
0x1440000c
,
0x24020014
,
0x8f620058
,
0x14820009
,
0x24020014
,
0x8f63004c
,
0x8f620054
,
0x10620004
,
0x97a20020
,
0xafb10028
,
0x34420080
,
0xa7a20020
,
0x24020014
,
0x1202000a
,
0x2a020015
,
0x10400005
,
0x2402000c
,
0x12020006
,
0x32e20001
,
0x0a0013c6
,
0x00000000
,
0x24020016
,
0x16020035
,
0x32e20001
,
0x8f620084
,
0x24420001
,
0x16a20031
,
0x32e20001
,
0x24020014
,
0x12020021
,
0x2a020015
,
0x10400005
,
0x2402000c
,
0x12020008
,
0x32e20001
,
0x0a0013c6
,
0x00000000
,
0x24020016
,
0x1202000c
,
0x32e20001
,
0x0a0013c6
,
0x00000000
,
0x97a30020
,
0x2402000e
,
0xafb10028
,
0xa3b00022
,
0xa3a20023
,
0xafb50024
,
0x34630054
,
0x0a0013c5
,
0xa7a30020
,
0x97a20020
,
0x93a4001a
,
0x24030010
,
0xafb10028
,
0xa3b00022
,
0xa3a30023
,
0xafb50024
,
0x3442005d
,
0x34840002
,
0xa7a20020
,
0x0a0013c5
,
0xa3a4001a
,
0x97a20020
,
0x24030012
,
0xa3a30023
,
0x93a3001a
,
0xafb10028
,
0xa3b00022
,
0xafb50024
,
0x3042fffe
,
0x3442005c
,
0x34630002
,
0xa7a20020
,
0xa3a3001a
,
0x32e20001
,
0x10400030
,
0x2402000c
,
0x12020013
,
0x2a02000d
,
0x10400005
,
0x2402000a
,
0x12020008
,
0x97a20020
,
0x0a0013f8
,
0x32e20009
,
0x2402000e
,
0x1202001b
,
0x32e20009
,
0x0a0013f9
,
0x0002102b
,
0x93a4001a
,
0x24030008
,
0xafb10028
,
0xa3b00022
,
0xa3a30023
,
0x0a0013f4
,
0x34420013
,
0x97a30020
,
0x30620004
,
0x14400005
,
0x93a2001a
,
0x3463001b
,
0xa7a30020
,
0x0a0013e7
,
0x24030016
,
0x3463001b
,
0xa7a30020
,
0x24030010
,
0xafb10028
,
0xa3b00022
,
0xa3a30023
,
0x34420002
,
0x0a0013f7
,
0xa3a2001a
,
0x97a20020
,
0x93a4001a
,
0x24030010
,
0xafb10028
,
0xa3b00022
,
0xa3a30023
,
0x3442001b
,
0x34840002
,
0xa7a20020
,
0xa3a4001a
,
0x32e20009
,
0x0002102b
,
0x00021023
,
0x30420007
,
0x12400015
,
0x34450003
,
0x8f820018
,
0x24030800
,
0x27440180
,
0x24420001
,
0xaf820018
,
0x24020004
,
0xaf4301b8
,
0xa4850008
,
0xa082000b
,
0x93430120
,
0x00003021
,
0x3c021000
,
0xa492000e
,
0xac950024
,
0xac930028
,
0x007e1821
,
0xa483000c
,
0xaf4201b8
,
0x0a001413
,
0x97a20020
,
0x24060001
,
0x97a20020
,
0x10400020
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8fa30028
,
0x240240c1
,
0xa4a20008
,
0xaca30018
,
0x93a4001a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x97a20020
,
0xa4a20010
,
0x93a30022
,
0xa0a30012
,
0x93a20023
,
0xa0a20013
,
0x8fa30024
,
0xaca30014
,
0x8fa20034
,
0xaca20024
,
0x8fa30038
,
0xaca30028
,
0x8fa2003c
,
0x3c031000
,
0xaca2002c
,
0xaf4301b8
,
0x00c01021
,
0x8fbf006c
,
0x8fbe0068
,
0x8fb70064
,
0x8fb60060
,
0x8fb5005c
,
0x8fb40058
,
0x8fb30054
,
0x8fb20050
,
0x8fb1004c
,
0x8fb00048
,
0x03e00008
,
0x27bd0070
,
0x8f470140
,
0x8f460148
,
0x3c028000
,
0x00c24024
,
0x00062c02
,
0x30a300ff
,
0x24020019
,
0x106200e7
,
0x27440180
,
0x2862001a
,
0x1040001f
,
0x24020008
,
0x106200be
,
0x28620009
,
0x1040000d
,
0x24020001
,
0x10620046
,
0x28620002
,
0x50400005
,
0x24020006
,
0x1060002e
,
0x00a01821
,
0x0a00155e
,
0x00000000
,
0x1062005b
,
0x00a01821
,
0x0a00155e
,
0x00000000
,
0x2402000b
,
0x10620084
,
0x2862000c
,
0x10400005
,
0x24020009
,
0x106200bc
,
0x00061c02
,
0x0a00155e
,
0x00000000
,
0x2402000e
,
0x106200b7
,
0x00061c02
,
0x0a00155e
,
0x00000000
,
0x28620021
,
0x10400009
,
0x2862001f
,
0x104000c1
,
0x2402001b
,
0x106200bf
,
0x2402001c
,
0x1062009a
,
0x00061c02
,
0x0a00155e
,
0x00000000
,
0x240200c2
,
0x106200ca
,
0x286200c3
,
0x10400005
,
0x24020080
,
0x1062005a
,
0x00a01821
,
0x0a00155e
,
0x00000000
,
0x240200c9
,
0x106200cd
,
0x30c5ffff
,
0x0a00155e
,
0x00000000
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xac870000
,
0xac800004
,
0xa082000a
,
0xa083000b
,
0xa4860010
,
0x8f430144
,
0x3c021000
,
0xac800028
,
0xac830024
,
0x3c036000
,
0xaf4201b8
,
0x03e00008
,
0xac600808
,
0x11000009
,
0x00a01821
,
0x3c020800
,
0x24030002
,
0xa0436c88
,
0x24426c88
,
0xac470008
,
0x8f430144
,
0x03e00008
,
0xac430004
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac800000
,
0xac870004
,
0xa4830008
,
0xa082000a
,
0xa082000b
,
0xa4860010
,
0xac800024
,
0x8f420144
,
0x3c031000
,
0xac820028
,
0x3c026000
,
0xaf4301b8
,
0x03e00008
,
0xac400808
,
0x3c080800
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x00000000
,
0xac870000
,
0x91026c88
,
0x00002821
,
0x10400002
,
0x25076c88
,
0x8ce50008
,
0xac850004
,
0xa4830008
,
0x91036c88
,
0x24020002
,
0xa082000b
,
0xa4860010
,
0x34630001
,
0xa083000a
,
0x8f420144
,
0xac820024
,
0x91036c88
,
0x10600002
,
0x00001021
,
0x8ce20004
,
0xac820028
,
0x3c021000
,
0xaf4201b8
,
0x3c026000
,
0xa1006c88
,
0x03e00008
,
0xac400808
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xa082000b
,
0xa4830008
,
0xa4860010
,
0x8f420144
,
0x3c031000
,
0xa4820012
,
0x03e00008
,
0xaf4301b8
,
0x30c2ffff
,
0x14400028
,
0x00061c02
,
0x93620005
,
0x30420004
,
0x14400020
,
0x3c029000
,
0x34420001
,
0x00e21025
,
0xaf420020
,
0x3c038000
,
0x8f420020
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x93620005
,
0x3c038000
,
0x34630001
,
0x00e31825
,
0x34420004
,
0xa3620005
,
0xaf430020
,
0x93620005
,
0x30420004
,
0x14400003
,
0x3c038000
,
0x0000000d
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020005
,
0x3c031000
,
0xac870000
,
0xa082000b
,
0xaf4301b8
,
0x0a00150d
,
0x00061c02
,
0x0000000d
,
0x03e00008
,
0x00000000
,
0x00061c02
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xac870000
,
0xac800004
,
0xa082000a
,
0xa083000b
,
0xa4860010
,
0x8f430144
,
0x3c021000
,
0xac800028
,
0xac830024
,
0x03e00008
,
0xaf4201b8
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac800000
,
0xac870004
,
0xa4830008
,
0xa082000a
,
0xa082000b
,
0xa4860010
,
0xac800024
,
0x8f420144
,
0x3c031000
,
0xac820028
,
0x03e00008
,
0xaf4301b8
,
0x00061c02
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xa082000a
,
0x3c021000
,
0xac870000
,
0xac800004
,
0xa083000b
,
0xa4860010
,
0xac800024
,
0xac800028
,
0x03e00008
,
0xaf4201b8
,
0x00a01821
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac870000
,
0xac800004
,
0xa4830008
,
0xa080000a
,
0x0a001518
,
0xa082000b
,
0x8f440144
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0x240340c9
,
0xaf470180
,
0xa342018b
,
0x3c021000
,
0xa7430188
,
0xaf4401a4
,
0xaf4501a8
,
0xaf4001ac
,
0x03e00008
,
0xaf4201b8
,
0x0000000d
,
0x03e00008
,
0x00000000
,
0x03e00008
,
0x00000000
,
0x8f420100
,
0x3042003e
,
0x14400011
,
0x24020001
,
0xaf400048
,
0x8f420100
,
0x304207c0
,
0x10400005
,
0x00000000
,
0xaf40004c
,
0xaf400050
,
0x03e00008
,
0x24020001
,
0xaf400054
,
0xaf400040
,
0x8f420100
,
0x30423800
,
0x54400001
,
0xaf400044
,
0x24020001
,
0x03e00008
,
0x00000000
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0x240340c9
,
0xaf440180
,
0xa342018b
,
0x3c021000
,
0xa7430188
,
0xaf4501a4
,
0xaf4601a8
,
0xaf4701ac
,
0x03e00008
,
0xaf4201b8
,
0x3c029000
,
0x34420001
,
0x00822025
,
0xaf440020
,
0x3c038000
,
0x8f420020
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x03e00008
,
0x00000000
,
0x3c028000
,
0x34420001
,
0x00822025
,
0x03e00008
,
0xaf440020
,
0x308600ff
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8f640040
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8f640040
,
0x24030008
,
0x240240c1
,
0xa4a20008
,
0x24020002
,
0xa0a2000b
,
0x3c021000
,
0x24030008
,
0x240240c1
,
0xa4a20008
,
0x24020002
,
0xa0a2000b
,
0x3c021000
,
0x0a001181
,
0xa0a3000a
,
0x8f420104
,
0x3c030040
,
0x00431024
,
0x1040001d
,
0xa0a6000a
,
0xa4a30010
,
0xa0a00012
,
0xa0a00013
,
0xaca00014
,
0xaca00024
,
0x3c038000
,
0x27450180
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0xaca00028
,
0xaca0002c
,
0xaca40018
,
0x03e00008
,
0xaf4201b8
,
0x24020001
,
0x8f420128
,
0xaca20000
,
0x8f640040
,
0x24030010
,
0x240240c1
,
0xa4a20008
,
0xacc40000
,
0x03e00008
,
0xa4e50000
,
0x24020001
,
0xaf400044
,
0x03e00008
,
0x24020002
,
0xa0a3000a
,
0x24030008
,
0xa0a2000b
,
0x3c021000
,
0xa4a30010
,
0xaf400050
,
0x00803021
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0xa0a00012
,
0xa0a00013
,
0xaca00014
,
0xaca00024
,
0xaca00028
,
0xaca0002c
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8cc30018
,
0x240240c1
,
0xaca40018
,
0x0e001548
,
0xaf4201b8
,
0x0a0013a5
,
0x8fbf0048
,
0x8f820000
,
0xa4a20008
,
0xaca30018
,
0x90c4000a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x10400016
,
0x00000000
,
0x8f420104
,
0x3c030001
,
0x00431024
,
0x10400011
,
0x94c20010
,
0xa4a20010
,
0x90c30012
,
0xa0a30012
,
0x90c20013
,
0xa0a20013
,
0x00000000
,
0x8ca3000c
,
0x8f620030
,
0x1462020c
,
0x24020001
,
0x8ca30010
,
0x8cc30014
,
0xaca30014
,
0x8cc20024
,
0xaca20024
,
0x8cc30028
,
0xaca30028
,
0x8f62002c
,
0x14620208
,
0x24020001
,
0x9763003a
,
0x95620000
,
0x14430204
,
0x8cc2002c
,
0x3c031000
,
0xaca2002c
,
0x24020001
,
0xaf4301b8
,
0xaf400044
,
0x24020001
,
0x97630038
,
0x95620002
,
0x14430200
,
0x24020001
,
0xaf400048
,
0x03e00008
,
0xaf400050
,
0x27bdffe8
,
0xafbf0010
,
0x0e001047
,
0x00000000
,
0xaf400054
,
0xaf400040
,
0x8f690040
,
0x8f6a0048
,
0x01497023
,
0x05c10004
,
0x00002021
,
0x0e000c78
,
0xaf400180
,
0x8fbf0010
,
0x03e00008
,
0x27bd0018
,
0x00000000
,
0x0000000d
,
0x00000000
,
0x24000169
,
0x9742011a
,
0x3046ffff
,
0x8f460148
,
0x27450180
,
0x3c038000
,
0x00061402
,
0x304700ff
,
0x8f4201b8
,
0x10c00004
,
0x8d680004
,
0x01061021
,
0x0a0011b8
,
0x2445ffff
,
0x01002821
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f440140
,
0x00061202
,
0x304200ff
,
0x916c000d
,
0xa7a00020
,
0xa3a0001a
,
0xafa00028
,
0x9362003f
,
0x31830004
,
0x00061c02
,
0xaca20004
,
0x24020002
,
0xa4a30008
,
0x30c300ff
,
0xa0a2000b
,
0x1060003a
,
0x304700ff
,
0x24040012
,
0x14e40006
,
0x24020001
,
0x3c040800
,
0xaca30024
,
0x10e0000a
,
0xaca40000
,
0x28e20004
,
0x14400005
,
0x24020001
,
0x8c830028
,
0x24630001
,
0x0a00128d
,
0xac830028
,
0x8f620044
,
0x15020010
,
0x24020005
,
0x54e20005
,
0xa0a0000a
,
0x24020001
,
0x0a001609
,
0xa0a2000a
,
0x27a60010
,
0x27450180
,
0x3c038000
,
0x2402001a
,
0xa7a20020
,
0x24020020
,
0xa0a0000a
,
0x3c021000
,
0x03e00008
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0xafa90028
,
0xa3a70022
,
0xa3a40023
,
0xa3a2001a
,
0x8f4201b8
,
0x00431024
,
0x10c00007
,
0x00000000
,
0x8ca20000
,
0x24c6ffff
,
0x24a50004
,
0xac820000
,
0x1440fffd
,
0x00000000
,
0x0a001272
,
0x00000000
,
0x8f620044
,
0x01021023
,
0x14c0fffb
,
0x24840004
,
0x03e00008
,
0x00000000
,
0x0a00161f
,
0x00a01021
,
0x0440001a
,
0x010a1023
,
0x044100ae
,
0x24020001
,
0x3c020800
,
0x8c4300d8
,
0xac860000
,
0x00000000
,
0x00000000
,
0x24840004
,
0x00a01021
,
0x1440fffa
,
0x10600004
,
0x24020001
,
0xa7a20020
,
0x0a0011ee
,
0xafa90028
,
0x2402001a
,
0x24a5ffff
,
0x03e00008
,
0x00000000
,
0x00000000
};
0xa7a20020
,
0x24020020
,
0xafa90028
,
0xa3a70022
,
0xa3a40023
,
0xa3a2001a
,
0x27a60010
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a001272
,
0x00000000
,
0x0a00128d
,
0x24020001
,
0x01286823
,
0x19a00016
,
0x00cd102a
,
0x54400007
,
0x318c00fe
,
0x55a6000f
,
0x010d4021
,
0x31820001
,
0x5440000c
,
0x010d4021
,
0x318c00fe
,
0x00c06821
,
0x3c040800
,
0x8c8300c8
,
0x00003021
,
0x24020001
,
0xa7a20020
,
0xafa90028
,
0x24630001
,
0x0a001212
,
0xac8300c8
,
0x00cd1023
,
0x0a001212
,
0x3046ffff
,
0x00006821
,
0x2542ffff
,
0x00a21823
,
0x1860001e
,
0x0066102a
,
0x14400018
,
0x01402821
,
0x97a20020
,
0x3c040800
,
0x8c8300cc
,
0xafa90028
,
0x34420001
,
0x24630001
,
0xa7a20020
,
0x01091026
,
0x2c420001
,
0xac8300cc
,
0x2dc30001
,
0x00431024
,
0x1440000a
,
0x00c01821
,
0x27a60010
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a001272
,
0x00000000
,
0x00c31023
,
0x3046ffff
,
0x0a00123d
,
0x318c00f6
,
0x01091023
,
0x18400008
,
0x97a20020
,
0x3c040800
,
0x8c8300d4
,
0xafa80028
,
0x34420400
,
0x24630001
,
0xa7a20020
,
0xac8300d4
,
0x31820002
,
0x1040001c
,
0x31820010
,
0x8f620044
,
0x1502000d
,
0x27a60010
,
0x97a20020
,
0x27450180
,
0x3c038000
,
0xafa90028
,
0x34420001
,
0xa7a20020
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a001272
,
0x00000000
,
0x97a20020
,
0x27450180
,
0x3c038000
,
0xafa90028
,
0x34420001
,
0xa7a20020
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x0a001272
,
0x00000000
,
0x54400003
,
0x8d6a0008
,
0x0a00128d
,
0x24020001
,
0x8f630054
,
0x2542ffff
,
0x00431023
,
0x1840002e
,
0x97a20020
,
0x27a60010
,
0x3c040800
,
0x8c8300d0
,
0x27450180
,
0x3c078000
,
0xafa90028
,
0x34420001
,
0x24630001
,
0xa7a20020
,
0xac8300d0
,
0x8f4201b8
,
0x00471024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8cc30018
,
0x240240c1
,
0xa4a20008
,
0xaca30018
,
0x90c4000a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x94c20010
,
0xa4a20010
,
0x90c30012
,
0xa0a30012
,
0x90c20013
,
0xa0a20013
,
0x8cc30014
,
0xaca30014
,
0x8cc20024
,
0xaca20024
,
0x8cc30028
,
0xaca30028
,
0x8cc4002c
,
0x24020001
,
0x3c031000
,
0xaca4002c
,
0xaf4301b8
,
0xaf400044
,
0xaf400050
,
0x0a0013a5
,
0x8fbf0048
,
0x31820020
,
0x10400011
,
0x00000000
,
0x95620012
,
0x0046102b
,
0x10400008
,
0x97a20020
,
0x95660012
,
0x10c00003
,
0x01061021
,
0x0a00129e
,
0x2445ffff
,
0x01002821
,
0x97a20020
,
0x93a3001a
,
0x34420008
,
0x34630004
,
0xa7a20020
,
0xa3a3001a
,
0x8f420104
,
0x38e3000a
,
0x2c630001
,
0x38e2000c
,
0x2c420001
,
0x00621825
,
0x14600003
,
0x2402000e
,
0x54e2002a
,
0x00003021
,
0x50c00008
,
0x9564000e
,
0x10c00004
,
0xa7a60040
,
0x01061021
,
0x0a0012b6
,
0x2445ffff
,
0x01002821
,
0x9564000e
,
0x93630035
,
0x8f62004c
,
0x00642004
,
0x008a2021
,
0x00821023
,
0x1840001d
,
0x00000000
,
0x8f620018
,
0x01021023
,
0x1c40000f
,
0x97a20020
,
0x8f620018
,
0x15020016
,
0x00000000
,
0x8f62001c
,
0x01421023
,
0x1c400008
,
0x97a20020
,
0x8f62001c
,
0x1542000f
,
0x00000000
,
0x8f620058
,
0x00821023
,
0x1840000b
,
0x97a20020
,
0xafa50028
,
0xafa80034
,
0xafaa0038
,
0xafa4003c
,
0x34420020
,
0x0a0012da
,
0xa7a20020
,
0x01204021
,
0x01002821
,
0x8f640058
,
0x8f62004c
,
0x01421023
,
0x18400009
,
0x00000000
,
0x8f620054
,
0x01421023
,
0x1c400005
,
0x97a20020
,
0xafa50028
,
0xafaa0024
,
0x0a0012f2
,
0x34420040
,
0x9742011a
,
0x1440000c
,
0x24020014
,
0x8f620058
,
0x14820009
,
0x24020014
,
0x8f63004c
,
0x8f620054
,
0x10620004
,
0x97a20020
,
0xafa50028
,
0x34420080
,
0xa7a20020
,
0x24020014
,
0x10e2000a
,
0x28e20015
,
0x10400005
,
0x2402000c
,
0x10e20006
,
0x31820001
,
0x0a001333
,
0x00000000
,
0x24020016
,
0x14e20035
,
0x31820001
,
0x8f620084
,
0x24420001
,
0x15420031
,
0x31820001
,
0x24020014
,
0x10e20021
,
0x28e20015
,
0x10400005
,
0x2402000c
,
0x10e20008
,
0x31820001
,
0x0a001333
,
0x00000000
,
0x24020016
,
0x10e2000c
,
0x31820001
,
0x0a001333
,
0x00000000
,
0x97a30020
,
0x2402000e
,
0xafa50028
,
0xa3a70022
,
0xa3a20023
,
0xafaa0024
,
0x34630054
,
0x0a001332
,
0xa7a30020
,
0x97a20020
,
0x93a4001a
,
0x24030010
,
0xafa50028
,
0xa3a70022
,
0xa3a30023
,
0xafaa0024
,
0x3442005d
,
0x34840002
,
0xa7a20020
,
0x0a001332
,
0xa3a4001a
,
0x97a20020
,
0x24030012
,
0xa3a30023
,
0x93a3001a
,
0xafa50028
,
0xa3a70022
,
0xafaa0024
,
0x3042fffe
,
0x3442005c
,
0x34630002
,
0xa7a20020
,
0xa3a3001a
,
0x31820001
,
0x10400030
,
0x2402000c
,
0x10e20013
,
0x28e2000d
,
0x10400005
,
0x2402000a
,
0x10e20008
,
0x97a20020
,
0x0a001365
,
0x31820009
,
0x2402000e
,
0x10e2001b
,
0x31820009
,
0x0a001366
,
0x0002102b
,
0x93a4001a
,
0x24030008
,
0xafa50028
,
0xa3a70022
,
0xa3a30023
,
0x0a001361
,
0x34420013
,
0x97a30020
,
0x30620004
,
0x14400005
,
0x93a2001a
,
0x3463001b
,
0xa7a30020
,
0x0a001354
,
0x24030016
,
0x3463001b
,
0xa7a30020
,
0x24030010
,
0xafa50028
,
0xa3a70022
,
0xa3a30023
,
0x34420002
,
0x0a001364
,
0xa3a2001a
,
0x97a20020
,
0x93a4001a
,
0x24030010
,
0xafa50028
,
0xa3a70022
,
0xa3a30023
,
0x3442001b
,
0x34840002
,
0xa7a20020
,
0xa3a4001a
,
0x31820009
,
0x0002102b
,
0x00021023
,
0x30420007
,
0x10c00017
,
0x34440003
,
0x8f820014
,
0x24030800
,
0x27450180
,
0x24420001
,
0xaf820014
,
0x24020004
,
0xaf4301b8
,
0xa4a40008
,
0xa0a2000b
,
0x93440120
,
0x3c031000
,
0xa4a6000e
,
0xacaa0024
,
0xaca80028
,
0x008d2021
,
0xa4a4000c
,
0xaf4301b8
,
0x97a20020
,
0x00003021
,
0x3042ffbf
,
0x0a001381
,
0xa7a20020
,
0x24060001
,
0x97a20020
,
0x10400020
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8fa30028
,
0x240240c1
,
0xa4a20008
,
0xaca30018
,
0x93a4001a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x97a20020
,
0xa4a20010
,
0x93a30022
,
0xa0a30012
,
0x93a20023
,
0xa0a20013
,
0x8fa30024
,
0xaca30014
,
0x8fa20034
,
0xaca20024
,
0x8fa30038
,
0xaca30028
,
0x8fa2003c
,
0x3c031000
,
0xaca2002c
,
0xaf4301b8
,
0x00c01021
,
0x8fbf0048
,
0x03e00008
,
0x27bd0050
,
0x8f470140
,
0x8f460148
,
0x3c028000
,
0x00c24024
,
0x00062c02
,
0x30a300ff
,
0x24020019
,
0x106200e7
,
0x27440180
,
0x2862001a
,
0x1040001f
,
0x24020008
,
0x106200be
,
0x28620009
,
0x1040000d
,
0x24020001
,
0x10620046
,
0x28620002
,
0x50400005
,
0x24020006
,
0x1060002e
,
0x00a01821
,
0x0a0014c4
,
0x00000000
,
0x1062005b
,
0x00a01821
,
0x0a0014c4
,
0x00000000
,
0x2402000b
,
0x10620084
,
0x2862000c
,
0x10400005
,
0x24020009
,
0x106200bc
,
0x00061c02
,
0x0a0014c4
,
0x00000000
,
0x2402000e
,
0x106200b7
,
0x00061c02
,
0x0a0014c4
,
0x00000000
,
0x28620021
,
0x10400009
,
0x2862001f
,
0x104000c1
,
0x2402001b
,
0x106200bf
,
0x2402001c
,
0x1062009a
,
0x00061c02
,
0x0a0014c4
,
0x00000000
,
0x240200c2
,
0x106200ca
,
0x286200c3
,
0x10400005
,
0x24020080
,
0x1062005a
,
0x00a01821
,
0x0a0014c4
,
0x00000000
,
0x240200c9
,
0x106200cd
,
0x30c5ffff
,
0x0a0014c4
,
0x00000000
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xac870000
,
0xac800004
,
0xa082000a
,
0xa083000b
,
0xa4860010
,
0x8f430144
,
0x3c021000
,
0xac800028
,
0xac830024
,
0x3c036000
,
0xaf4201b8
,
0x03e00008
,
0xac600808
,
0x11000009
,
0x00a01821
,
0x3c020800
,
0x24030002
,
0xa0436a08
,
0x24426a08
,
0xac470008
,
0x8f430144
,
0x03e00008
,
0xac430004
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac800000
,
0xac870004
,
0xa4830008
,
0xa082000a
,
0xa082000b
,
0xa4860010
,
0xac800024
,
0x8f420144
,
0x3c031000
,
0xac820028
,
0x3c026000
,
0xaf4301b8
,
0x03e00008
,
0xac400808
,
0x3c080800
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x00000000
,
0xac870000
,
0x91026a08
,
0x00002821
,
0x10400002
,
0x25076a08
,
0x8ce50008
,
0xac850004
,
0xa4830008
,
0x91036a08
,
0x24020002
,
0xa082000b
,
0xa4860010
,
0x34630001
,
0xa083000a
,
0x8f420144
,
0xac820024
,
0x91036a08
,
0x10600002
,
0x00001021
,
0x8ce20004
,
0xac820028
,
0x3c021000
,
0xaf4201b8
,
0x3c026000
,
0xa1006a08
,
0x03e00008
,
0xac400808
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xa082000b
,
0xa4830008
,
0xa4860010
,
0x8f420144
,
0x3c031000
,
0xa4820012
,
0x03e00008
,
0xaf4301b8
,
0x30c2ffff
,
0x14400028
,
0x00061c02
,
0x93620005
,
0x30420004
,
0x14400020
,
0x3c029000
,
0x34420001
,
0x00e21025
,
0xaf420020
,
0x3c038000
,
0x8f420020
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x93620005
,
0x3c038000
,
0x34630001
,
0x00e31825
,
0x34420004
,
0xa3620005
,
0xaf430020
,
0x93620005
,
0x30420004
,
0x14400003
,
0x3c038000
,
0x0000000d
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020005
,
0x3c031000
,
0xac870000
,
0xa082000b
,
0xaf4301b8
,
0x0a001473
,
0x00061c02
,
0x0000000d
,
0x03e00008
,
0x00000000
,
0x00061c02
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xac870000
,
0xac800004
,
0xa082000a
,
0xa083000b
,
0xa4860010
,
0x8f430144
,
0x3c021000
,
0xac800028
,
0xac830024
,
0x03e00008
,
0xaf4201b8
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac800000
,
0xac870004
,
0xa4830008
,
0xa082000a
,
0xa082000b
,
0xa4860010
,
0xac800024
,
0x8f420144
,
0x3c031000
,
0xac820028
,
0x03e00008
,
0xaf4301b8
,
0x00061c02
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020001
,
0xa4830008
,
0x24030002
,
0xa082000a
,
0x3c021000
,
0xac870000
,
0xac800004
,
0xa083000b
,
0xa4860010
,
0xac800024
,
0xac800028
,
0x03e00008
,
0xaf4201b8
,
0x00a01821
,
0x3c058000
,
0x8f4201b8
,
0x00451024
,
0x1440fffd
,
0x24020002
,
0xac870000
,
0xac800004
,
0xa4830008
,
0xa080000a
,
0x0a00147e
,
0xa082000b
,
0x8f440144
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0x240340c9
,
0xaf470180
,
0xa342018b
,
0x3c021000
,
0xa7430188
,
0xaf4401a4
,
0xaf4501a8
,
0xaf4001ac
,
0x03e00008
,
0xaf4201b8
,
0x0000000d
,
0x03e00008
,
0x00000000
,
0x03e00008
,
0x00000000
,
0x8f420100
,
0x3042003e
,
0x14400011
,
0x24020001
,
0xaf400048
,
0x8f420100
,
0x304207c0
,
0x10400005
,
0x00000000
,
0xaf40004c
,
0xaf400050
,
0x03e00008
,
0x24020001
,
0xaf400054
,
0xaf400040
,
0x8f420100
,
0x30423800
,
0x54400001
,
0xaf400044
,
0x24020001
,
0x03e00008
,
0x00000000
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x24020002
,
0x240340c9
,
0xaf440180
,
0xa342018b
,
0x3c021000
,
0xa7430188
,
0xaf4501a4
,
0xaf4601a8
,
0xaf4701ac
,
0x03e00008
,
0xaf4201b8
,
0x3c029000
,
0x34420001
,
0x00822025
,
0xaf440020
,
0x3c038000
,
0x8f420020
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x03e00008
,
0x00000000
,
0x3c028000
,
0x34420001
,
0x00822025
,
0x03e00008
,
0xaf440020
,
0x308600ff
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8f640040
,
0x24030008
,
0x240240c1
,
0xa4a20008
,
0x24020002
,
0xa0a2000b
,
0x3c021000
,
0xa0a6000a
,
0xa4a30010
,
0xa0a00012
,
0xa0a00013
,
0xaca00014
,
0xaca00024
,
0xaca00028
,
0xaca0002c
,
0xaca40018
,
0x03e00008
,
0xaf4201b8
,
0x24020001
,
0xacc40000
,
0x03e00008
,
0xa4e50000
,
0x03e00008
,
0x24020001
,
0x24020001
,
0xaf400044
,
0x03e00008
,
0xaf400050
,
0x00803021
,
0x27450180
,
0x3c038000
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f420128
,
0xaca20000
,
0x8cc30018
,
0x240240c1
,
0xa4a20008
,
0xaca30018
,
0x90c4000a
,
0x24020002
,
0xa0a2000b
,
0xa0a4000a
,
0x94c20010
,
0xa4a20010
,
0x90c30012
,
0xa0a30012
,
0x90c20013
,
0xa0a20013
,
0x8cc30014
,
0xaca30014
,
0x8cc20024
,
0xaca20024
,
0x8cc30028
,
0xaca30028
,
0x8cc2002c
,
0x3c031000
,
0xaca2002c
,
0x24020001
,
0xaf4301b8
,
0xaf400044
,
0x03e00008
,
0xaf400050
,
0x27bdffe8
,
0xafbf0010
,
0x0e001032
,
0x00000000
,
0x00002021
,
0x0e000c99
,
0xaf400180
,
0x8fbf0010
,
0x03e00008
,
0x27bd0018
,
0x8f460148
,
0x27450180
,
0x3c038000
,
0x00061402
,
0x304700ff
,
0x8f4201b8
,
0x00431024
,
0x1440fffd
,
0x00000000
,
0x8f440140
,
0x00061202
,
0x304200ff
,
0x00061c02
,
0xaca20004
,
0x24020002
,
0xa4a30008
,
0x30c300ff
,
0xa0a2000b
,
0xaca30024
,
0x10e0000a
,
0xaca40000
,
0x28e20004
,
0x14400005
,
0x24020001
,
0x24020005
,
0x54e20005
,
0xa0a0000a
,
0x24020001
,
0x0a001571
,
0xa0a2000a
,
0xa0a0000a
,
0x3c021000
,
0x03e00008
,
0xaf4201b8
,
0x03e00008
,
0x00001021
,
0x10c00007
,
0x00000000
,
0x8ca20000
,
0x24c6ffff
,
0x24a50004
,
0xac820000
,
0x14c0fffb
,
0x24840004
,
0x03e00008
,
0x00000000
,
0x0a001587
,
0x00a01021
,
0xac860000
,
0x00000000
,
0x00000000
,
0x24840004
,
0x00a01021
,
0x1440fffa
,
0x24a5ffff
,
0x03e00008
,
0x00000000
,
0x00000000
};
static
u32
bnx2_RXP_b06FwData
[(
0x0
/
4
)
+
1
]
=
{
0x0
};
static
u32
bnx2_RXP_b06FwData
[(
0x0
/
4
)
+
1
]
=
{
0x0
};
static
u32
bnx2_RXP_b06FwRodata
[(
0x0
/
4
)
+
1
]
=
{
0x0
};
static
u32
bnx2_RXP_b06FwRodata
[(
0x28
/
4
)
+
1
]
=
{
static
u32
bnx2_RXP_b06FwBss
[(
0x1394
/
4
)
+
1
]
=
{
0x0
};
0x0800468c
,
0x0800458c
,
0x08004630
,
0x08004648
,
0x08004660
,
0x08004680
,
static
u32
bnx2_RXP_b06FwSbss
[(
0x18
/
4
)
+
1
]
=
{
0x0
};
0x0800468c
,
0x0800468c
,
0x08004594
,
0x00000000
,
0x00000000
};
static
u32
bnx2_RXP_b06FwBss
[(
0x13a4
/
4
)
+
1
]
=
{
0x0
};
static
u32
bnx2_RXP_b06FwSbss
[(
0x1c
/
4
)
+
1
]
=
{
0x0
};
static
u32
bnx2_rv2p_proc1
[]
=
{
static
u32
bnx2_rv2p_proc1
[]
=
{
0x00000008
,
0xac000001
,
0x0000000c
,
0x2f800001
,
0x00000010
,
0x213f0004
,
0x00000008
,
0xac000001
,
0x0000000c
,
0x2f800001
,
0x00000010
,
0x213f0004
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment