sun4m_iommu: move TYPE_SUN4M_IOMMU declaration to sun4m.h
This is in preparation to allow the type to be used elsewhere. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
9540619d82
commit
9227f296a9
@ -36,7 +36,6 @@
|
|||||||
* http://mediacast.sun.com/users/Barton808/media/Sun4M_SystemArchitecture_edited2.pdf
|
* http://mediacast.sun.com/users/Barton808/media/Sun4M_SystemArchitecture_edited2.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define IOMMU_NREGS (4*4096/4)
|
|
||||||
#define IOMMU_CTRL (0x0000 >> 2)
|
#define IOMMU_CTRL (0x0000 >> 2)
|
||||||
#define IOMMU_CTRL_IMPL 0xf0000000 /* Implementation */
|
#define IOMMU_CTRL_IMPL 0xf0000000 /* Implementation */
|
||||||
#define IOMMU_CTRL_VERS 0x0f000000 /* Version */
|
#define IOMMU_CTRL_VERS 0x0f000000 /* Version */
|
||||||
@ -128,19 +127,6 @@
|
|||||||
#define IOMMU_PAGE_SIZE (1 << IOMMU_PAGE_SHIFT)
|
#define IOMMU_PAGE_SIZE (1 << IOMMU_PAGE_SHIFT)
|
||||||
#define IOMMU_PAGE_MASK ~(IOMMU_PAGE_SIZE - 1)
|
#define IOMMU_PAGE_MASK ~(IOMMU_PAGE_SIZE - 1)
|
||||||
|
|
||||||
#define TYPE_SUN4M_IOMMU "iommu"
|
|
||||||
#define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
|
|
||||||
|
|
||||||
typedef struct IOMMUState {
|
|
||||||
SysBusDevice parent_obj;
|
|
||||||
|
|
||||||
MemoryRegion iomem;
|
|
||||||
uint32_t regs[IOMMU_NREGS];
|
|
||||||
hwaddr iostart;
|
|
||||||
qemu_irq irq;
|
|
||||||
uint32_t version;
|
|
||||||
} IOMMUState;
|
|
||||||
|
|
||||||
static uint64_t iommu_mem_read(void *opaque, hwaddr addr,
|
static uint64_t iommu_mem_read(void *opaque, hwaddr addr,
|
||||||
unsigned size)
|
unsigned size)
|
||||||
{
|
{
|
||||||
|
@ -4,10 +4,26 @@
|
|||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "exec/hwaddr.h"
|
#include "exec/hwaddr.h"
|
||||||
#include "qapi/qmp/types.h"
|
#include "qapi/qmp/types.h"
|
||||||
|
#include "hw/sysbus.h"
|
||||||
|
|
||||||
/* Devices used by sparc32 system. */
|
/* Devices used by sparc32 system. */
|
||||||
|
|
||||||
/* iommu.c */
|
/* iommu.c */
|
||||||
|
#define TYPE_SUN4M_IOMMU "iommu"
|
||||||
|
#define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
|
||||||
|
|
||||||
|
#define IOMMU_NREGS (4 * 4096 / 4)
|
||||||
|
|
||||||
|
typedef struct IOMMUState {
|
||||||
|
SysBusDevice parent_obj;
|
||||||
|
|
||||||
|
MemoryRegion iomem;
|
||||||
|
uint32_t regs[IOMMU_NREGS];
|
||||||
|
hwaddr iostart;
|
||||||
|
qemu_irq irq;
|
||||||
|
uint32_t version;
|
||||||
|
} IOMMUState;
|
||||||
|
|
||||||
void sparc_iommu_memory_rw(void *opaque, hwaddr addr,
|
void sparc_iommu_memory_rw(void *opaque, hwaddr addr,
|
||||||
uint8_t *buf, int len, int is_write);
|
uint8_t *buf, int len, int is_write);
|
||||||
static inline void sparc_iommu_memory_read(void *opaque,
|
static inline void sparc_iommu_memory_read(void *opaque,
|
||||||
|
Loading…
Reference in New Issue
Block a user