QEMU main repository: Please see https://www.qemu.org/docs/master/devel/submitting-a-patch.html for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website. http://www.qemu.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
663 B
30 lines
663 B
#ifndef IORANGE_H
|
|
#define IORANGE_H
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct IORange IORange;
|
|
typedef struct IORangeOps IORangeOps;
|
|
|
|
struct IORangeOps {
|
|
void (*read)(IORange *iorange, uint64_t offset, unsigned width,
|
|
uint64_t *data);
|
|
void (*write)(IORange *iorange, uint64_t offset, unsigned width,
|
|
uint64_t data);
|
|
};
|
|
|
|
struct IORange {
|
|
const IORangeOps *ops;
|
|
uint64_t base;
|
|
uint64_t len;
|
|
};
|
|
|
|
static inline void iorange_init(IORange *iorange, const IORangeOps *ops,
|
|
uint64_t base, uint64_t len)
|
|
{
|
|
iorange->ops = ops;
|
|
iorange->base = base;
|
|
iorange->len = len;
|
|
}
|
|
|
|
#endif
|
|
|