use stored MAC address in pingd
This commit is contained in:
Submodule rocket-chip updated: 6d0821f19a...cf75c2049d
Submodule testchipip updated: 3dfe32a3b8...db0bd0fe6e
@@ -4,6 +4,7 @@
|
|||||||
#define SIMPLENIC_SEND_COMP (SIMPLENIC_BASE + 16)
|
#define SIMPLENIC_SEND_COMP (SIMPLENIC_BASE + 16)
|
||||||
#define SIMPLENIC_RECV_COMP (SIMPLENIC_BASE + 18)
|
#define SIMPLENIC_RECV_COMP (SIMPLENIC_BASE + 18)
|
||||||
#define SIMPLENIC_COUNTS (SIMPLENIC_BASE + 20)
|
#define SIMPLENIC_COUNTS (SIMPLENIC_BASE + 20)
|
||||||
|
#define SIMPLENIC_MACADDR (SIMPLENIC_BASE + 24)
|
||||||
|
|
||||||
static inline int nic_send_req_avail(void)
|
static inline int nic_send_req_avail(void)
|
||||||
{
|
{
|
||||||
@@ -52,3 +53,8 @@ static int nic_recv(void *dest)
|
|||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline uint64_t nic_macaddr(void)
|
||||||
|
{
|
||||||
|
return reg_read64(SIMPLENIC_MACADDR);
|
||||||
|
}
|
||||||
|
|||||||
@@ -230,11 +230,21 @@ static int process_packet(void *buf, uint8_t *mac)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t macaddr[MAC_ADDR_SIZE] = {0xaa, 0xbc, 0xde, 0xff, 0x25, 0x37};
|
|
||||||
uint64_t buffer[ETH_MAX_WORDS];
|
uint64_t buffer[ETH_MAX_WORDS];
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
|
uint64_t macaddr_long;
|
||||||
|
uint8_t *macaddr;
|
||||||
|
|
||||||
|
macaddr_long = nic_macaddr();
|
||||||
|
macaddr = (uint8_t *) &macaddr_long;
|
||||||
|
|
||||||
|
printf("macaddr - %02x", macaddr[0]);
|
||||||
|
for (int i = 1; i < MAC_ADDR_SIZE; i++)
|
||||||
|
printf(":%02x", macaddr[i]);
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (process_packet(buffer, macaddr))
|
if (process_packet(buffer, macaddr))
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user