mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
tests/libqos: e1000e driver and interface nodes
Add qgraph nodes for virtio-e1000e. It consumes a pci-bus, and it's directly used by tests (e1000e is pci based). Signed-off-by: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
92bbafc718
commit
a4cc719b6b
3 changed files with 314 additions and 0 deletions
53
tests/libqos/e1000e.h
Normal file
53
tests/libqos/e1000e.h
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* libqos driver framework
|
||||
*
|
||||
* Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
#ifndef QGRAPH_E1000E
|
||||
#define QGRAPH_E1000E
|
||||
|
||||
#include "libqos/qgraph.h"
|
||||
#include "pci.h"
|
||||
|
||||
#define E1000E_RX0_MSG_ID (0)
|
||||
#define E1000E_TX0_MSG_ID (1)
|
||||
#define E1000E_OTHER_MSG_ID (2)
|
||||
|
||||
#define E1000E_TDLEN (0x3808)
|
||||
#define E1000E_TDT (0x3818)
|
||||
#define E1000E_RDLEN (0x2808)
|
||||
#define E1000E_RDT (0x2818)
|
||||
|
||||
typedef struct QE1000E QE1000E;
|
||||
typedef struct QE1000E_PCI QE1000E_PCI;
|
||||
|
||||
struct QE1000E {
|
||||
uint64_t tx_ring;
|
||||
uint64_t rx_ring;
|
||||
};
|
||||
|
||||
struct QE1000E_PCI {
|
||||
QOSGraphObject obj;
|
||||
QPCIDevice pci_dev;
|
||||
QPCIBar mac_regs;
|
||||
QE1000E e1000e;
|
||||
};
|
||||
|
||||
void e1000e_wait_isr(QE1000E *d, uint16_t msg_id);
|
||||
void e1000e_tx_ring_push(QE1000E *d, void *descr);
|
||||
void e1000e_rx_ring_push(QE1000E *d, void *descr);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue