diff --git a/drivers/virtio/virtio_magma.c b/drivers/virtio/virtio_magma.c
index d7e28c6..9ca8635 100644
--- a/drivers/virtio/virtio_magma.c
+++ b/drivers/virtio/virtio_magma.c
@@ -543,8 +543,8 @@ static int virtmagma_buffer_fd_release(struct inode *inodep, struct file *filp)
 	struct virtmagma_instance *instance = priv->instance;
 	struct virtmagma_connection *connection = NULL;
 	struct virtmagma_connection_object *object = NULL;
-	struct virtio_magma_unmap_ctrl *request = NULL;
-	struct virtio_magma_unmap_resp *response = NULL;
+	struct virtio_magma_internal_unmap_ctrl *request = NULL;
+	struct virtio_magma_internal_unmap_resp *response = NULL;
 	int ret;
 
 	if (instance) {
@@ -569,10 +569,11 @@ static int virtmagma_buffer_fd_release(struct inode *inodep, struct file *filp)
 			.response_size = sizeof(*response)
 		};
 
-		request->hdr.type = VIRTIO_MAGMA_CMD_UNMAP;
+		request->hdr.type = VIRTIO_MAGMA_CMD_INTERNAL_UNMAP;
 		request->hdr.flags = 0;
 		request->connection = priv->connection_id;
 		request->buffer = priv->buffer_id;
+		request->address = priv->phys_addr;
 
 		ret = vq_out_send_sync(instance->vi, &command);
 		if (ret == 0) {
@@ -603,8 +604,8 @@ static int virtmagma_buffer_fd_mmap(struct file *filp,
 	struct virtmagma_instance *instance = priv->instance;
 	struct virtmagma_connection *connection;
 	struct virtmagma_connection_object *object;
-	struct virtio_magma_map_ctrl *request;
-	struct virtio_magma_map_resp *response;
+	struct virtio_magma_internal_map_ctrl *request;
+	struct virtio_magma_internal_map_resp *response;
 	unsigned long vm_size = vma->vm_end - vma->vm_start;
 	size_t max_map_size;
 	int ret = 0;
@@ -631,10 +632,11 @@ static int virtmagma_buffer_fd_mmap(struct file *filp,
 		return -ENOMEM;
 	}
 
-	request->hdr.type = VIRTIO_MAGMA_CMD_MAP;
+	request->hdr.type = VIRTIO_MAGMA_CMD_INTERNAL_MAP;
 	request->hdr.flags = 0;
 	request->connection = priv->connection_id;
 	request->buffer = priv->buffer_id;
+	request->length = object->buffer.size_allocated;
 
 	mutex_lock(&priv->mutex_lock);
 	if (!priv->phys_addr) {
@@ -652,7 +654,7 @@ static int virtmagma_buffer_fd_mmap(struct file *filp,
 		}
 
 		if (ret == 0) {
-			priv->phys_addr = response->addr_out;
+			priv->phys_addr = response->address_out;
 		}
 	}
 	mutex_unlock(&priv->mutex_lock);
diff --git a/include/uapi/linux/virtio_magma.h b/include/uapi/linux/virtio_magma.h
index 6178400..2243eef 100644
--- a/include/uapi/linux/virtio_magma.h
+++ b/include/uapi/linux/virtio_magma.h
@@ -79,6 +79,8 @@ enum virtio_magma_ctrl_type {
 	VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP = 0x1041,
 	VIRTIO_MAGMA_CMD_BUFFER_GET_INFO = 0x1042,
 	VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE = 0x1043,
+	VIRTIO_MAGMA_CMD_INTERNAL_MAP = 0x1044,
+	VIRTIO_MAGMA_CMD_INTERNAL_UNMAP = 0x1045,
 	/* magma success responses
  */
 	VIRTIO_MAGMA_RESP_RELEASE_CONNECTION = 0x2004,
@@ -139,6 +141,8 @@ enum virtio_magma_ctrl_type {
 	VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP = 0x2041,
 	VIRTIO_MAGMA_RESP_BUFFER_GET_INFO = 0x2042,
 	VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE = 0x2043,
+	VIRTIO_MAGMA_RESP_INTERNAL_MAP = 0x2044,
+	VIRTIO_MAGMA_RESP_INTERNAL_UNMAP = 0x2045,
 	/* magma error responses
  */
 	VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED = 0x3001,
@@ -267,6 +271,10 @@ inline const char* virtio_magma_ctrl_type_string(enum virtio_magma_ctrl_type typ
 		case VIRTIO_MAGMA_RESP_BUFFER_GET_INFO: return "VIRTIO_MAGMA_RESP_BUFFER_GET_INFO";
 		case VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE: return "VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE";
 		case VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE: return "VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE";
+		case VIRTIO_MAGMA_CMD_INTERNAL_MAP: return "VIRTIO_MAGMA_CMD_INTERNAL_MAP";
+		case VIRTIO_MAGMA_RESP_INTERNAL_MAP: return "VIRTIO_MAGMA_RESP_INTERNAL_MAP";
+		case VIRTIO_MAGMA_CMD_INTERNAL_UNMAP: return "VIRTIO_MAGMA_CMD_INTERNAL_UNMAP";
+		case VIRTIO_MAGMA_RESP_INTERNAL_UNMAP: return "VIRTIO_MAGMA_RESP_INTERNAL_UNMAP";
 		case VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED: return "VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED";
 		case VIRTIO_MAGMA_RESP_ERR_INTERNAL: return "VIRTIO_MAGMA_RESP_ERR_INTERNAL";
 		case VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED: return "VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED";
@@ -337,6 +345,8 @@ inline enum virtio_magma_ctrl_type virtio_magma_expected_response_type(enum virt
 		case VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP: return VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP;
 		case VIRTIO_MAGMA_CMD_BUFFER_GET_INFO: return VIRTIO_MAGMA_RESP_BUFFER_GET_INFO;
 		case VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE: return VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE;
+		case VIRTIO_MAGMA_CMD_INTERNAL_MAP: return VIRTIO_MAGMA_RESP_INTERNAL_MAP;
+		case VIRTIO_MAGMA_CMD_INTERNAL_UNMAP: return VIRTIO_MAGMA_RESP_INTERNAL_UNMAP;
 		default: return VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND;
 	}
 }
@@ -1015,5 +1025,30 @@ struct virtio_magma_get_buffer_handle_resp {
 	__le64 result_return;
 } __attribute((packed));
 
+struct virtio_magma_internal_map_ctrl {
+	struct virtio_magma_ctrl_hdr hdr;
+	__le64 connection;
+	__le64 buffer;
+	__le64 length;
+} __attribute((packed));
+
+struct virtio_magma_internal_map_resp {
+	struct virtio_magma_ctrl_hdr hdr;
+	__le64 address_out;
+	__le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_internal_unmap_ctrl {
+	struct virtio_magma_ctrl_hdr hdr;
+	__le64 connection;
+	__le64 buffer;
+	__le64 address;
+} __attribute((packed));
+
+struct virtio_magma_internal_unmap_resp {
+	struct virtio_magma_ctrl_hdr hdr;
+	__le64 result_return;
+} __attribute((packed));
+
 #endif /* _LINUX_VIRTIO_MAGMA_H
  */
