cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

e1000e.h (1478B)


      1/*
      2 * libqos driver framework
      3 *
      4 * Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
      5 *
      6 * This library is free software; you can redistribute it and/or
      7 * modify it under the terms of the GNU Lesser General Public
      8 * License version 2.1 as published by the Free Software Foundation.
      9 *
     10 * This library is distributed in the hope that it will be useful,
     11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13 * Lesser General Public License for more details.
     14 *
     15 * You should have received a copy of the GNU Lesser General Public
     16 * License along with this library; if not, see <http://www.gnu.org/licenses/>
     17 */
     18
     19#ifndef QGRAPH_E1000E_H
     20#define QGRAPH_E1000E_H
     21
     22#include "qgraph.h"
     23#include "pci.h"
     24
     25#define E1000E_RX0_MSG_ID           (0)
     26#define E1000E_TX0_MSG_ID           (1)
     27#define E1000E_OTHER_MSG_ID         (2)
     28
     29#define E1000E_TDLEN    (0x3808)
     30#define E1000E_TDT      (0x3818)
     31#define E1000E_RDLEN    (0x2808)
     32#define E1000E_RDT      (0x2818)
     33
     34typedef struct QE1000E QE1000E;
     35typedef struct QE1000E_PCI QE1000E_PCI;
     36
     37struct QE1000E {
     38    uint64_t tx_ring;
     39    uint64_t rx_ring;
     40};
     41
     42struct QE1000E_PCI {
     43    QOSGraphObject obj;
     44    QPCIDevice pci_dev;
     45    QPCIBar mac_regs;
     46    QE1000E e1000e;
     47};
     48
     49void e1000e_wait_isr(QE1000E *d, uint16_t msg_id);
     50void e1000e_tx_ring_push(QE1000E *d, void *descr);
     51void e1000e_rx_ring_push(QE1000E *d, void *descr);
     52
     53#endif