mirror of https://github.com/xemu-project/xemu.git
tests/qtest/e1000e-test: Use e1000_regs.h
The register definitions in tests/qtest/e1000e-test.c had names different from hw/net/e1000_regs.h, which made it hard to understand what test codes corresponds to the implementation. Use hw/net/e1000_regs.h from tests/qtest/libqos/e1000e.c to remove these duplications. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-Id: <20221103095416.110162-1-akihiko.odaki@daynix.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
ff4f45811f
commit
dfa644b231
|
@ -33,34 +33,11 @@
|
||||||
#include "qemu/bitops.h"
|
#include "qemu/bitops.h"
|
||||||
#include "libqos/libqos-malloc.h"
|
#include "libqos/libqos-malloc.h"
|
||||||
#include "libqos/e1000e.h"
|
#include "libqos/e1000e.h"
|
||||||
|
#include "hw/net/e1000_regs.h"
|
||||||
|
|
||||||
static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *alloc)
|
static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *alloc)
|
||||||
{
|
{
|
||||||
struct {
|
struct e1000_tx_desc descr;
|
||||||
uint64_t buffer_addr;
|
|
||||||
union {
|
|
||||||
uint32_t data;
|
|
||||||
struct {
|
|
||||||
uint16_t length;
|
|
||||||
uint8_t cso;
|
|
||||||
uint8_t cmd;
|
|
||||||
} flags;
|
|
||||||
} lower;
|
|
||||||
union {
|
|
||||||
uint32_t data;
|
|
||||||
struct {
|
|
||||||
uint8_t status;
|
|
||||||
uint8_t css;
|
|
||||||
uint16_t special;
|
|
||||||
} fields;
|
|
||||||
} upper;
|
|
||||||
} descr;
|
|
||||||
|
|
||||||
static const uint32_t dtyp_data = BIT(20);
|
|
||||||
static const uint32_t dtyp_ext = BIT(29);
|
|
||||||
static const uint32_t dcmd_rs = BIT(27);
|
|
||||||
static const uint32_t dcmd_eop = BIT(24);
|
|
||||||
static const uint32_t dsta_dd = BIT(0);
|
|
||||||
static const int data_len = 64;
|
static const int data_len = 64;
|
||||||
char buffer[64];
|
char buffer[64];
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -73,10 +50,10 @@ static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *a
|
||||||
/* Prepare TX descriptor */
|
/* Prepare TX descriptor */
|
||||||
memset(&descr, 0, sizeof(descr));
|
memset(&descr, 0, sizeof(descr));
|
||||||
descr.buffer_addr = cpu_to_le64(data);
|
descr.buffer_addr = cpu_to_le64(data);
|
||||||
descr.lower.data = cpu_to_le32(dcmd_rs |
|
descr.lower.data = cpu_to_le32(E1000_TXD_CMD_RS |
|
||||||
dcmd_eop |
|
E1000_TXD_CMD_EOP |
|
||||||
dtyp_ext |
|
E1000_TXD_CMD_DEXT |
|
||||||
dtyp_data |
|
E1000_TXD_DTYP_D |
|
||||||
data_len);
|
data_len);
|
||||||
|
|
||||||
/* Put descriptor to the ring */
|
/* Put descriptor to the ring */
|
||||||
|
@ -86,7 +63,8 @@ static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *a
|
||||||
e1000e_wait_isr(d, E1000E_TX0_MSG_ID);
|
e1000e_wait_isr(d, E1000E_TX0_MSG_ID);
|
||||||
|
|
||||||
/* Check DD bit */
|
/* Check DD bit */
|
||||||
g_assert_cmphex(le32_to_cpu(descr.upper.data) & dsta_dd, ==, dsta_dd);
|
g_assert_cmphex(le32_to_cpu(descr.upper.data) & E1000_TXD_STAT_DD, ==,
|
||||||
|
E1000_TXD_STAT_DD);
|
||||||
|
|
||||||
/* Check data sent to the backend */
|
/* Check data sent to the backend */
|
||||||
ret = recv(test_sockets[0], &recv_len, sizeof(recv_len), 0);
|
ret = recv(test_sockets[0], &recv_len, sizeof(recv_len), 0);
|
||||||
|
@ -101,31 +79,7 @@ static void e1000e_send_verify(QE1000E *d, int *test_sockets, QGuestAllocator *a
|
||||||
|
|
||||||
static void e1000e_receive_verify(QE1000E *d, int *test_sockets, QGuestAllocator *alloc)
|
static void e1000e_receive_verify(QE1000E *d, int *test_sockets, QGuestAllocator *alloc)
|
||||||
{
|
{
|
||||||
union {
|
union e1000_rx_desc_extended descr;
|
||||||
struct {
|
|
||||||
uint64_t buffer_addr;
|
|
||||||
uint64_t reserved;
|
|
||||||
} read;
|
|
||||||
struct {
|
|
||||||
struct {
|
|
||||||
uint32_t mrq;
|
|
||||||
union {
|
|
||||||
uint32_t rss;
|
|
||||||
struct {
|
|
||||||
uint16_t ip_id;
|
|
||||||
uint16_t csum;
|
|
||||||
} csum_ip;
|
|
||||||
} hi_dword;
|
|
||||||
} lower;
|
|
||||||
struct {
|
|
||||||
uint32_t status_error;
|
|
||||||
uint16_t length;
|
|
||||||
uint16_t vlan;
|
|
||||||
} upper;
|
|
||||||
} wb;
|
|
||||||
} descr;
|
|
||||||
|
|
||||||
static const uint32_t esta_dd = BIT(0);
|
|
||||||
|
|
||||||
char test[] = "TEST";
|
char test[] = "TEST";
|
||||||
int len = htonl(sizeof(test));
|
int len = htonl(sizeof(test));
|
||||||
|
@ -162,7 +116,7 @@ static void e1000e_receive_verify(QE1000E *d, int *test_sockets, QGuestAllocator
|
||||||
|
|
||||||
/* Check DD bit */
|
/* Check DD bit */
|
||||||
g_assert_cmphex(le32_to_cpu(descr.wb.upper.status_error) &
|
g_assert_cmphex(le32_to_cpu(descr.wb.upper.status_error) &
|
||||||
esta_dd, ==, esta_dd);
|
E1000_RXD_STAT_DD, ==, E1000_RXD_STAT_DD);
|
||||||
|
|
||||||
/* Check data sent to the backend */
|
/* Check data sent to the backend */
|
||||||
memread(data, buffer, sizeof(buffer));
|
memread(data, buffer, sizeof(buffer));
|
||||||
|
|
Loading…
Reference in New Issue