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

sparc32_dma.h (1516B)


      1#ifndef SPARC32_DMA_H
      2#define SPARC32_DMA_H
      3
      4#include "hw/sysbus.h"
      5#include "hw/scsi/esp.h"
      6#include "hw/net/lance.h"
      7#include "qom/object.h"
      8
      9#define DMA_REGS 4
     10
     11#define TYPE_SPARC32_DMA_DEVICE "sparc32-dma-device"
     12OBJECT_DECLARE_SIMPLE_TYPE(DMADeviceState, SPARC32_DMA_DEVICE)
     13
     14
     15struct DMADeviceState {
     16    SysBusDevice parent_obj;
     17
     18    MemoryRegion iomem;
     19    uint32_t dmaregs[DMA_REGS];
     20    qemu_irq irq;
     21    void *iommu;
     22    qemu_irq gpio[2];
     23};
     24
     25#define TYPE_SPARC32_ESPDMA_DEVICE "sparc32-espdma"
     26OBJECT_DECLARE_SIMPLE_TYPE(ESPDMADeviceState, SPARC32_ESPDMA_DEVICE)
     27
     28struct ESPDMADeviceState {
     29    DMADeviceState parent_obj;
     30
     31    SysBusESPState esp;
     32};
     33
     34#define TYPE_SPARC32_LEDMA_DEVICE "sparc32-ledma"
     35OBJECT_DECLARE_SIMPLE_TYPE(LEDMADeviceState, SPARC32_LEDMA_DEVICE)
     36
     37struct LEDMADeviceState {
     38    DMADeviceState parent_obj;
     39
     40    SysBusPCNetState lance;
     41};
     42
     43#define TYPE_SPARC32_DMA "sparc32-dma"
     44OBJECT_DECLARE_SIMPLE_TYPE(SPARC32DMAState, SPARC32_DMA)
     45
     46struct SPARC32DMAState {
     47    SysBusDevice parent_obj;
     48
     49    MemoryRegion dmamem;
     50    MemoryRegion ledma_alias;
     51    ESPDMADeviceState espdma;
     52    LEDMADeviceState ledma;
     53};
     54
     55/* sparc32_dma.c */
     56void ledma_memory_read(void *opaque, hwaddr addr,
     57                       uint8_t *buf, int len, int do_bswap);
     58void ledma_memory_write(void *opaque, hwaddr addr,
     59                        uint8_t *buf, int len, int do_bswap);
     60void espdma_memory_read(void *opaque, uint8_t *buf, int len);
     61void espdma_memory_write(void *opaque, uint8_t *buf, int len);
     62
     63#endif