return -1;
} else {
struct palacios_host_dev_host_request_response *r = malloc(len);
-
+
+ if (!r) {
+ return -1;
+ }
+
rc=ioctl(devfd, V3_HOST_DEV_HOST_REQUEST_PULL_IOCTL,r);
if (rc<=0) {
return do_user(devfd,&op);
}
-int v3_user_host_dev_inject_irq(int devfd, uint8_t irq)
+int v3_user_host_dev_raise_irq(int devfd, uint8_t irq)
+{
+ struct palacios_host_dev_user_op op;
+
+ op.type= PALACIOS_HOST_DEV_USER_REQUEST_IRQ_RAISE_GUEST;
+ op.gpa=0;
+ op.data=0;
+ op.len=0;
+ op.irq=irq;
+
+ return do_user(devfd,&op);
+}
+
+int v3_user_host_dev_lower_irq(int devfd, uint8_t irq)
{
struct palacios_host_dev_user_op op;
- op.type= PALACIOS_HOST_DEV_USER_REQUEST_IRQ_GUEST;
+ op.type= PALACIOS_HOST_DEV_USER_REQUEST_IRQ_LOWER_GUEST;
op.gpa=0;
op.data=0;
op.len=0;