From patchwork Thu May 8 09:32:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Zyngier X-Patchwork-Id: 4134231 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id E730BC0ACC for ; Thu, 8 May 2014 09:33:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 34F3B20173 for ; Thu, 8 May 2014 09:33:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 62A9D2017E for ; Thu, 8 May 2014 09:33:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753843AbaEHJdP (ORCPT ); Thu, 8 May 2014 05:33:15 -0400 Received: from fw-tnat.austin.arm.com ([217.140.110.23]:35403 "EHLO collaborate-mta1.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753475AbaEHJcy (ORCPT ); Thu, 8 May 2014 05:32:54 -0400 Received: from e102391-lin.cambridge.arm.com (e102391-lin.cambridge.arm.com [10.1.209.166]) by collaborate-mta1.arm.com (Postfix) with ESMTP id DAF5A13FA3E; Thu, 8 May 2014 04:32:53 -0500 (CDT) From: Marc Zyngier To: kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org Cc: Pekka Enberg , Will Deacon Subject: [PATCH v4 5/9] kvmtool: convert console backend to support bi-endianness Date: Thu, 8 May 2014 10:32:44 +0100 Message-Id: <1399541568-13803-6-git-send-email-marc.zyngier@arm.com> X-Mailer: git-send-email 1.8.3.4 In-Reply-To: <1399541568-13803-1-git-send-email-marc.zyngier@arm.com> References: <1399541568-13803-1-git-send-email-marc.zyngier@arm.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Configure the queues to follow the guest endianness, and make sure the configuration space is doing the same. Signed-off-by: Marc Zyngier --- tools/kvm/virtio/console.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/kvm/virtio/console.c b/tools/kvm/virtio/console.c index 0474e2b..384eac1 100644 --- a/tools/kvm/virtio/console.c +++ b/tools/kvm/virtio/console.c @@ -131,7 +131,12 @@ static u32 get_host_features(struct kvm *kvm, void *dev) static void set_guest_features(struct kvm *kvm, void *dev, u32 features) { - /* Unused */ + struct con_dev *cdev = dev; + struct virtio_console_config *conf = &cdev->config; + + conf->cols = virtio_host_to_guest_u16(&cdev->vdev, conf->cols); + conf->rows = virtio_host_to_guest_u16(&cdev->vdev, conf->rows); + conf->max_nr_ports = virtio_host_to_guest_u32(&cdev->vdev, conf->max_nr_ports); } static int init_vq(struct kvm *kvm, void *dev, u32 vq, u32 page_size, u32 align, @@ -149,6 +154,7 @@ static int init_vq(struct kvm *kvm, void *dev, u32 vq, u32 page_size, u32 align, p = virtio_get_vq(kvm, queue->pfn, page_size); vring_init(&queue->vring, VIRTIO_CONSOLE_QUEUE_SIZE, p, align); + virtio_init_device_vq(&cdev.vdev, queue); if (vq == VIRTIO_CONSOLE_TX_QUEUE) { thread_pool__init_job(&cdev.jobs[vq], kvm, virtio_console_handle_callback, queue);