tools: allow mappings != A32/D32

parent 03eb030b
CFLAGS += -g -Wall
CFLAGS += -I /acc/src/dsc/drivers/coht/vmebridge/include/ CFLAGS += -I /acc/src/dsc/drivers/coht/vmebridge/include/
LDFLAGS += -L /acc/local/L865/lib LDFLAGS += -L /acc/local/L865/lib
LDLIBS += -lvmebus LDLIBS += -lvmebus
......
...@@ -21,7 +21,7 @@ int main(int argc, char *argv[]) ...@@ -21,7 +21,7 @@ int main(int argc, char *argv[])
struct vme_mapping map; struct vme_mapping map;
struct vme_mapping *mapp = ↦ struct vme_mapping *mapp = ↦
volatile void *ptr; volatile void *ptr;
unsigned long vmebase, am, data_width; unsigned int vmebase, am, data_width;
int i, count; int i, count;
int c; int c;
int write, offsets_on; int write, offsets_on;
...@@ -46,7 +46,7 @@ int main(int argc, char *argv[]) ...@@ -46,7 +46,7 @@ int main(int argc, char *argv[])
data_width = strtoul(optarg, NULL, 0); data_width = strtoul(optarg, NULL, 0);
break; break;
case 'a': case 'a':
am = VME_A32_USER_DATA_SCT; am = strtoul(optarg, NULL, 0);
break; break;
case 'n': case 'n':
count = strtoul(optarg, NULL, 0); count = strtoul(optarg, NULL, 0);
...@@ -66,8 +66,8 @@ int main(int argc, char *argv[]) ...@@ -66,8 +66,8 @@ int main(int argc, char *argv[])
memset(mapp, 0, sizeof(*mapp)); memset(mapp, 0, sizeof(*mapp));
mapp->am = VME_A32_USER_DATA_SCT; mapp->am = am;
mapp->data_width = VME_D32; mapp->data_width = data_width;
mapp->sizel = 0x80000; mapp->sizel = 0x80000;
mapp->vme_addrl = vmebase; mapp->vme_addrl = vmebase;
...@@ -76,12 +76,12 @@ int main(int argc, char *argv[]) ...@@ -76,12 +76,12 @@ int main(int argc, char *argv[])
exit(1); exit(1);
} }
fprintf(stderr, "vme 0x%08x kernel 0x%08x user 0x%08x\n", fprintf(stderr, "vme 0x%08x kernel 0x%p user 0x%p\n",
vmebase, mapp->kernel_va, mapp->user_va); vmebase, mapp->kernel_va, mapp->user_va);
for (i = 0; i < count; i++, ptr += 4) { for (i = 0; i < count; i++, ptr += 4) {
if (!write) { if (!write) {
if (offsets_on) if (offsets_on)
printf("%08x: ", ptr); printf("%p: ", ptr);
printf("%08x\n", ntohl(*(uint32_t *)ptr)); printf("%08x\n", ntohl(*(uint32_t *)ptr));
} else { } else {
*(uint32_t *)ptr = htonl(word); *(uint32_t *)ptr = htonl(word);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment