old-cross-binutils/sim/txvu/vu1.c

91 lines
2.1 KiB
C
Raw Normal View History

/* Copyright (C) 1998, Cygnus Solutions
*/
#include "sim-main.h"
#include "device.h"
#include "vu1.h"
static char vu1_mem0_buffer[VU1_MEM0_SIZE];
static char vu1_mem1_buffer[VU1_MEM1_SIZE];
void
vu1_issue()
{
}
int
vu1_io_read_buffer(device *me,
void *dest,
int space,
address_word addr,
unsigned nr_bytes,
sim_cpu *processor,
sim_cia cia)
{
printf("%s: Read!\n", me->name);
printf(" vu1_mem0[0] = %d\n", *(int*)&vu1_mem0_buffer[0]);
printf(" vu1_mem1[0] = %d\n", *(int*)&vu1_mem1_buffer[0]);
return nr_bytes;
}
int
vu1_io_write_buffer(device *me,
const void *source,
int space,
address_word addr,
unsigned nr_bytes,
sim_cpu *processor,
sim_cia cia)
{
printf("%s: Write!\n", me->name);
return nr_bytes;
}
device vu1_device =
{
"vu1",
&vu1_io_read_buffer,
&vu1_io_write_buffer
};
void
vu1_attach(SIM_DESC sd)
{
sim_core_attach (sd,
NULL,
0 /*level*/,
access_read_write,
0 /*space ???*/,
VU1_REGISTER_WINDOW_START,
VU1_REGISTER_WINDOW_SIZE /*nr_bytes*/,
0 /*modulo*/,
&vu1_device,
NULL /*buffer*/);
sim_core_attach (sd,
NULL,
0 /*level*/,
access_read_write,
0 /*space ???*/,
VU1_MEM0_WINDOW_START,
VU1_MEM0_SIZE /*nr_bytes*/,
0 /*modulo*/,
0 /*device*/,
&vu1_mem0_buffer /*buffer*/);
sim_core_attach (sd,
NULL,
0 /*level*/,
access_read_write,
0 /*space ???*/,
VU1_MEM1_WINDOW_START,
VU1_MEM1_SIZE /*nr_bytes*/,
0 /*modulo*/,
0 /*device*/,
&vu1_mem1_buffer /*buffer*/);
}