Parcourir la source

virtio_test: support event index

Add ability to test the new event idx feature,
enable by default.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Michael S. Tsirkin il y a 14 ans
Parent
commit
4423fe40b0
1 fichiers modifiés avec 17 ajouts et 2 suppressions
  1. 17 2
      tools/virtio/virtio_test.c

+ 17 - 2
tools/virtio/virtio_test.c

@@ -197,6 +197,14 @@ const struct option longopts[] = {
 		.name = "help",
 		.name = "help",
 		.val = 'h',
 		.val = 'h',
 	},
 	},
+	{
+		.name = "event-idx",
+		.val = 'E',
+	},
+	{
+		.name = "no-event-idx",
+		.val = 'e',
+	},
 	{
 	{
 		.name = "indirect",
 		.name = "indirect",
 		.val = 'I',
 		.val = 'I',
@@ -211,13 +219,17 @@ const struct option longopts[] = {
 
 
 static void help()
 static void help()
 {
 {
-	fprintf(stderr, "Usage: virtio_test [--help] [--no-indirect]\n");
+	fprintf(stderr, "Usage: virtio_test [--help]"
+		" [--no-indirect]"
+		" [--no-event-idx]"
+		"\n");
 }
 }
 
 
 int main(int argc, char **argv)
 int main(int argc, char **argv)
 {
 {
 	struct vdev_info dev;
 	struct vdev_info dev;
-	unsigned long long features = 1ULL << VIRTIO_RING_F_INDIRECT_DESC;
+	unsigned long long features = (1ULL << VIRTIO_RING_F_INDIRECT_DESC) |
+		(1ULL << VIRTIO_RING_F_EVENT_IDX);
 	int o;
 	int o;
 
 
 	for (;;) {
 	for (;;) {
@@ -228,6 +240,9 @@ int main(int argc, char **argv)
 		case '?':
 		case '?':
 			help();
 			help();
 			exit(2);
 			exit(2);
+		case 'e':
+			features &= ~(1ULL << VIRTIO_RING_F_EVENT_IDX);
+			break;
 		case 'h':
 		case 'h':
 			help();
 			help();
 			goto done;
 			goto done;