1
0
mirror of synced 2026-01-13 07:09:39 +00:00

NetBSD test code for prototype driver

This commit is contained in:
Romain Dolbeau 2020-12-13 15:05:02 +01:00
parent 292ac54e7f
commit 572c785840

94
NetBSD/test/gcm.c Normal file
View File

@ -0,0 +1,94 @@
#include <stdio.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/ioccom.h>
struct rdfpga_128bits {
uint32_t x[4];
};
#define RDFPGA_WC _IOW(0, 1, struct rdfpga_128bits)
#define RDFPGA_WH _IOW(0, 2, struct rdfpga_128bits)
#define RDFPGA_WI _IOW(0, 3, struct rdfpga_128bits)
#define RDFPGA_RC _IOR(0, 4, struct rdfpga_128bits)
#define RDFPGA_WL _IOW(0, 1, uint32_t)
static const char* rdfpga_device = "/dev/rdfpga0";
int
main(int argc, char *argv[])
{
int devfd;
struct rdfpga_128bits data;
int pattern = 0xF00FF00F;
if (argc > 1)
pattern = atoi(argv[1]);
if ( (devfd = open(rdfpga_device, O_RDWR)) == -1) {
perror("can't open device file");
return 1;
}
/*
x"6b8b4567");
x"66334873");
x"2ae8944a");
x"46e87ccd");
x"327b23c6");
x"74b0dc51");
x"625558ec");
x"3d1b58ba");
x"643c9869");
x"19495cff");
x"238e1f29");
x"507ed7ab");
*/
if (ioctl(devfd, RDFPGA_WL, &pattern) == -1) {
perror("ioctl failed");
}
data.x[0] = 0x327b23c6;
data.x[1] = 0x74b0dc51;
data.x[2] = 0x625558ec;
data.x[3] = 0x3d1b58ba;
if (ioctl(devfd, RDFPGA_WC, &data) == -1) {
perror("ioctl failed");
}
data.x[0] = 0x6b8b4567;
data.x[1] = 0x66334873;
data.x[2] = 0x2ae8944a;
data.x[3] = 0x46e87ccd;
if (ioctl(devfd, RDFPGA_WH, &data) == -1) {
perror("ioctl failed");
}
data.x[0] = 0x643c9869;
data.x[1] = 0x19495cff;
data.x[2] = 0x238e1f29;
data.x[3] = 0x507ed7ab;
if (ioctl(devfd, RDFPGA_WI, &data) == -1) {
perror("ioctl failed");
}
if (ioctl(devfd, RDFPGA_RC, &data) == -1) {
perror("ioctl failed");
}
printf("0x%08x 0x%08x 0x%08x 0x%08x\n",
data.x[0],
data.x[1],
data.x[2],
data.x[3]);
close(devfd);
return 0;
}