From patchwork Tue Feb 5 18:14:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037024 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="py7aTy4A"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCgs1s8pz9s6w for ; Wed, 6 Feb 2019 05:26:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37278 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Pz-0001V7-3K for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:25:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GH-0002It-1r for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GF-0003jp-Vm for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:34037) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GF-0003Sy-LR for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:55 -0500 Received: by mail-wr1-x42e.google.com with SMTP id z15so2670983wrn.1 for ; Tue, 05 Feb 2019 10:15:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TshKAAE0RNuQoCOsIUO0/6gnJwuL2kOPO0XB8jX12WA=; b=py7aTy4AdaWszzzU3ZyABSbQfYZ5Jb6ZPHxcr7g5rEh79T0+bs6VrZoqeH8mtuSJF7 VU2eVSa1v9XQnAcoSbR3iMD+okeNVIAdKEqAqFZ955mAnSsSo+3XGPm7TNOx89pvNOvX fvTgAbuHSvxMg7kIyXy22ZMirNi6E7JThgBMr7TwShHiEMTs0Zn7UPkqsl7EdKmgMy9t IL7o9oQRvhpx8gFM2cwXVatl7tk3tSEjp0lmm0wT1veRAwZOVpipM87Lx2bWbG9LVsdq EmnyI1e3Ps6Nu4+R+EFEFN57mAuNia7yFj9GJT5pz12uJu8Ov3gbNbEj6koJ1SwVaXfX TjFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=TshKAAE0RNuQoCOsIUO0/6gnJwuL2kOPO0XB8jX12WA=; b=RsnBwR15L0VUje8k+oRLL8jvtHMCfUIVD/+n4765S6W1TVcVP/EkR4t74HH2IMZi58 PDutJzH/jtAyoVCLoBhMcXbs/WdGLlvp68Ddgjd3bzX7qItTAkx+fpZhbIW04Enbf4OI R5ZD2ASYvYLvJwBEJxIW7wWfzgrF5TH5AyvjiyMY62rwlVQzMtsMJ568msncbjaxZQun Q7xA3BuMza/ymA7CSMDbk4WC1L59fnkUquyyDdHPTqsqjROnCvG2AUm6ScU8p8mqOLQA eQjNiHUo26s7eQKV/M2ytKJxaPUAeETG+zfQ/UePIMyj01RFMzpY3u7KM0EQQYRQPO7T c7fQ== X-Gm-Message-State: AHQUAuYU1qX0PoacFWt7LQl8KMjbdOGdkOQlKYISXFaIdIHeg+Ftxbuw TbhShUaQg4HEhPxXM5vDRbOJKxCJ X-Google-Smtp-Source: AHgI3IZBswgeqg8P3V4xeMiwudWqEowhLE+0y0Dm2rwyiI4VL2N6ausGkXzQI/yfW2+j++2m15rorg== X-Received: by 2002:a5d:4fcb:: with SMTP id h11mr4743677wrw.139.1549390528697; Tue, 05 Feb 2019 10:15:28 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:28 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:11 +0100 Message-Id: <1549390526-24246-2-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e Subject: [Qemu-devel] [PULL 01/76] vhost-user-test: use g_cond_broadcast X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" g_cond_signal is rarely the right thing to do, it works now because vhost-user-test only has two threads but it is not correct in general. Fix it before adding more calls. Reviewed-by: Marc-André Lureau Signed-off-by: Paolo Bonzini Message-Id: <1543851204-41186-7-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 84e50d8..9baaff4 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -393,7 +393,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) G_N_ELEMENTS(s->fds)); /* signal the test that it can continue */ - g_cond_signal(&s->data_cond); + g_cond_broadcast(&s->data_cond); break; case VHOST_USER_SET_VRING_KICK: @@ -419,7 +419,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) p = (uint8_t *) &msg; qemu_chr_fe_write_all(chr, p, VHOST_USER_HDR_SIZE); - g_cond_signal(&s->data_cond); + g_cond_broadcast(&s->data_cond); break; case VHOST_USER_SET_VRING_BASE: From patchwork Tue Feb 5 18:14:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037029 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="nt/wCpnO"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCl86CVzz9s7T for ; Wed, 6 Feb 2019 05:28:52 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37367 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Sk-0003xF-Oe for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:28:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GH-0002Jm-Tm for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003kg-HZ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:40705) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003Ta-47 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wr1-x432.google.com with SMTP id p4so4706195wrt.7 for ; Tue, 05 Feb 2019 10:15:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uq88XevNaAe9eu11lkTZLr4wBoDW0L1eGz0bigET5TQ=; b=nt/wCpnObCu3zP2vOI1Nq4ZQ2BTc90UQhvxKnrEFPxePXIfI6ghyBjbWp4Rnf2heGR oxLCAE7aOEanpRNqLAEvczh1vYR2C+lSADunoLyVKK2BAetarka+rOar0eSmU6MEcNWZ szz5eJwGU9BssrHHww9p9uLVI3oS1qUIiyyAJsXSOCwEtfJ0nt4Eyy6Bmam6A9OxM+X7 M454ER5Hpjq+2V70DuIEmFze9XpH42szSSGeophIu5NmyjcSF15WRPbuQwT6ACslZJ69 Ii9sgxTgfvQ0h+5i5nV+1qn6stSN4iSIDeiU1v1mMjI+oy5z/frvlhcuIsgeTJlXZ+3N R8kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=uq88XevNaAe9eu11lkTZLr4wBoDW0L1eGz0bigET5TQ=; b=Onjebj92RoxtmdpaVfjay9U7ZJ7lcSQ3KbjZa/L9vx2Ro6l0sO3UqyDb0RqK8sJ7t+ G9/51IBj8tzjwqKz9ugANyxtfF4pRFJSTiTHY7MAzd10O29kykq4fwNqpZQ9XUnDGdwW gyMVvEx7+CGJ2GVUitaTykzFFfmugy47r8LxKaQMlO1YIj+D6N2EQzI2uyzPFR1olyBL 63raE/kSk8B8jJk4C8YhRLHfaH5necUqbv/LeqDjpSF2AvSdU8oTIviAy2Jg7vnCnrGq PPL61ktvp1yKKAYvTTWhNhlIunPbIJy+kkMNvPkWwvUeILQwSfbh4R88iagBml4Htoom /qJA== X-Gm-Message-State: AHQUAubRdbag/GQ7/5b/78YdXepzx0aXzBxCgU3emekL7cE7G4mo7TPb /u/WZ4GvhudjjrF96IisIlecFFou X-Google-Smtp-Source: AHgI3IaaCLDt2iene0Q22wCjmRW+B2Qd4f1BZeNyL7cuqyWAWVkeYoGv4Bdu6ngL2g3jleSS3vvoWw== X-Received: by 2002:a5d:4512:: with SMTP id s18mr4917323wrq.182.1549390529689; Tue, 05 Feb 2019 10:15:29 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:28 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:12 +0100 Message-Id: <1549390526-24246-3-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 Subject: [Qemu-devel] [PULL 02/76] vhost-user-test: signal data_cond when s->rings changes X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This speeds up wait_for_rings_started, which currently is just waiting for the timeout before checking s->rings. Reviewed-by: Marc-André Lureau Signed-off-by: Paolo Bonzini Message-Id: <1543851204-41186-8-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 9baaff4..8eb7943 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -384,6 +384,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) assert(msg.payload.state.index < s->queues * 2); s->rings &= ~(0x1ULL << msg.payload.state.index); + g_cond_broadcast(&s->data_cond); break; case VHOST_USER_SET_MEM_TABLE: @@ -425,6 +426,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) case VHOST_USER_SET_VRING_BASE: assert(msg.payload.state.index < s->queues * 2); s->rings |= 0x1ULL << msg.payload.state.index; + g_cond_broadcast(&s->data_cond); break; case VHOST_USER_GET_QUEUE_NUM: From patchwork Tue Feb 5 18:14:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037035 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NjMwUv04"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCps3SwPz9s6w for ; Wed, 6 Feb 2019 05:32:05 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37537 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Vr-0006rj-Bo for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:32:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002LH-7U for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003ms-Ib for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:40706) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003U3-5p for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x433.google.com with SMTP id p4so4706270wrt.7 for ; Tue, 05 Feb 2019 10:15:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jAVw3b7xnb2usF/RGRmJUpZrOLL6Ui9VBXS/r7Ct8XA=; b=NjMwUv04t+pjkoJbpWNjJHONu0DYZJXhXIFFeDBy7/a/DxF+SL30xvMYjxnBvVC+/i tmJUcsmVjLVikyXLowT6C6wgRZ1NtkF1byqd51b9UZBUxGP+aH+QusSB4ZTzI9vGg6RI MKmhj7kOL72KkaVnnWsFZkX30t7DZkLnce25fQKqY763JrcQJgor4rBYfr5pquHbCc6b o6QcqaPB363wZh5GdVd0ENZiZLzb4/UdXGykHJjoM2JHuKNV3s6fzemgnK9seeiTJADS JgN/SzSZhPVz1qVp2J3Kzr7d8hkA4QOGQ5IhaJf7ja+RgWp3zKPo9NciAbKf7tVPNpcg 1dQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=jAVw3b7xnb2usF/RGRmJUpZrOLL6Ui9VBXS/r7Ct8XA=; b=pZ8B9K5KlpIH+s53ki9+ITIxuRoVmOsLFuu2Xf4e+AZ2RbPyj35p+T3TN8sIQJ1YR5 xuVCcgJhxCsRhl5rJAT6y8WUSqaPUnokuhXGcEy/+XM4gZc4gyWqe9KFdfTeUxfqHfbs jp/co5Zl7aSewNa8MugkkwnP+lL6Do4j1NDZvhMDTXcSFH1NtGC5LfeR9Q5Uq4wSC0n1 ZGvoJWq/U0FfAR44E6GRhFWc6Rv6mwyMv35WWzzu5mXj3zfxIPz6yTpUKfYhFRPI+aV3 ZW7QEOLFhrq5hU7uLvf2k2F2M50WfEbggjtqZ6+prcj+HqxF28z1DIz9Diri5geTkRSK SnpQ== X-Gm-Message-State: AHQUAuahqk7fxPtn/gxkZKznsG9yxLX9LGWL1SoVX6bdc/L+In8QFick WiF4ysEQAonFe47CBPZ+leUT/1hS X-Google-Smtp-Source: AHgI3IaPVXJtYKvxEcgXdC5JusFjUCw/q80MUWLpaRYvQRugeQLsxrFn0Hib2eQQtQkNYjYcxeiFFg== X-Received: by 2002:a5d:60cc:: with SMTP id x12mr4479516wrt.193.1549390530742; Tue, 05 Feb 2019 10:15:30 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:29 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:13 +0100 Message-Id: <1549390526-24246-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 Subject: [Qemu-devel] [PULL 03/76] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This will be useful to run the qtest for ppc64 targets on (for example) x86_64 hosts. Reviewed-by: Marc-André Lureau Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <1543851204-41186-10-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 8eb7943..a4f51b5 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -51,6 +51,7 @@ #define VHOST_USER_F_PROTOCOL_FEATURES 30 #define VHOST_USER_PROTOCOL_F_MQ 0 #define VHOST_USER_PROTOCOL_F_LOG_SHMFD 1 +#define VHOST_USER_PROTOCOL_F_CROSS_ENDIAN 6 #define VHOST_LOG_PAGE 0x1000 @@ -251,7 +252,7 @@ static void wait_for_fds(TestServer *s) static void read_guest_mem_server(TestServer *s) { - uint32_t *guest_mem; + uint8_t *guest_mem; int i, j; size_t size; @@ -278,8 +279,8 @@ static void read_guest_mem_server(TestServer *s) g_assert(guest_mem != MAP_FAILED); guest_mem += (s->memory.regions[i].mmap_offset / sizeof(*guest_mem)); - for (j = 0; j < 256; j++) { - uint32_t a = readl(s->memory.regions[i].guest_phys_addr + j*4); + for (j = 0; j < 1024; j++) { + uint32_t a = readb(s->memory.regions[i].guest_phys_addr + j); uint32_t b = guest_mem[j]; g_assert_cmpint(a, ==, b); @@ -367,6 +368,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) msg.flags |= VHOST_USER_REPLY_MASK; msg.size = sizeof(m.payload.u64); msg.payload.u64 = 1 << VHOST_USER_PROTOCOL_F_LOG_SHMFD; + msg.payload.u64 |= 1 << VHOST_USER_PROTOCOL_F_CROSS_ENDIAN; if (s->queues > 1) { msg.payload.u64 |= 1 << VHOST_USER_PROTOCOL_F_MQ; } From patchwork Tue Feb 5 18:14:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037036 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JNMWkVmI"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCr40QNfz9s7T for ; Wed, 6 Feb 2019 05:33:08 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37543 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ws-0007dd-0w for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:33:06 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36032) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GM-0002OI-3F for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003oi-EN for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:44380) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003Un-TP for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wr1-x441.google.com with SMTP id v16so2844068wrn.11 for ; Tue, 05 Feb 2019 10:15:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XIt+d+0E4uOsx0A2cDxGhtPi14KBJTpHHdPHy7eIHf4=; b=JNMWkVmImfiNFfV4um8jtOuEU6mDgr1tPrJzN+H73JkjWS8Q+Xc4/hz0NUde3+DBYU C6/zRpleoyFILnNB+UcLy82f6XdXWlQuE/BBTv2q/5SdMSEImyyifkx3IRqSl6FHSlEA WMov3fTXkopL0EP+PJ96MD1AXyx/F1xcmk1E7D5NVba+5jV7FNnXVOy1akWd0h94TR46 bbtTeP88oqNszpr4ZyMNdybJKNiAcvfh4e/h97FrNFYR8gKPXNLog97asbGHfBFyRlpl 4lwhN9vAp54Q4EwuXDLeMJN3OCq+vhMpnI1uWfHDtZCn++E4uN317zPwcUt3KEwSx7vo oF/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=XIt+d+0E4uOsx0A2cDxGhtPi14KBJTpHHdPHy7eIHf4=; b=AnFBd9xvWPexrvhPcudB96NGI9UxhKbae27vPggC+exyx2yXYfTemiuF9XEV/JcYBh x8R6n/mHWnSskIQ4C2aWNSoMWDbuNxAu9pKZnp1cPWZt9QYvGrKaUWMPhWI5rUqBXtx4 nPlK8ygOl5S7UU3UNBePAKH3/4rj77sbb8OXXglUC6sFEhAGR5v2A02Ir8bodbqcxp4t Ntgm/jJ2PwjUNOMBs6hf6h2/jXO70gfKjm8zAAXmcfsZnA8GCjqQNAgULmtHjTmg8KWw cq7rW5J/UES8PKzPG+fgAsgY17Sl+ZmZ5iRaNizyFwz+oFIq8Ps7iy0N6sfH48gMH+En uEug== X-Gm-Message-State: AHQUAubIedkPMSA1nVFPfufDBWyFLV4q6FWdhgWlOOu5axxK5n7qkZ0b uxjrsTNtA4jX7Sj0QSwM9o3gI1V6 X-Google-Smtp-Source: AHgI3IYW7faAS5I5eZ5rlMGxs39NJyCr8MMOeB+UdQXX28I7FTxcdZVX0lxVBkn3Q6O4TG8gKLIfhw== X-Received: by 2002:adf:e8c1:: with SMTP id k1mr4507887wrn.104.1549390531863; Tue, 05 Feb 2019 10:15:31 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:31 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:14 +0100 Message-Id: <1549390526-24246-5-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PULL 04/76] vhost-user-test: skip if there is no memory at address 0 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The virt machine cannot run the vhost-user qtests because they hardcode the presence of memory at address 0. Report the tests as a skip so that they can be converted to use qgraph. Reviewed-by: Marc-André Lureau Signed-off-by: Paolo Bonzini Message-Id: <1543851204-41186-11-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 58 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 13 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index a4f51b5..a0da5c3 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -228,9 +228,11 @@ static void uninit_virtio_dev(TestServer *s) qvirtio_pci_device_free(s->dev); } -static void wait_for_fds(TestServer *s) +static bool wait_for_fds(TestServer *s) { gint64 end_time; + bool got_region; + int i; g_mutex_lock(&s->data_mutex); @@ -248,6 +250,19 @@ static void wait_for_fds(TestServer *s) g_assert_cmpint(s->fds_num, ==, s->memory.nregions); g_mutex_unlock(&s->data_mutex); + + got_region = false; + for (i = 0; i < s->memory.nregions; ++i) { + VhostUserMemoryRegion *reg = &s->memory.regions[i]; + if (reg->guest_phys_addr == 0) { + got_region = true; + break; + } + } + if (!got_region) { + g_test_skip("No memory at address 0x0"); + } + return got_region; } static void read_guest_mem_server(TestServer *s) @@ -256,8 +271,6 @@ static void read_guest_mem_server(TestServer *s) int i, j; size_t size; - wait_for_fds(s); - g_mutex_lock(&s->data_mutex); /* iterate all regions */ @@ -577,8 +590,6 @@ static void write_guest_mem(TestServer *s, uint32_t seed) int i, j; size_t size; - wait_for_fds(s); - /* iterate all regions */ for (i = 0; i < s->fds_num; i++) { @@ -661,8 +672,13 @@ static void test_read_guest_mem(const void *arg) init_virtio_dev(server, 1u << VIRTIO_NET_F_MAC); + if (!wait_for_fds(server)) { + goto exit; + } + read_guest_mem_server(server); +exit: uninit_virtio_dev(server); qtest_quit(s); @@ -689,8 +705,10 @@ static void test_migrate(void) g_free(cmd); init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); - init_virtio_dev(dest, 1u << VIRTIO_NET_F_MAC); - wait_for_fds(s); + if (!wait_for_fds(s)) { + goto exit; + } + size = get_log_size(s); g_assert_cmpint(size, ==, (2 * 1024 * 1024) / (VHOST_LOG_PAGE * 8)); @@ -699,6 +717,7 @@ static void test_migrate(void) g_free(tmp); to = qtest_init(cmd); g_free(cmd); + init_virtio_dev(dest, 1u << VIRTIO_NET_F_MAC); source = g_source_new(&test_migrate_source_funcs, sizeof(TestMigrateSource)); @@ -738,15 +757,18 @@ static void test_migrate(void) global_qtest = to; qmp_eventwait("RESUME"); + g_assert(wait_for_fds(s)); read_guest_mem_server(dest); - uninit_virtio_dev(s); uninit_virtio_dev(dest); + qtest_quit(to); g_source_destroy(source); g_source_unref(source); - qtest_quit(to); +exit: + uninit_virtio_dev(s); + test_server_free(dest); qtest_quit(from); test_server_free(s); @@ -810,16 +832,20 @@ static void test_reconnect_subprocess(void) g_free(cmd); init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); - wait_for_fds(s); + if (!wait_for_fds(s)) { + goto exit; + } + wait_for_rings_started(s, 2); /* reconnect */ s->fds_num = 0; s->rings = 0; g_idle_add(reconnect_cb, s); - wait_for_fds(s); + g_assert(wait_for_fds(s)); wait_for_rings_started(s, 2); +exit: uninit_virtio_dev(s); qtest_end(); @@ -848,9 +874,12 @@ static void test_connect_fail_subprocess(void) g_free(cmd); init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); - wait_for_fds(s); + if (!wait_for_fds(s)) { + goto exit; + } wait_for_rings_started(s, 2); +exit: uninit_virtio_dev(s); qtest_end(); @@ -878,9 +907,12 @@ static void test_flags_mismatch_subprocess(void) g_free(cmd); init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); - wait_for_fds(s); + if (!wait_for_fds(s)) { + goto exit; + } wait_for_rings_started(s, 2); +exit: uninit_virtio_dev(s); qtest_end(); From patchwork Tue Feb 5 18:14:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037065 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Jhz+dSYv"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDKs1gblz9s7T for ; Wed, 6 Feb 2019 05:55:29 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37902 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5sV-0000dt-51 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:55:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002OA-V7 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003nB-P2 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:56145) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003ZF-Dm for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wm1-x332.google.com with SMTP id y139so4639090wmc.5 for ; Tue, 05 Feb 2019 10:15:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mwClfpFxvLDFrfGuZPieSBVdIJN4cL/z1+VH9I7CpEA=; b=Jhz+dSYv6VaPgS/KocTzdjgnMyuYHyR6dBYR8xU2fhgOt2H1YIDMt0jF0ttPkXIZMq BEm+TvM0HgBU50yWUk40ivN+ODZDrKmfwg+Om/lAGcBVtRNgBiITLTDZdvWh7VvNUYaj EZEQODfBYgjoJ90zPzW0aXnzA9wM8v6mUEOnDKN1rzt/Sn9SKed7c7/ASQ/kiyeyLh9g QM9epoa4G5n+VHzMhQQkHlxzVw3yWcyJGWjYpQYLCzm01ZJG9iQO4+7ZDWEBzrPs+Ze0 gyAucpVdLyNgLZbMLr+j3TRlh2mbggTAVRbFfWfaBkm7SKUCWHnauy+H7QqQYMSkrjNT qNIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=mwClfpFxvLDFrfGuZPieSBVdIJN4cL/z1+VH9I7CpEA=; b=Z1s0qOKRXNoBtEpqiOUd49f1vpxA7qIE7EbTlH2eHdPbbu22pCmYsSgZW8CNwhh9oN bdne7cs3ZaRv/Bqhppx2IR9/Q0u77sur4mm7ZuF+S46QL21FrIlmLhVpy5XuYoht1dlB X/9+wOckm8wxz20SKQyM6HyET6HxPqwIx6bLW/+wNyvJM5I3vxb/jlz+XzKCwSGuCmTT SMoout3CCIEliXtfAFVegzWPkoA9xz/Cp21zrU6oBwi1VMXG8aYF/uDcu3uSyXji25w6 HpeUUCeTTtKAqCdsgRwwQ5C7Ufh7wOOBbX05FybSRDOjiYgQueAYxE9V81xwS83nUyAk +jFA== X-Gm-Message-State: AHQUAuY6ihz5tS3VpLeLIwfWLYb5prXadTaOiUjgZQ0buvTyHsn8P3T6 ALkzg5c24DnQigTfe522uBeGkz3q X-Google-Smtp-Source: AHgI3IaldPCp4awC6f53M8A8SKt/y5isxv9IIfS/4Dq069DNAQp4ZMJp/ZeWk7pKjzpGBuqtf7p0lw== X-Received: by 2002:a7b:c399:: with SMTP id s25mr18192wmj.90.1549390532762; Tue, 05 Feb 2019 10:15:32 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:32 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:15 +0100 Message-Id: <1549390526-24246-6-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 Subject: [Qemu-devel] [PULL 05/76] vhost-user-test: reduce usage of global_qtest X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Whenever the code can run on multiple QTestStates, use them explicitly instead of global_qtest. Reviewed-by: Marc-André Lureau Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <1543851204-41186-12-git-send-email-pbonzini@redhat.com> --- tests/vhost-user-test.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index a0da5c3..7d5f234 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -187,12 +187,12 @@ static char *get_qemu_cmd(TestServer *s, } } -static void init_virtio_dev(TestServer *s, uint32_t features_mask) +static void init_virtio_dev(QTestState *qts, TestServer *s, uint32_t features_mask) { uint32_t features; int i; - s->bus = qpci_init_pc(global_qtest, NULL); + s->bus = qpci_init_pc(qts, NULL); g_assert_nonnull(s->bus); s->dev = qvirtio_pci_device_find(s->bus, VIRTIO_ID_NET); @@ -203,7 +203,7 @@ static void init_virtio_dev(TestServer *s, uint32_t features_mask) qvirtio_set_acknowledge(&s->dev->vdev); qvirtio_set_driver(&s->dev->vdev); - s->alloc = pc_alloc_init(global_qtest); + s->alloc = pc_alloc_init(qts); for (i = 0; i < s->queues * 2; i++) { s->vq[i] = qvirtqueue_setup(&s->dev->vdev, s->alloc, i); @@ -265,7 +265,7 @@ static bool wait_for_fds(TestServer *s) return got_region; } -static void read_guest_mem_server(TestServer *s) +static void read_guest_mem_server(QTestState *qts, TestServer *s) { uint8_t *guest_mem; int i, j; @@ -293,7 +293,7 @@ static void read_guest_mem_server(TestServer *s) guest_mem += (s->memory.regions[i].mmap_offset / sizeof(*guest_mem)); for (j = 0; j < 1024; j++) { - uint32_t a = readb(s->memory.regions[i].guest_phys_addr + j); + uint32_t a = qtest_readb(qts, s->memory.regions[i].guest_phys_addr + j); uint32_t b = guest_mem[j]; g_assert_cmpint(a, ==, b); @@ -670,13 +670,13 @@ static void test_read_guest_mem(const void *arg) s = qtest_start(qemu_cmd); g_free(qemu_cmd); - init_virtio_dev(server, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, server, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(server)) { goto exit; } - read_guest_mem_server(server); + read_guest_mem_server(global_qtest, server); exit: uninit_virtio_dev(server); @@ -690,7 +690,7 @@ static void test_migrate(void) TestServer *s = test_server_new("src"); TestServer *dest = test_server_new("dest"); char *uri = g_strdup_printf("%s%s", "unix:", dest->mig_path); - QTestState *global = global_qtest, *from, *to; + QTestState *from, *to; GSource *source; gchar *cmd, *tmp; QDict *rsp; @@ -704,7 +704,7 @@ static void test_migrate(void) from = qtest_start(cmd); g_free(cmd); - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(from, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -717,7 +717,7 @@ static void test_migrate(void) g_free(tmp); to = qtest_init(cmd); g_free(cmd); - init_virtio_dev(dest, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(to, dest, 1u << VIRTIO_NET_F_MAC); source = g_source_new(&test_migrate_source_funcs, sizeof(TestMigrateSource)); @@ -753,12 +753,10 @@ static void test_migrate(void) qobject_unref(rsp); qmp_eventwait("STOP"); + qtest_qmp_eventwait(to, "RESUME"); - global_qtest = to; - qmp_eventwait("RESUME"); - - g_assert(wait_for_fds(s)); - read_guest_mem_server(dest); + g_assert(wait_for_fds(dest)); + read_guest_mem_server(to, dest); uninit_virtio_dev(dest); qtest_quit(to); @@ -773,8 +771,6 @@ exit: qtest_quit(from); test_server_free(s); g_free(uri); - - global_qtest = global; } static void wait_for_rings_started(TestServer *s, size_t count) @@ -831,7 +827,7 @@ static void test_reconnect_subprocess(void) qtest_start(cmd); g_free(cmd); - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -873,7 +869,7 @@ static void test_connect_fail_subprocess(void) qtest_start(cmd); g_free(cmd); - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -906,7 +902,7 @@ static void test_flags_mismatch_subprocess(void) qtest_start(cmd); g_free(cmd); - init_virtio_dev(s, 1u << VIRTIO_NET_F_MAC); + init_virtio_dev(global_qtest, s, 1u << VIRTIO_NET_F_MAC); if (!wait_for_fds(s)) { goto exit; } @@ -957,7 +953,7 @@ static void test_multiqueue(void) qtest_start(cmd); g_free(cmd); - init_virtio_dev(s, features_mask); + init_virtio_dev(global_qtest, s, features_mask); wait_for_rings_started(s, s->queues * 2); From patchwork Tue Feb 5 18:14:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037031 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="jx4eYPn5"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCmR3lBdz9s7T for ; Wed, 6 Feb 2019 05:29:59 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37438 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Tp-0004tR-G9 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:29:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35813) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GI-0002KD-7N for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003kX-Fs for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:38242) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003Vg-2G for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wr1-x431.google.com with SMTP id v13so4716166wrw.5 for ; Tue, 05 Feb 2019 10:15:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=KG8JGH6ExZx1q2kSHwj3TeXDPLKazW4Rp6eTJ8IEuiE=; b=jx4eYPn51hmr9OpSUhqXlUXqXZLXiY7SJaxf35vNQ8XSR+CYw4CV3ZelfQBHE6K/v6 p4GMMEzCSW/mMDSWFQls67RRDo5K921dvLmIWgDu0SytQgnTWg1mmgDdE7gic4xV7SKv XsEIGGa3g2lFYXwOwBabd1SflkyDDNUtLc/OTCTFgKUBsw1YnffK762IGIk6+g+au0I+ vweg8Wdm4UCulsuWeR7Bo/vbJLhjWfq/1stYAN64Qe9bVS/XCi8wR0GTRhjIRQQQ5zID mdUMtRnBNP9+Q/58dk5Bv4+x49EA82o4XZvlxnMaYs2+hqSGxEpjjCvjyejAzuUu0Dt6 +g6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=KG8JGH6ExZx1q2kSHwj3TeXDPLKazW4Rp6eTJ8IEuiE=; b=WI6Vxf+hhRZ5WfExC9QKD51jJLHvgXKUf4vSUs3KDJbJZA/wruuS1lpuXrhMkiZW14 a/qDXXBcj6ChYu33Hs2l/vuKIDUFCiqOcBHL8xZRBTS794EoSZW36cKIAYVJKIx9xAxh FByb+MjS1V66evGY+k5O1GNnthwtVSddWm8lBSoINqugoG7pGCZYkpMuqlwqdAyM9biU SbMBcQDhJ4CL1x8TXOjv2ATZI0i6TOSZiu+7FsMzUTjakACnixehrsD9XNy9tnbJJ7Th wonk121v+3rAEQKurdmDBkE83yO/0XggPKZkiHi0VvDz3mp5XOqcI+pB52+OmoW3wrlf gUgw== X-Gm-Message-State: AHQUAuaSxBMOPYbntm2g701o8U8PEb0G1PyCNiU3ACmn0NsbmPHXa0wP x621UIx0EDSqWy/4iOgZSjybu4Bb X-Google-Smtp-Source: AHgI3IZii9Lcf4hN0OdDm3bNdM6ocTiZTV35oeW4ltJvpKiYCzgpdRFXsoB2623qkfNsmR+S76fwdQ== X-Received: by 2002:a5d:6507:: with SMTP id x7mr2201885wru.299.1549390534217; Tue, 05 Feb 2019 10:15:34 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:32 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:16 +0100 Message-Id: <1549390526-24246-7-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 Subject: [Qemu-devel] [PULL 06/76] tap: flush STDOUT on newline X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This makes it easier to follow what is going on. Signed-off-by: Paolo Bonzini --- scripts/tap-driver.pl | 1 + scripts/tap-merge.pl | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/tap-driver.pl b/scripts/tap-driver.pl index 5e59b5d..6621a5c 100755 --- a/scripts/tap-driver.pl +++ b/scripts/tap-driver.pl @@ -313,6 +313,7 @@ sub main () my $iterator = TAP::Parser::Iterator::Stream->new(\*STDIN); my $parser = TAP::Parser->new ({iterator => $iterator }); + STDOUT->autoflush(1); while (defined (my $cur = $parser->next)) { # Parsing of TAP input should stop after a "Bail out!" directive. diff --git a/scripts/tap-merge.pl b/scripts/tap-merge.pl index 59e3fa5..10ccf57 100755 --- a/scripts/tap-merge.pl +++ b/scripts/tap-merge.pl @@ -53,6 +53,7 @@ sub main () my $testno = 0; # Number of test results seen so far. my $bailed_out = 0; # Whether a "Bail out!" directive has been seen. + STDOUT->autoflush(1); while (defined (my $cur = $parser->next)) { if ($cur->is_bailout) From patchwork Tue Feb 5 18:14:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037021 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qr5Hj0V0"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCYF1WSnz9sDX for ; Wed, 6 Feb 2019 05:20:16 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37064 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5KQ-00058U-4Q for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:20:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35807) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GH-0002Jx-W7 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003l4-N0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:51892) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003W7-Cy for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wm1-x332.google.com with SMTP id b11so4694792wmj.1 for ; Tue, 05 Feb 2019 10:15:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=vL0OrSrFVyP0f49N+zvpzugQjVdjOQGPy3gvAQt4AuQ=; b=qr5Hj0V0mMjSpfoW9e402yKCxch2oLNoHPXmCGnkJQoS/0svvJYz54Wbd874TVBbFg Vc97C/FI8qJDlrCEmHGpa/NyMpLpbYVjT3jTs5piKyA1lwUDmbnBcl6hZukuaSllAAF6 y1R8F3II+K5UWOy57LyrCsL0q+YaDOQVbJJXG9naruQdQUgZXlQPi6YR3HK0itg+FJS/ Bm+t4bWm2nQk9nmRPrtb3eMvkFnYYouRfToz8Eh+ppCEDCesHbuy3M3szECOS2U7ZsMo sM09+JjuJh3cqT6X06iu41mWFp5RHg53j3YAdDskr6dfZBjyRr1xqOYaDh4RQulekrfI WbPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=vL0OrSrFVyP0f49N+zvpzugQjVdjOQGPy3gvAQt4AuQ=; b=S0Rd6MUks/LsTztS47O6IJT7LFkUC2tqBTJ77AJj2LN498Me7qPpVb/t2CLgRKUwKu ww83hxhA9R9PWyc91PGKX/CwumCxCwzv1hpEGjJRmYWpTbFKiwGm6zegWEI7teqwnmlB Z1eUQCtHizCL4JM9UO0lRve132dJvFvbxzpv/k+ICELrNNE2c+pRrVWxK75GMN9UjvW0 5k1hnpsdllUaU3+1oUaztaPJhJcxxKVqY6vpaIrA5mg3nsueXG02QR2Lbsz9Qs7v4pzl pb7qwD6T0Q5Ica23qBgnLgi1iyOfw2ww6LtfCCCbLodJFUujm+qUwbtlv8KZOJ0Mkmg3 ryBw== X-Gm-Message-State: AHQUAuaCj3PSubD0PvOHCTnkOLLAVHyAovCx9RzaH9DEF7xx0lDbDJbE KbQJtWtvsgCTxwE6Hqv1IOwcOoNC X-Google-Smtp-Source: AHgI3IYoVuE5aTnbNnQrksnyJmELScc6A2n5IyMF/WPc63b5Eg8yQDtHIq/iWD9Bp/BGxz2tVc4JeA== X-Received: by 2002:a1c:ce0e:: with SMTP id e14mr4991352wmg.53.1549390535329; Tue, 05 Feb 2019 10:15:35 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:34 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:17 +0100 Message-Id: <1549390526-24246-8-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 Subject: [Qemu-devel] [PULL 07/76] cpu-exec: add assert_no_pages_locked() after longjmp X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Emilio G. Cota" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: "Emilio G. Cota" We forgot to add this check in faa9372c07 ("translate-all: introduce assert_no_pages_locked", 2018-06-15); we only added it after returning from a longjmp in cpu_exec_step_atomic. Fix it. Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- accel/tcg/cpu-exec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 7cf1292..49b3259 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -702,6 +702,7 @@ int cpu_exec(CPUState *cpu) if (qemu_mutex_iothread_locked()) { qemu_mutex_unlock_iothread(); } + assert_no_pages_locked(); } /* if an exception is pending, we execute it here */ From patchwork Tue Feb 5 18:14:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037037 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MHSrAbqK"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCtY3vTqz9s7T for ; Wed, 6 Feb 2019 05:35:16 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37579 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Yw-0000jT-OD for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:35:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35910) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002Ln-Mo for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003mf-Ft for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:41209) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003WV-3f for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x42c.google.com with SMTP id x10so4691337wrs.8 for ; Tue, 05 Feb 2019 10:15:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=nT6J2BhVeHWp0Myzw3B3jQ9Cnnd15cJtDbyuf8Ygp1I=; b=MHSrAbqKxKKSPKahQnjjdmnj3luXE/1nayRwtmmZqXYZ7QWGYSMVn7XWUEgnNTzz62 SSW+YBey1XcdRVlW5MQTqqSgVRTvaGOK5pJ3+WwQimbf0bpQgUB+D5cpkpXiMg3/FZCs +/YmItM93wv4/GhS85xLS9oY/VVUTeOkrpq9+AQZbOeKSU1tcZoCUYiLaBieZMkteBtR deI1EZqmO0vFjwmQHAkbGOWvYmi6hJpFkNAAG+A9SQCg7Cl3/cg91WI2tmkotKtb/ZOw 7Ru/hrqtB+rhnLSSE50znHiBcggEWtWJmkjKiC8v3zkU38lJslZpOicevZB6g387PaF/ fYbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=nT6J2BhVeHWp0Myzw3B3jQ9Cnnd15cJtDbyuf8Ygp1I=; b=s+NUOLOOLwb8zfggYLxJ8e/7tJRBUa37pIZWqBejLM8LDI45zJCUEvovLaTMhQ3Hcr mG1y41y4WJZc/628BNj+R2syv2tyo/fJkvLnEkruWGVyg6Z4TgjQoI26NUZsUxF+Mscx jwGlMInCylU5ZMoU36wyL/0auBUNHecS+YsFkZfCy5LtDkReL4ODFWWHtqT50qSBwMdU SWhmSS0g1ucbJPsv6vRGi3cSVMxBzST0xjZsY8l8NPIjlUs0PHbWMwgSurPxnBA7DfjU OWoW6t4kFJ0CKLk3Q6fu2hdN9EhQX9JJMqIVW+WjYr1npGTGDLSXwF1ykj+p+k1XfYnv eOjw== X-Gm-Message-State: AHQUAuapWG0wlmtMdxVH//Vk97whTXOtZ9lncuTE7sb4V25WvxwJ4jAI dPh2TvdTNGoQeDi1L+0hpRJH3ez5 X-Google-Smtp-Source: AHgI3Ib4+w70RG+RuOzEHJeo0eEkztHkhaBLqnmLjhxTONr7fJI2uivZDI3V04ji3cWRBo6DIlXv0A== X-Received: by 2002:a5d:6187:: with SMTP id j7mr4705418wru.300.1549390536316; Tue, 05 Feb 2019 10:15:36 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:35 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:18 +0100 Message-Id: <1549390526-24246-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42c Subject: [Qemu-devel] [PULL 08/76] cpu-exec: reset BQL after longjmp in cpu_exec_step_atomic X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Emilio G. Cota" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: "Emilio G. Cota" Just like we do in cpu_exec(). Reported-by: Max Filippov Tested-by: Max Filippov Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- accel/tcg/cpu-exec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 49b3259..fab30af 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -266,6 +266,9 @@ void cpu_exec_step_atomic(CPUState *cpu) #ifndef CONFIG_SOFTMMU tcg_debug_assert(!have_mmap_lock()); #endif + if (qemu_mutex_iothread_locked()) { + qemu_mutex_unlock_iothread(); + } assert_no_pages_locked(); } From patchwork Tue Feb 5 18:14:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037042 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="afJm5P2b"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCyG6t67z9s7h for ; Wed, 6 Feb 2019 05:38:30 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37659 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5c5-0003H9-0A for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:38:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35909) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002Lk-Mq for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003ks-Jz for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:44629) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003X1-2V for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wr1-x436.google.com with SMTP id v16so2844396wrn.11 for ; Tue, 05 Feb 2019 10:15:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fl7Qxg6KjRnOTV412EmkcaXx8hM9cp1SRVdU9sE2VNk=; b=afJm5P2bOw2A2VbShqsztIhFjoRJOyH4RToPRcrWLyrSPyd18aBtSLTe5QsFAYBNMy HO97viT5ikAziVoWv9YzrwuJjnxQWBTZ5izr2/jL5jKzNsMk9vSmTpE+B25Hjih73nR8 ip3ruvxo0q26OGcdSalmGXoavBlG25w/vkE66D7bLLbI4wJiDN7gsIAsvcPQTPLNbipl 2IjqOo3MDw34O7ft5VESRH4ljFqL0cey65zvJnPgKrPjg6ZZK06ZJUcQZWNfgAwoPKgJ 5magnbeOJc/39tZNHupXYBwkmahmVam8vIWmTT5bLspZCia0kZbzA/M/KzSGP97KrlEx oz/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fl7Qxg6KjRnOTV412EmkcaXx8hM9cp1SRVdU9sE2VNk=; b=IF/j7ueZ11PfAq2Ks8MBbZu2Z4VD7p8CfUlxkJGHEMyjfo+P9Q4iNpVOZQ7yR/91V9 VjkVwVhsfN9WJ8zq6QEANGLVthPL1VwZ9Ipo+ifzWVg8YYlPZdLIgzqM9O9BgaAyQcgp lUcGeUJEFzoDrmI2dEeGelT+Ev4AmInShfsrP05+gHhn1hQkh77f0XqEChIoUNJHH/A4 Mc88SmdMsRAHhlDIcgDTyDUGBsFhOAWsjquwJqfNXbYUEm35PSXynVTFes3xtgLExhJP aBFz+ZXJaHd/LM//8ns4PXrAIC18EiCm50oBzSDuUsDssiPEIBIuYveHHYX3pUOrf/b/ BFdQ== X-Gm-Message-State: AHQUAuYckeggSmIHzc9HX6z+dOwimkuBKOsTouYpZ6HZDXPjNufvQF07 7bb4wxQmOH630E7z2qEG38AKQ0lc X-Google-Smtp-Source: AHgI3IbzmaiMrCJGp4tasnkhFZw6qnbe1S4FDSmhoAm2MAhX+DG09dxWVaSX+ZS2B3cOBFvvHE9TCg== X-Received: by 2002:adf:dcd0:: with SMTP id x16mr4614987wrm.143.1549390537244; Tue, 05 Feb 2019 10:15:37 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:36 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:19 +0100 Message-Id: <1549390526-24246-10-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::436 Subject: [Qemu-devel] [PULL 09/76] configure: Add a proper check for openpty() in libutil X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Thomas Huth On Linux (and maybe some BSDs), we require libutil for the openpty() function. However, this library is not available on some other systems, so we currently use a fragile if-statement in the configure script to check whether we need the library or not. Unfortunately, we also hard-coded a "-lutil" in the tests/Makefile.include file, so this breaks the build on Solaris, for example (see buglink below). To fix the issue, add the "-lutil" to "libs_tools" in the configure script instead, then this gets properly propagated to the tests, too. And while we're at it, also replace the fragile if-statement in the confi- gure script with a proper link-check for the availability of this function. Buglink: https://bugs.launchpad.net/qemu/+bug/1777252 Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- configure | 12 ++++++++++-- tests/Makefile.include | 4 ---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 3d89870..f6a51e0 100755 --- a/configure +++ b/configure @@ -4612,9 +4612,17 @@ elif compile_prog "" "$pthread_lib -lrt" ; then libs_qga="$libs_qga -lrt" fi -if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \ - "$haiku" != "yes" ; then +# Check whether we need to link libutil for openpty() +cat > $TMPC << EOF +extern int openpty(int *am, int *as, char *name, void *termp, void *winp); +int main(void) { return openpty(0, 0, 0, 0, 0); } +EOF + +if ! compile_prog "" "" ; then + if compile_prog "" "-lutil" ; then libs_softmmu="-lutil $libs_softmmu" + libs_tools="-lutil $libs_tools" + fi fi ########################################## diff --git a/tests/Makefile.include b/tests/Makefile.include index 75ad9c0..b39e989 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -798,10 +798,6 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF) rm $(INITRD_WORK_DIR)/init rmdir $(INITRD_WORK_DIR) -ifeq ($(CONFIG_POSIX),y) -LIBS += -lutil -endif - # QTest rules TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) From patchwork Tue Feb 5 18:14:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037045 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RFfKiVkp"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD0Z1Ldhz9s7h for ; Wed, 6 Feb 2019 05:40:26 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37678 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5dw-0004yk-Fi for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:40:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35899) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002La-IQ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003mE-CO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:38246) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003XX-U0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x435.google.com with SMTP id v13so4716360wrw.5 for ; Tue, 05 Feb 2019 10:15:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=CbQc0oVerUPwjt8sr54endkEDd1gxjnDLeM63jRNSVM=; b=RFfKiVkpgRuups/0p9c8zOUbhbhFKLNuUTC53dyeT+1Bf0M6/PAc6o4rU6FYpjrQTc kjtIJ6w/aY7owvBO+Vxb8pVEEx/N3YVwun2b00EO+w+mnTzlWQywkUbT9euDwe8+V2H2 UoOQKi5RV26VNOmXr/GnfbXcZ0ALy6PJSM3TOY2dnxpvjUt02Ku2XaREMjLTs7CCCMJb Dt7lYMeKoi+oig8Y+kvfirwl+ohsXbOuXYubWNB66JSkyKns5AkkK2DxY9MJVcvgshFy atW2I29imGSaoftHrGF4THyXV+Aft0TP1z/q+UyYA9etgGHSgbJWVoxW+lciM/++tAAp mxrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=CbQc0oVerUPwjt8sr54endkEDd1gxjnDLeM63jRNSVM=; b=fBeLimU4GDBTauIBGsYOOkfLsnKMrwo5gJhtQNfq4WxIHeXIYmVJu2oBEWmsXV0ume 0UMNP7U1NGmCkeeovmpuGrcGQSF8ubvUjdLFpTLj2zSTQyNzWnHL+OScn79Qcrl+yfX1 32VUDlqOFKkCUczPCu+d1+5vNuyqJ8bWd37VLFBQRIQ8pP8AvIeTTMamKgJ40U370Zrh hmfUkTSb+Sq0SHc8Gxy5PRCdhRX1QhznTm/SPXKhp/LOtSA4m+Lcivq4Two65SnmFRRP VWWJDokYpLHrwHBLb+NGVjBMeFd+Y9sG1aXsFFb9dDZGHzgwgOndigPHF0poCRiBkYz6 +oRA== X-Gm-Message-State: AHQUAuaIlFhLWklbXBvj/A00gRhPkAmxR7bPcgxfqIlIXQaNSxg/kb2b 4f7W7XMxZ1aGwNzMGUUokdSzWZa4 X-Google-Smtp-Source: AHgI3IYAt3+twGE0Yaw0pj+xyjeaJ42zE5+Q6sdLAF+/alTndHV281MZLwH9fLl1ajFOa0DHWD+L7g== X-Received: by 2002:adf:e8c1:: with SMTP id k1mr4508248wrn.104.1549390538432; Tue, 05 Feb 2019 10:15:38 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:37 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:20 +0100 Message-Id: <1549390526-24246-11-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 10/76] cpus: ignore ESRCH in qemu_cpu_kick_thread() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laurent Vivier We can have a race condition between qemu_cpu_kick_thread() and qemu_kvm_cpu_thread_fn() when we hotunplug a CPU. In this case, qemu_cpu_kick_thread() can try to kick a thread that is exiting. pthread_kill() returns an error and qemu is stopped by an exit(1). qemu:qemu_cpu_kick_thread: No such process We can ignore safely this error. Signed-off-by: Laurent Vivier Signed-off-by: Paolo Bonzini --- cpus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpus.c b/cpus.c index b09b702..154daf5 100644 --- a/cpus.c +++ b/cpus.c @@ -1778,7 +1778,7 @@ static void qemu_cpu_kick_thread(CPUState *cpu) } cpu->thread_kicked = true; err = pthread_kill(cpu->thread->thread, SIG_IPI); - if (err) { + if (err && err != ESRCH) { fprintf(stderr, "qemu:%s: %s", __func__, strerror(err)); exit(1); } From patchwork Tue Feb 5 18:14:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037046 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Anj5fjQx"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD1k1Mnbz9s7h for ; Wed, 6 Feb 2019 05:41:30 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37714 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5ey-0005vN-45 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:41:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GV-0002W0-Ma for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003pQ-NO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:11 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:43672) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003YM-S7 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wr1-x443.google.com with SMTP id r2so4683820wrv.10 for ; Tue, 05 Feb 2019 10:15:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZQJ6HECtytgIA1EkAGZtIpN14n2ZwXOF7VRfz14xFKg=; b=Anj5fjQxf3GzBibc2fgk7CqNk7I7BJToFhJjngOF33BpATspJdxRnBQvY7P4tyVRHN qI9bUxpT9WDJeOgiuFGO87Z0m+QXROEfwkM73vCoq73vmzAH/0ZEUlWqVNnFFNUjuTEl v3Bt42Ql/LER87eMUsUEBCwUfD8NyKb2FcpxLYGZUXdKgGafxXDMWhK7WJ/z/8nVATxh Zl3Ws6u55XEWLw+JQkyQ+jzgfJArRbXkfj6plLuVKiOueVly8d4DwE+sFkFnl8MaMgCF ViNmmSXuaqklI0c8HJ5J5xLdctNqE57tC7gnj80L/Xr9P2R66ys63lxGvjq8sfEWFPiq j35Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ZQJ6HECtytgIA1EkAGZtIpN14n2ZwXOF7VRfz14xFKg=; b=QgvatDOHg8MwtJSGNnpp9f6+HXtOvsvQ3Pfcf5CWPW3OUMxV177uptjFwTwU7kxOBe iVsjm3hJN73hI+sWG2V4m5trI7gI6Jg2j/oOI+KXrn8VBn9T9gDbO1Z5/GZWZRjFc544 E0q0jQEtB1Mot7M61JvBaOijvooV9l8shUMHHFWiQY2H5gT7um8Vtuu8842Pe3vMXqsI jswPzM1+PZ1kptqGy1s0sJMiKArkSuP96vpKDF+otp2UAnwrsiQVx8xXABGcceg++X39 SYPi5slzgMbHdURWx1TTVByqZzbJgaO0VR/ipLJWeZRUuHxf93rGT48EH4gzC7fC8+fb Dq0g== X-Gm-Message-State: AHQUAuZNFBWmGWnpoKfyeR+Ku4MZH2KRJbPKv7I2ueLn/6GioJQn0vtx VVIGAsTx6cSPN87e0/W83comSOCL X-Google-Smtp-Source: AHgI3Ia27ke5mXeEqWy01fW2+pqf9F2b6HUkVIn+Qvs50NZEasdvfIlWZecfuJoshX6uKy6e6eFYwA== X-Received: by 2002:adf:a743:: with SMTP id e3mr4522870wrd.56.1549390539554; Tue, 05 Feb 2019 10:15:39 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:38 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:21 +0100 Message-Id: <1549390526-24246-12-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 Subject: [Qemu-devel] [PULL 11/76] elf: Add optional function ptr to load_elf() to parse ELF notes X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Liam Merwick This patch adds an optional function pointer, 'elf_note_fn', to load_elf() which causes load_elf() to additionally parse any ELF program headers of type PT_NOTE and check to see if the ELF Note is of the type specified by the 'translate_opaque' arg. If a matching ELF Note is found then the specfied function pointer is called to process the ELF note. Passing a NULL function pointer results in ELF Notes being skipped. The first consumer of this functionality is the PVHboot support which needs to read the XEN_ELFNOTE_PHYS32_ENTRY ELF Note while loading the uncompressed kernel binary in order to discover the boot entry address for the x86/HVM direct boot ABI. Signed-off-by: Liam Merwick Signed-off-by: Paolo Bonzini --- hw/alpha/dp264.c | 4 ++-- hw/arm/armv7m.c | 3 ++- hw/arm/boot.c | 2 +- hw/core/generic-loader.c | 2 +- hw/core/loader.c | 24 ++++++++++++++++-------- hw/cris/boot.c | 3 ++- hw/hppa/machine.c | 6 +++--- hw/i386/multiboot.c | 2 +- hw/lm32/lm32_boards.c | 6 ++++-- hw/lm32/milkymist.c | 3 ++- hw/m68k/an5206.c | 2 +- hw/m68k/mcf5208.c | 2 +- hw/microblaze/boot.c | 7 ++++--- hw/mips/mips_fulong2e.c | 5 +++-- hw/mips/mips_malta.c | 5 +++-- hw/mips/mips_mipssim.c | 5 +++-- hw/mips/mips_r4k.c | 5 +++-- hw/moxie/moxiesim.c | 2 +- hw/nios2/boot.c | 7 ++++--- hw/openrisc/openrisc_sim.c | 2 +- hw/pci-host/prep.c | 2 +- hw/ppc/e500.c | 3 ++- hw/ppc/mac_newworld.c | 5 +++-- hw/ppc/mac_oldworld.c | 5 +++-- hw/ppc/ppc440_bamboo.c | 2 +- hw/ppc/sam460ex.c | 3 ++- hw/ppc/spapr.c | 7 ++++--- hw/ppc/virtex_ml507.c | 2 +- hw/riscv/sifive_e.c | 2 +- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c | 2 +- hw/riscv/virt.c | 2 +- hw/s390x/ipl.c | 9 ++++++--- hw/sparc/leon3.c | 3 ++- hw/sparc/sun4m.c | 6 ++++-- hw/sparc64/sun4u.c | 4 ++-- hw/tricore/tricore_testboard.c | 2 +- hw/xtensa/sim.c | 12 ++++++++---- hw/xtensa/xtfpga.c | 2 +- include/hw/elf_ops.h | 2 ++ include/hw/loader.h | 9 ++++++++- 41 files changed, 113 insertions(+), 70 deletions(-) diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index dd62f2a..0347eb8 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -114,7 +114,7 @@ static void clipper_init(MachineState *machine) error_report("no palcode provided"); exit(1); } - size = load_elf(palcode_filename, cpu_alpha_superpage_to_phys, + size = load_elf(palcode_filename, NULL, cpu_alpha_superpage_to_phys, NULL, &palcode_entry, &palcode_low, &palcode_high, 0, EM_ALPHA, 0, 0); if (size < 0) { @@ -133,7 +133,7 @@ static void clipper_init(MachineState *machine) if (kernel_filename) { uint64_t param_offset; - size = load_elf(kernel_filename, cpu_alpha_superpage_to_phys, + size = load_elf(kernel_filename, NULL, cpu_alpha_superpage_to_phys, NULL, &kernel_entry, &kernel_low, &kernel_high, 0, EM_ALPHA, 0, 0); if (size < 0) { diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index adae11e..c4b2a9a 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -310,7 +310,8 @@ void armv7m_load_kernel(ARMCPU *cpu, const char *kernel_filename, int mem_size) as = cpu_get_address_space(cs, asidx); if (kernel_filename) { - image_size = load_elf_as(kernel_filename, NULL, NULL, &entry, &lowaddr, + image_size = load_elf_as(kernel_filename, NULL, NULL, NULL, + &entry, &lowaddr, NULL, big_endian, EM_ARM, 1, 0, as); if (image_size < 0) { image_size = load_image_targphys_as(kernel_filename, 0, diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 05762d0..be25902 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -881,7 +881,7 @@ static int64_t arm_load_elf(struct arm_boot_info *info, uint64_t *pentry, } } - ret = load_elf_as(info->kernel_filename, NULL, NULL, + ret = load_elf_as(info->kernel_filename, NULL, NULL, NULL, pentry, lowaddr, highaddr, big_endian, elf_machine, 1, data_swab, as); if (ret <= 0) { diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index fbae05f..3695dd4 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -136,7 +136,7 @@ static void generic_loader_realize(DeviceState *dev, Error **errp) AddressSpace *as = s->cpu ? s->cpu->as : NULL; if (!s->force_raw) { - size = load_elf_as(s->file, NULL, NULL, &entry, NULL, NULL, + size = load_elf_as(s->file, NULL, NULL, NULL, &entry, NULL, NULL, big_endian, 0, 0, 0, as); if (size < 0) { diff --git a/hw/core/loader.c b/hw/core/loader.c index c4f62fe..3a000d5 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -396,37 +396,42 @@ fail: } /* return < 0 if error, otherwise the number of bytes loaded in memory */ -int load_elf(const char *filename, uint64_t (*translate_fn)(void *, uint64_t), +int load_elf(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), + uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, int clear_lsb, int data_swab) { - return load_elf_as(filename, translate_fn, translate_opaque, pentry, - lowaddr, highaddr, big_endian, elf_machine, clear_lsb, - data_swab, NULL); + return load_elf_as(filename, elf_note_fn, translate_fn, translate_opaque, + pentry, lowaddr, highaddr, big_endian, elf_machine, + clear_lsb, data_swab, NULL); } /* return < 0 if error, otherwise the number of bytes loaded in memory */ int load_elf_as(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, int clear_lsb, int data_swab, AddressSpace *as) { - return load_elf_ram(filename, translate_fn, translate_opaque, + return load_elf_ram(filename, elf_note_fn, translate_fn, translate_opaque, pentry, lowaddr, highaddr, big_endian, elf_machine, clear_lsb, data_swab, as, true); } /* return < 0 if error, otherwise the number of bytes loaded in memory */ int load_elf_ram(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, int clear_lsb, int data_swab, AddressSpace *as, bool load_rom) { - return load_elf_ram_sym(filename, translate_fn, translate_opaque, + return load_elf_ram_sym(filename, elf_note_fn, + translate_fn, translate_opaque, pentry, lowaddr, highaddr, big_endian, elf_machine, clear_lsb, data_swab, as, load_rom, NULL); @@ -434,6 +439,7 @@ int load_elf_ram(const char *filename, /* return < 0 if error, otherwise the number of bytes loaded in memory */ int load_elf_ram_sym(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, @@ -476,11 +482,13 @@ int load_elf_ram_sym(const char *filename, lseek(fd, 0, SEEK_SET); if (e_ident[EI_CLASS] == ELFCLASS64) { - ret = load_elf64(filename, fd, translate_fn, translate_opaque, must_swab, + ret = load_elf64(filename, fd, elf_note_fn, + translate_fn, translate_opaque, must_swab, pentry, lowaddr, highaddr, elf_machine, clear_lsb, data_swab, as, load_rom, sym_cb); } else { - ret = load_elf32(filename, fd, translate_fn, translate_opaque, must_swab, + ret = load_elf32(filename, fd, elf_note_fn, + translate_fn, translate_opaque, must_swab, pentry, lowaddr, highaddr, elf_machine, clear_lsb, data_swab, as, load_rom, sym_cb); } diff --git a/hw/cris/boot.c b/hw/cris/boot.c index f896ed7..95cba21 100644 --- a/hw/cris/boot.c +++ b/hw/cris/boot.c @@ -75,7 +75,8 @@ void cris_load_image(CRISCPU *cpu, struct cris_load_info *li) env->load_info = li; /* Boots a kernel elf binary, os/linux-2.6/vmlinux from the axis devboard SDK. */ - image_size = load_elf(li->image_filename, translate_kernel_address, NULL, + image_size = load_elf(li->image_filename, NULL, + translate_kernel_address, NULL, &entry, NULL, &high, 0, EM_CRIS, 0, 0); li->entry = entry; if (image_size < 0) { diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index ac6dd7f..d1b1d3c 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -135,8 +135,8 @@ static void machine_hppa_init(MachineState *machine) exit(1); } - size = load_elf(firmware_filename, NULL, - NULL, &firmware_entry, &firmware_low, &firmware_high, + size = load_elf(firmware_filename, NULL, NULL, NULL, + &firmware_entry, &firmware_low, &firmware_high, true, EM_PARISC, 0, 0); /* Unfortunately, load_elf sign-extends reading elf32. */ @@ -165,7 +165,7 @@ static void machine_hppa_init(MachineState *machine) /* Load kernel */ if (kernel_filename) { - size = load_elf(kernel_filename, &cpu_hppa_to_phys, + size = load_elf(kernel_filename, NULL, &cpu_hppa_to_phys, NULL, &kernel_entry, &kernel_low, &kernel_high, true, EM_PARISC, 0, 0); diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c index 6234068..a3e33fb 100644 --- a/hw/i386/multiboot.c +++ b/hw/i386/multiboot.c @@ -199,7 +199,7 @@ int load_multiboot(FWCfgState *fw_cfg, exit(1); } - kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &elf_entry, &elf_low, &elf_high, 0, I386_ELF_MACHINE, 0, 0); if (kernel_size < 0) { diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c index fd8eccc..05157f8 100644 --- a/hw/lm32/lm32_boards.c +++ b/hw/lm32/lm32_boards.c @@ -138,7 +138,8 @@ static void lm32_evr_init(MachineState *machine) uint64_t entry; int kernel_size; - kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, + &entry, NULL, NULL, 1, EM_LATTICEMICO32, 0, 0); reset_info->bootstrap_pc = entry; @@ -231,7 +232,8 @@ static void lm32_uclinux_init(MachineState *machine) uint64_t entry; int kernel_size; - kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, + &entry, NULL, NULL, 1, EM_LATTICEMICO32, 0, 0); reset_info->bootstrap_pc = entry; diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index 26a2398..b080cf1 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -176,7 +176,8 @@ milkymist_init(MachineState *machine) uint64_t entry; /* Boots a kernel elf binary. */ - kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, + &entry, NULL, NULL, 1, EM_LATTICEMICO32, 0, 0); reset_info->bootstrap_pc = entry; diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index 5e067ea..06e3803 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -66,7 +66,7 @@ static void an5206_init(MachineState *machine) exit(1); } - kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &elf_entry, NULL, NULL, 1, EM_68K, 0, 0); entry = elf_entry; if (kernel_size < 0) { diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 0f2245d..8531e07 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -294,7 +294,7 @@ static void mcf5208evb_init(MachineState *machine) exit(1); } - kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &elf_entry, NULL, NULL, 1, EM_68K, 0, 0); entry = elf_entry; if (kernel_size < 0) { diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index 489ab83..a7af4c0 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -142,13 +142,14 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base, #endif /* Boots a kernel elf binary. */ - kernel_size = load_elf(kernel_filename, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &entry, &low, &high, big_endian, EM_MICROBLAZE, 0, 0); base32 = entry; if (base32 == 0xc0000000) { - kernel_size = load_elf(kernel_filename, translate_kernel_address, - NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, + &entry, NULL, NULL, big_endian, EM_MICROBLAZE, 0, 0); } /* Always boot into physical ram. */ diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index 42d09f6..02549d5 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -111,8 +111,9 @@ static int64_t load_kernel (CPUMIPSState *env) uint32_t *prom_buf; long prom_size; - kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, - NULL, (uint64_t *)&kernel_entry, + kernel_size = load_elf(loaderparams.kernel_filename, NULL, + cpu_mips_kseg0_to_phys, NULL, + (uint64_t *)&kernel_entry, (uint64_t *)&kernel_low, (uint64_t *)&kernel_high, 0, EM_MIPS, 1, 0); if (kernel_size < 0) { diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index c1cf0fe..7466776 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1010,8 +1010,9 @@ static int64_t load_kernel (void) big_endian = 0; #endif - kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, - NULL, (uint64_t *)&kernel_entry, NULL, + kernel_size = load_elf(loaderparams.kernel_filename, NULL, + cpu_mips_kseg0_to_phys, NULL, + (uint64_t *)&kernel_entry, NULL, (uint64_t *)&kernel_high, big_endian, EM_MIPS, 1, 0); if (kernel_size < 0) { error_report("could not load kernel '%s': %s", diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c index f665752..824abda 100644 --- a/hw/mips/mips_mipssim.c +++ b/hw/mips/mips_mipssim.c @@ -69,8 +69,9 @@ static int64_t load_kernel(void) big_endian = 0; #endif - kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, - NULL, (uint64_t *)&entry, NULL, + kernel_size = load_elf(loaderparams.kernel_filename, NULL, + cpu_mips_kseg0_to_phys, NULL, + (uint64_t *)&entry, NULL, (uint64_t *)&kernel_high, big_endian, EM_MIPS, 1, 0); if (kernel_size >= 0) { diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c index 1922407..a015a6d 100644 --- a/hw/mips/mips_r4k.c +++ b/hw/mips/mips_r4k.c @@ -92,8 +92,9 @@ static int64_t load_kernel(void) #else big_endian = 0; #endif - kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, - NULL, (uint64_t *)&entry, NULL, + kernel_size = load_elf(loaderparams.kernel_filename, NULL, + cpu_mips_kseg0_to_phys, NULL, + (uint64_t *)&entry, NULL, (uint64_t *)&kernel_high, big_endian, EM_MIPS, 1, 0); if (kernel_size >= 0) { diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c index c6b6f72..eddeed9 100644 --- a/hw/moxie/moxiesim.c +++ b/hw/moxie/moxiesim.c @@ -57,7 +57,7 @@ static void load_kernel(MoxieCPU *cpu, LoaderParams *loader_params) long kernel_size; ram_addr_t initrd_offset; - kernel_size = load_elf(loader_params->kernel_filename, NULL, NULL, + kernel_size = load_elf(loader_params->kernel_filename, NULL, NULL, NULL, &entry, &kernel_low, &kernel_high, 1, EM_MOXIE, 0, 0); diff --git a/hw/nios2/boot.c b/hw/nios2/boot.c index ed5cb28..5f0ab2f 100644 --- a/hw/nios2/boot.c +++ b/hw/nios2/boot.c @@ -146,13 +146,14 @@ void nios2_load_kernel(Nios2CPU *cpu, hwaddr ddr_base, #endif /* Boots a kernel elf binary. */ - kernel_size = load_elf(kernel_filename, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &entry, &low, &high, big_endian, EM_ALTERA_NIOS2, 0, 0); base32 = entry; if (base32 == 0xc0000000) { - kernel_size = load_elf(kernel_filename, translate_kernel_address, - NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, + &entry, NULL, NULL, big_endian, EM_ALTERA_NIOS2, 0, 0); } diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c index a495a84..7d3b734 100644 --- a/hw/openrisc/openrisc_sim.c +++ b/hw/openrisc/openrisc_sim.c @@ -96,7 +96,7 @@ static void openrisc_load_kernel(ram_addr_t ram_size, hwaddr entry; if (kernel_filename && !qtest_enabled()) { - kernel_size = load_elf(kernel_filename, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &elf_entry, NULL, NULL, 1, EM_OPENRISC, 1, 0); entry = elf_entry; diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index b1b6b16..8b9e1fd 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -331,7 +331,7 @@ static void raven_realize(PCIDevice *d, Error **errp) filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, s->bios_name); if (filename) { if (s->elf_machine != EM_NONE) { - bios_size = load_elf(filename, NULL, NULL, NULL, + bios_size = load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, 1, s->elf_machine, 0, 0); } if (bios_size < 0) { diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 0581e9e..7553f67 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -988,7 +988,8 @@ void ppce500_init(MachineState *machine) filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, payload_name); - payload_size = load_elf(filename, NULL, NULL, &bios_entry, &loadaddr, NULL, + payload_size = load_elf(filename, NULL, NULL, NULL, + &bios_entry, &loadaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); if (payload_size < 0) { /* diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index f1c8400..10be728 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -164,7 +164,7 @@ static void ppc_core99_init(MachineState *machine) /* Load OpenBIOS (ELF) */ if (filename) { - bios_size = load_elf(filename, NULL, NULL, NULL, + bios_size = load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, 1, PPC_ELF_MACHINE, 0, 0); g_free(filename); @@ -187,7 +187,8 @@ static void ppc_core99_init(MachineState *machine) #endif kernel_base = KERNEL_LOAD_ADDR; - kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL, + kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, NULL, &lowaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); if (kernel_size < 0) diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 98d531d..284431d 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -139,7 +139,7 @@ static void ppc_heathrow_init(MachineState *machine) /* Load OpenBIOS (ELF) */ if (filename) { - bios_size = load_elf(filename, 0, NULL, NULL, NULL, NULL, + bios_size = load_elf(filename, NULL, 0, NULL, NULL, NULL, NULL, 1, PPC_ELF_MACHINE, 0, 0); g_free(filename); } else { @@ -160,7 +160,8 @@ static void ppc_heathrow_init(MachineState *machine) bswap_needed = 0; #endif kernel_base = KERNEL_LOAD_ADDR; - kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL, + kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, NULL, &lowaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); if (kernel_size < 0) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 4b547ea..b4da099 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -256,7 +256,7 @@ static void bamboo_init(MachineState *machine) success = load_uimage(kernel_filename, &entry, &loadaddr, NULL, NULL, NULL); if (success < 0) { - success = load_elf(kernel_filename, NULL, NULL, &elf_entry, + success = load_elf(kernel_filename, NULL, NULL, NULL, &elf_entry, &elf_lowaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); entry = elf_entry; diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 202ed14..75250d4 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -426,7 +426,8 @@ static void sam460ex_init(MachineState *machine) if (success < 0) { uint64_t elf_entry, elf_lowaddr; - success = load_elf(machine->kernel_filename, NULL, NULL, &elf_entry, + success = load_elf(machine->kernel_filename, NULL, + NULL, NULL, &elf_entry, &elf_lowaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); entry = elf_entry; loadaddr = elf_lowaddr; diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 0fcdd35..332cba8 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2851,11 +2851,12 @@ static void spapr_machine_init(MachineState *machine) if (kernel_filename) { uint64_t lowaddr = 0; - spapr->kernel_size = load_elf(kernel_filename, translate_kernel_address, - NULL, NULL, &lowaddr, NULL, 1, + spapr->kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, + NULL, &lowaddr, NULL, 1, PPC_ELF_MACHINE, 0, 0); if (spapr->kernel_size == ELF_LOAD_WRONG_ENDIAN) { - spapr->kernel_size = load_elf(kernel_filename, + spapr->kernel_size = load_elf(kernel_filename, NULL, translate_kernel_address, NULL, NULL, &lowaddr, NULL, 0, PPC_ELF_MACHINE, 0, 0); diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 5177120..5a711cb 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -258,7 +258,7 @@ static void virtex_init(MachineState *machine) hwaddr boot_offset; /* Boots a kernel elf binary. */ - kernel_size = load_elf(kernel_filename, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, &entry, &low, &high, 1, PPC_ELF_MACHINE, 0, 0); boot_info.bootstrap_pc = entry & 0x00ffffff; diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 5d9d65f..bfc0866 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -78,7 +78,7 @@ static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; - if (load_elf(kernel_filename, NULL, NULL, + if (load_elf(kernel_filename, NULL, NULL, NULL, &kernel_entry, NULL, &kernel_high, 0, EM_RISCV, 1, 0) < 0) { error_report("could not load kernel '%s'", kernel_filename); diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 3bd3b67..2730b25 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -69,7 +69,7 @@ static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; - if (load_elf(kernel_filename, NULL, NULL, + if (load_elf(kernel_filename, NULL, NULL, NULL, &kernel_entry, NULL, &kernel_high, 0, EM_RISCV, 1, 0) < 0) { error_report("could not load kernel '%s'", kernel_filename); diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 268df04..c66ffc5 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -57,7 +57,7 @@ static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; - if (load_elf_ram_sym(kernel_filename, NULL, NULL, + if (load_elf_ram_sym(kernel_filename, NULL, NULL, NULL, &kernel_entry, NULL, &kernel_high, 0, EM_RISCV, 1, 0, NULL, true, htif_symbol_callback) < 0) { error_report("could not load kernel '%s'", kernel_filename); diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index e7f0716..3e8b19c 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -66,7 +66,7 @@ static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; - if (load_elf(kernel_filename, NULL, NULL, + if (load_elf(kernel_filename, NULL, NULL, NULL, &kernel_entry, NULL, &kernel_high, 0, EM_RISCV, 1, 0) < 0) { error_report("could not load kernel '%s'", kernel_filename); diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 21f64ad..896888b 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -131,7 +131,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **errp) goto error; } - bios_size = load_elf(bios_filename, bios_translate_addr, &fwbase, + bios_size = load_elf(bios_filename, NULL, + bios_translate_addr, &fwbase, &ipl->bios_start_addr, NULL, NULL, 1, EM_S390, 0, 0); if (bios_size > 0) { @@ -155,7 +156,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **errp) } if (ipl->kernel) { - kernel_size = load_elf(ipl->kernel, NULL, NULL, &pentry, NULL, + kernel_size = load_elf(ipl->kernel, NULL, NULL, NULL, + &pentry, NULL, NULL, 1, EM_S390, 0, 0); if (kernel_size < 0) { kernel_size = load_image_targphys(ipl->kernel, 0, ram_size); @@ -436,7 +438,8 @@ static int load_netboot_image(Error **errp) goto unref_mr; } - img_size = load_elf_ram(netboot_filename, NULL, NULL, &ipl->start_addr, + img_size = load_elf_ram(netboot_filename, NULL, NULL, NULL, + &ipl->start_addr, NULL, NULL, 1, EM_S390, 0, 0, NULL, false); if (img_size < 0) { diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c index fa98ab8..774639a 100644 --- a/hw/sparc/leon3.c +++ b/hw/sparc/leon3.c @@ -190,7 +190,8 @@ static void leon3_generic_hw_init(MachineState *machine) long kernel_size; uint64_t entry; - kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, NULL, NULL, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, + &entry, NULL, NULL, 1 /* big endian */, EM_SPARC, 0, 0); if (kernel_size < 0) { error_report("could not load kernel '%s'", kernel_filename); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 709ee37..779f3f9 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -242,7 +242,8 @@ static unsigned long sun4m_load_kernel(const char *kernel_filename, #else bswap_needed = 0; #endif - kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL, + kernel_size = load_elf(kernel_filename, NULL, + translate_kernel_address, NULL, NULL, NULL, NULL, 1, EM_SPARC, 0, 0); if (kernel_size < 0) kernel_size = load_aout(kernel_filename, KERNEL_LOAD_ADDR, @@ -692,7 +693,8 @@ static void prom_init(hwaddr addr, const char *bios_name) } filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (filename) { - ret = load_elf(filename, translate_prom_address, &addr, NULL, + ret = load_elf(filename, NULL, + translate_prom_address, &addr, NULL, NULL, NULL, 1, EM_SPARC, 0, 0); if (ret < 0 || ret > PROM_SIZE_MAX) { ret = load_image_targphys(filename, addr, PROM_SIZE_MAX); diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index f76b19e..b9bd4be 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -153,7 +153,7 @@ static uint64_t sun4u_load_kernel(const char *kernel_filename, #else bswap_needed = 0; #endif - kernel_size = load_elf(kernel_filename, NULL, NULL, kernel_entry, + kernel_size = load_elf(kernel_filename, NULL, NULL, NULL, kernel_entry, kernel_addr, &kernel_top, 1, EM_SPARCV9, 0, 0); if (kernel_size < 0) { *kernel_addr = KERNEL_LOAD_ADDR; @@ -411,7 +411,7 @@ static void prom_init(hwaddr addr, const char *bios_name) } filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (filename) { - ret = load_elf(filename, translate_prom_address, &addr, + ret = load_elf(filename, NULL, translate_prom_address, &addr, NULL, NULL, NULL, 1, EM_SPARCV9, 0, 0); if (ret < 0 || ret > PROM_SIZE_MAX) { ret = load_image_targphys(filename, addr, PROM_SIZE_MAX); diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c index a58096f..003592a 100644 --- a/hw/tricore/tricore_testboard.c +++ b/hw/tricore/tricore_testboard.c @@ -45,7 +45,7 @@ static void tricore_load_kernel(CPUTriCoreState *env) long kernel_size; kernel_size = load_elf(tricoretb_binfo.kernel_filename, NULL, - NULL, &entry, NULL, + NULL, NULL, &entry, NULL, NULL, 0, EM_TRICORE, 1, 0); if (kernel_size <= 0) { diff --git a/hw/xtensa/sim.c b/hw/xtensa/sim.c index b6ccb3c..12c7437 100644 --- a/hw/xtensa/sim.c +++ b/hw/xtensa/sim.c @@ -97,11 +97,15 @@ static void xtensa_sim_init(MachineState *machine) uint64_t elf_entry; uint64_t elf_lowaddr; #ifdef TARGET_WORDS_BIGENDIAN - int success = load_elf(kernel_filename, translate_phys_addr, cpu, - &elf_entry, &elf_lowaddr, NULL, 1, EM_XTENSA, 0, 0); + int success = load_elf(kernel_filename, NULL, + translate_phys_addr, cpu, + &elf_entry, &elf_lowaddr, + NULL, 1, EM_XTENSA, 0, 0); #else - int success = load_elf(kernel_filename, translate_phys_addr, cpu, - &elf_entry, &elf_lowaddr, NULL, 0, EM_XTENSA, 0, 0); + int success = load_elf(kernel_filename, NULL, + translate_phys_addr, cpu, + &elf_entry, &elf_lowaddr, + NULL, 0, EM_XTENSA, 0, 0); #endif if (success > 0) { env->pc = elf_entry; diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index 1d21162..ab3e52b 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -409,7 +409,7 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, MachineState *machine) uint64_t elf_entry; uint64_t elf_lowaddr; - int success = load_elf(kernel_filename, translate_phys_addr, cpu, + int success = load_elf(kernel_filename, NULL, translate_phys_addr, cpu, &elf_entry, &elf_lowaddr, NULL, be, EM_XTENSA, 0, 0); if (success > 0) { entry_point = elf_entry; diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h index e2cb675..3438d6f 100644 --- a/include/hw/elf_ops.h +++ b/include/hw/elf_ops.h @@ -266,6 +266,7 @@ fail: } static int glue(load_elf, SZ)(const char *name, int fd, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, int must_swab, uint64_t *pentry, @@ -498,6 +499,7 @@ static int glue(load_elf, SZ)(const char *name, int fd, data = NULL; } } + g_free(phdr); if (lowaddr) *lowaddr = (uint64_t)(elf_sword)low; diff --git a/include/hw/loader.h b/include/hw/loader.h index de8a296..3e1b3a4 100644 --- a/include/hw/loader.h +++ b/include/hw/loader.h @@ -93,6 +93,8 @@ const char *load_elf_strerror(int error); /** load_elf_ram_sym: * @filename: Path of ELF file + * @elf_note_fn: optional function to parse ELF Note type + * passed via @translate_opaque * @translate_fn: optional function to translate load addresses * @translate_opaque: opaque data passed to @translate_fn * @pentry: Populated with program entry point. Ignored if NULL. @@ -125,6 +127,7 @@ typedef void (*symbol_fn_t)(const char *st_name, int st_info, uint64_t st_value, uint64_t st_size); int load_elf_ram_sym(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, @@ -136,6 +139,7 @@ int load_elf_ram_sym(const char *filename, * symbol callback function */ int load_elf_ram(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, @@ -146,6 +150,7 @@ int load_elf_ram(const char *filename, * Same as load_elf_ram(), but always loads the elf as ROM */ int load_elf_as(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, @@ -155,7 +160,9 @@ int load_elf_as(const char *filename, * Same as load_elf_as(), but doesn't allow the caller to specify an * AddressSpace. */ -int load_elf(const char *filename, uint64_t (*translate_fn)(void *, uint64_t), +int load_elf(const char *filename, + uint64_t (*elf_note_fn)(void *, void *, bool), + uint64_t (*translate_fn)(void *, uint64_t), void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr, int big_endian, int elf_machine, int clear_lsb, int data_swab); From patchwork Tue Feb 5 18:14:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037034 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="vQzKyQbN"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCpk1vWDz9s6w for ; Wed, 6 Feb 2019 05:31:58 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37533 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Vk-0006kn-5x for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:31:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002LC-5k for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003lD-Ns for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:53256) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003Yc-Dp for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wm1-x342.google.com with SMTP id d15so4678074wmb.3 for ; Tue, 05 Feb 2019 10:15:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=mGgA8mhxRDL22XvQhvbdFvsJ+SEiVcBnIl4weZyYzLs=; b=vQzKyQbN6GK6Jlb/9hN1ajwn+4Ly0J4R832CS8HQurWbV3BeDnPdfBNEKausGpWQFd yBTdsqToIoW47YjQwi+7TT1+2IZGP7TBh/AQj1HSPFdvolMY0Bp+TGVmWfYtTSD/uXpe cdaJY2aATrGXVa2WL85NQ0uqnVa26RQJmcusShPTjQsuGIU41JI9W/QphIayB0w8jipI uBSfcheEJK16BzngO6dHryYYP4CHw5v5jnuMz5yiDeIqxaoExVSZZ9eJ9b2QWXjUXrNa pmz1YO+VPIesvCS414lf/ZJ7d+AQWZrf+nuv/vl4anqw0nz0qzrCc7eVSxPOd/N9N6bI jUjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=mGgA8mhxRDL22XvQhvbdFvsJ+SEiVcBnIl4weZyYzLs=; b=l14AbHhdyfHWZ0X3CjZAJIUIMAlkLqmqsUOkdMdDZpAnJ7EJP2AMtETQtHII2W6+gJ ZKoJ/RHI8xBaaYkHjHvHoClWJSFijSMQpIYvUKJLTUMuGkRwMv/Q4Swmva/7MP0uY9rS j8XlPydqaciTm7jx6xwxNqA8e4a4h5E/xvr4wFPSq/TEt0jkAsUeABdI8qMILgP/Y3N0 +6+K9mkMZ7wIKsyfnxNrDUHUUS0l+2lppSPxY9KJJ6ijzzNYesng0jNjHLVDE+FWMV1T Jvj0DaxitU9DjKCKdtK2ljMib196TWdD2HiNeAydctTtyodlaeggHVGtMDtTxGzLQLO1 JCHw== X-Gm-Message-State: AHQUAuY16vxD6zqwhtPxICZvbHo3SQ43jE1/nZCSuN7Uo5Jki/al/tZH p3USEf+Gl5bnYgq0P7OVLOH4ddB5 X-Google-Smtp-Source: AHgI3IbIYQZK5BH4xEsGMJiUWpsDTnUFfaA+YA5YvPmHgyfWB53y19wyPchLcGFGHedfTN4mNtuW3A== X-Received: by 2002:a1c:4807:: with SMTP id v7mr4882068wma.53.1549390540383; Tue, 05 Feb 2019 10:15:40 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:39 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:22 +0100 Message-Id: <1549390526-24246-13-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PULL 12/76] elf-ops.h: Add get_elf_note_type() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Liam Merwick Introduce a routine which, given a pointer to a range of ELF Notes, searches through them looking for a note matching the type specified and returns a pointer to the matching ELF note. get_elf_note_type() is used by elf_load[32|64]() to find the specified note type required by the 'elf_note_fn' parameter added in the previous commit. Signed-off-by: Liam Merwick Signed-off-by: Paolo Bonzini Signed-off-by: Liam Merwick --- include/hw/elf_ops.h | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h index 3438d6f..690f923 100644 --- a/include/hw/elf_ops.h +++ b/include/hw/elf_ops.h @@ -265,6 +265,51 @@ fail: return ret; } +/* + * Given 'nhdr', a pointer to a range of ELF Notes, search through them + * for a note matching type 'elf_note_type' and return a pointer to + * the matching ELF note. + */ +static struct elf_note *glue(get_elf_note_type, SZ)(struct elf_note *nhdr, + elf_word note_size, + elf_word phdr_align, + elf_word elf_note_type) +{ + elf_word nhdr_size = sizeof(struct elf_note); + elf_word elf_note_entry_offset = 0; + elf_word note_type; + elf_word nhdr_namesz; + elf_word nhdr_descsz; + + if (nhdr == NULL) { + return NULL; + } + + note_type = nhdr->n_type; + while (note_type != elf_note_type) { + nhdr_namesz = nhdr->n_namesz; + nhdr_descsz = nhdr->n_descsz; + + elf_note_entry_offset = nhdr_size + + QEMU_ALIGN_UP(nhdr_namesz, phdr_align) + + QEMU_ALIGN_UP(nhdr_descsz, phdr_align); + + /* + * If the offset calculated in this iteration exceeds the + * supplied size, we are done and no matching note was found. + */ + if (elf_note_entry_offset > note_size) { + return NULL; + } + + /* skip to the next ELF Note entry */ + nhdr = (void *)nhdr + elf_note_entry_offset; + note_type = nhdr->n_type; + } + + return nhdr; +} + static int glue(load_elf, SZ)(const char *name, int fd, uint64_t (*elf_note_fn)(void *, void *, bool), uint64_t (*translate_fn)(void *, uint64_t), @@ -497,6 +542,36 @@ static int glue(load_elf, SZ)(const char *name, int fd, high = addr + mem_size; data = NULL; + + } else if (ph->p_type == PT_NOTE && elf_note_fn) { + struct elf_note *nhdr = NULL; + + file_size = ph->p_filesz; /* Size of the range of ELF notes */ + data = g_malloc0(file_size); + if (ph->p_filesz > 0) { + if (lseek(fd, ph->p_offset, SEEK_SET) < 0) { + goto fail; + } + if (read(fd, data, file_size) != file_size) { + goto fail; + } + } + + /* + * Search the ELF notes to find one with a type matching the + * value passed in via 'translate_opaque' + */ + nhdr = (struct elf_note *)data; + assert(translate_opaque != NULL); + nhdr = glue(get_elf_note_type, SZ)(nhdr, file_size, ph->p_align, + *(uint64_t *)translate_opaque); + if (nhdr != NULL) { + bool is64 = + sizeof(struct elf_note) == sizeof(struct elf64_note); + elf_note_fn((void *)nhdr, (void *)&ph->p_align, is64); + } + g_free(data); + data = NULL; } } From patchwork Tue Feb 5 18:14:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037070 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FpYfJIi1"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDNx4bkvz9s7T for ; Wed, 6 Feb 2019 05:58:09 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37958 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5v5-00035K-Fj for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:58:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36005) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002No-HZ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003nk-1a for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:51894) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003ZD-IS for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wm1-x343.google.com with SMTP id b11so4695097wmj.1 for ; Tue, 05 Feb 2019 10:15:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=XQPANMMMEe/szvn497sDqINjzXdv5SqubOYK1w3T+zc=; b=FpYfJIi1jSRv9IUIkWYq4uIyA6xDs57M7NqrjEMslWtjAROqoz9Q7O9PQ9QFcqyZN6 qMDbJobB0Bz87tBUCsm+RBljuSfMFgktN4L5aasOzFeIx0Aa28g9apEUMgK37vuuuO1i OSZLml9P4IfnJIiQX/FBhDWzupTjatfe4GQvbP1e84d4gqcRbW3nUBuXeJZAIscRmJ5J qnv/FPo0zikEkqojCcrud3eiIzfg1zy36EqN0nWMLp5u8JXTQ5VXGU32WYh8jbrWmPiC 07P04T8dFqdIDEtE3DVzexTMArlYC/aj2ux7wq11Qc5J5OUPeMubHv8DVDrYjWZxtAoB BVKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=XQPANMMMEe/szvn497sDqINjzXdv5SqubOYK1w3T+zc=; b=K78MdRPdPxRqGtQf5WR4aQclkUAfiesygwXIyv9MfX3JYzbpX42obSB2dSsvm6xLHl GlA7b9UxPanuPoiuxdEruguUeuA5o21UZc4eP1QVYYloi03EKqCdrlpzQ1qS34NwCjWN /7Z5XUi1uZaGhikeNw3kUGcPZX0kzJYfbGr2yVcLKRkDB+KngRfqWCNGq+K2JevuCKio JDs5wawE+b3PZEV0RJEcsf4Ou/aucRIc9FIubnFXiCs6LZTpchRxsziXQekMdOGVgYST YykktBy+h5GvNSppN44ASn9tOytBgNRke83LUkvN+67NOTHFZx2xWqIPZB0xKhetasr6 1h8g== X-Gm-Message-State: AHQUAuagRFvAjooM8Jr5C8TJxOiOLxLbuf2UKpNCmHhVE06x5tBD4uRq sscvQz6fCQFaRcJuOH6PZhT3mC/E X-Google-Smtp-Source: AHgI3IYap1HOQCgciT0WA6OG8+17yxsl61HNs26CNbsAuQcECdQtvJ5qM8NRC/nlM9WAfrNKTq32Ug== X-Received: by 2002:a1c:f916:: with SMTP id x22mr4960394wmh.87.1549390541450; Tue, 05 Feb 2019 10:15:41 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:40 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:23 +0100 Message-Id: <1549390526-24246-14-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 Subject: [Qemu-devel] [PULL 13/76] pvh: Add x86/HVM direct boot ABI header file X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Liam Merwick The x86/HVM direct boot ABI permits Qemu to be able to boot directly into the uncompressed Linux kernel binary with minimal firmware involvement. https://xenbits.xen.org/docs/unstable/misc/pvh.html This commit adds the header file that defines the start_info struct that needs to be populated in order to use this ABI. The canonical version of start_info.h is in the Xen codebase. (like QEMU, the Linux kernel uses a copy as well). Signed-off-by: Liam Merwick Reviewed-by: Konrad Rzeszutek Wilk Signed-off-by: Paolo Bonzini --- include/hw/xen/start_info.h | 146 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 include/hw/xen/start_info.h diff --git a/include/hw/xen/start_info.h b/include/hw/xen/start_info.h new file mode 100644 index 0000000..348779e --- /dev/null +++ b/include/hw/xen/start_info.h @@ -0,0 +1,146 @@ +/* + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Copyright (c) 2016, Citrix Systems, Inc. + */ + +#ifndef __XEN_PUBLIC_ARCH_X86_HVM_START_INFO_H__ +#define __XEN_PUBLIC_ARCH_X86_HVM_START_INFO_H__ + +/* + * Start of day structure passed to PVH guests and to HVM guests in %ebx. + * + * NOTE: nothing will be loaded at physical address 0, so a 0 value in any + * of the address fields should be treated as not present. + * + * 0 +----------------+ + * | magic | Contains the magic value XEN_HVM_START_MAGIC_VALUE + * | | ("xEn3" with the 0x80 bit of the "E" set). + * 4 +----------------+ + * | version | Version of this structure. Current version is 1. New + * | | versions are guaranteed to be backwards-compatible. + * 8 +----------------+ + * | flags | SIF_xxx flags. + * 12 +----------------+ + * | nr_modules | Number of modules passed to the kernel. + * 16 +----------------+ + * | modlist_paddr | Physical address of an array of modules + * | | (layout of the structure below). + * 24 +----------------+ + * | cmdline_paddr | Physical address of the command line, + * | | a zero-terminated ASCII string. + * 32 +----------------+ + * | rsdp_paddr | Physical address of the RSDP ACPI data structure. + * 40 +----------------+ + * | memmap_paddr | Physical address of the (optional) memory map. Only + * | | present in version 1 and newer of the structure. + * 48 +----------------+ + * | memmap_entries | Number of entries in the memory map table. Only + * | | present in version 1 and newer of the structure. + * | | Zero if there is no memory map being provided. + * 52 +----------------+ + * | reserved | Version 1 and newer only. + * 56 +----------------+ + * + * The layout of each entry in the module structure is the following: + * + * 0 +----------------+ + * | paddr | Physical address of the module. + * 8 +----------------+ + * | size | Size of the module in bytes. + * 16 +----------------+ + * | cmdline_paddr | Physical address of the command line, + * | | a zero-terminated ASCII string. + * 24 +----------------+ + * | reserved | + * 32 +----------------+ + * + * The layout of each entry in the memory map table is as follows: + * + * 0 +----------------+ + * | addr | Base address + * 8 +----------------+ + * | size | Size of mapping in bytes + * 16 +----------------+ + * | type | Type of mapping as defined between the hypervisor + * | | and guest it's starting. E820_TYPE_xxx, for example. + * 20 +----------------| + * | reserved | + * 24 +----------------+ + * + * The address and sizes are always a 64bit little endian unsigned integer. + * + * NB: Xen on x86 will always try to place all the data below the 4GiB + * boundary. + * + * Version numbers of the hvm_start_info structure have evolved like this: + * + * Version 0: + * + * Version 1: Added the memmap_paddr/memmap_entries fields (plus 4 bytes of + * padding) to the end of the hvm_start_info struct. These new + * fields can be used to pass a memory map to the guest. The + * memory map is optional and so guests that understand version 1 + * of the structure must check that memmap_entries is non-zero + * before trying to read the memory map. + */ +#define XEN_HVM_START_MAGIC_VALUE 0x336ec578 + +/* + * C representation of the x86/HVM start info layout. + * + * The canonical definition of this layout is above, this is just a way to + * represent the layout described there using C types. + */ +struct hvm_start_info { + uint32_t magic; /* Contains the magic value 0x336ec578 */ + /* ("xEn3" with the 0x80 bit of the "E" set).*/ + uint32_t version; /* Version of this structure. */ + uint32_t flags; /* SIF_xxx flags. */ + uint32_t nr_modules; /* Number of modules passed to the kernel. */ + uint64_t modlist_paddr; /* Physical address of an array of */ + /* hvm_modlist_entry. */ + uint64_t cmdline_paddr; /* Physical address of the command line. */ + uint64_t rsdp_paddr; /* Physical address of the RSDP ACPI data */ + /* structure. */ + uint64_t memmap_paddr; /* Physical address of an array of */ + /* hvm_memmap_table_entry. Only present in */ + /* version 1 and newer of the structure */ + uint32_t memmap_entries; /* Number of entries in the memmap table. */ + /* Only present in version 1 and newer of */ + /* the structure. Value will be zero if */ + /* there is no memory map being provided. */ + uint32_t reserved; +}; + +struct hvm_modlist_entry { + uint64_t paddr; /* Physical address of the module. */ + uint64_t size; /* Size of the module in bytes. */ + uint64_t cmdline_paddr; /* Physical address of the command line. */ + uint64_t reserved; +}; + +struct hvm_memmap_table_entry { + uint64_t addr; /* Base address of the memory region */ + uint64_t size; /* Size of the memory region in bytes */ + uint32_t type; /* Mapping type */ + uint32_t reserved; +}; + +#endif /* __XEN_PUBLIC_ARCH_X86_HVM_START_INFO_H__ */ From patchwork Tue Feb 5 18:14:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037040 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NYfznmAM"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCvt6qHbz9s7T for ; Wed, 6 Feb 2019 05:36:26 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37621 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5a4-0001hK-TD for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:36:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002Nl-Fz for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003lI-OO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:37937) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003Zi-Cd for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wr1-x443.google.com with SMTP id v13so4716597wrw.5 for ; Tue, 05 Feb 2019 10:15:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=PRPNDvhkM4ZwmrKrNiVdq1EwpngUlC16hXoxyvtH7VA=; b=NYfznmAMHqnJ0DiQXNNP2ZgW789s7pkUq7y13M7lzRAyt74GLjWDwFC1vypGalbh1F Raio2CsDSVSydmhzE6UP1dHW3v4V0HfY7vq9KxnWeuhz8q3GP0PGnNkbnJhFAeAubHTR 1dwEvVZLSJo1sib4TMW91xegdLBidAJvGIVnr2j0Tr70h26kht7p2U14IqX6dezN66QE stNSMSY0PCyE+8hfu8H92DyR8WXbDZG9f9V6rcxXpycs54Do3tR1nnFw/tOv84BDA3p3 dxW+2B48CARkzB8djemZqCt7imrVepeEDzE5NKznEDh43JyutlelRxkCJmlkD0T3/1UX egaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=PRPNDvhkM4ZwmrKrNiVdq1EwpngUlC16hXoxyvtH7VA=; b=L856HhTeQY3YQztvou1nItdFwW8Yc4EvLXDna47MSlv6Zjrl0+Vz6ial3UCyXemc2E qv2mLAYdhRuZZ6/XUtkgTseL6wOvwK3XzSQh2YbjkB/xJ7JUO9l2wzHazY8pv4XIoCoq kTHE+Y4rBUOeTlVBEXS1IonBJWr+Ye0auiGqEp9nmZ0MLPP0e6f9/0cO39Jg+OXYR71h DJskahk5P94twlmj0haEC9zl0yhfIoLmPcDEFJf+18UaLGrWUDFE9/nBWuwIPXgmoSqG XoQGVR5+cPLEQfeNYM7Jgdg7UBZSp5cCxnonwOmtRUxRvgSiFc9L1Gj7fCiB18JhpxK9 UGTg== X-Gm-Message-State: AHQUAuZRueCTyB766I5D2DN+5JgBUqiljo/we4HQepVU6f5bZz/T14Q+ xrGVb8R+DB+t3ePPQotgt/od8Nyf X-Google-Smtp-Source: AHgI3IbkdJ2Ldj4hH2RivP6UgnLVH3LeCLjHBvZcZXqO8MW/FNBs+c0k+WO+n88Qc6jMd8oD9wuBCQ== X-Received: by 2002:a5d:514c:: with SMTP id u12mr2968688wrt.205.1549390542496; Tue, 05 Feb 2019 10:15:42 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:41 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:24 +0100 Message-Id: <1549390526-24246-15-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 Subject: [Qemu-devel] [PULL 14/76] pvh: Boot uncompressed kernel using direct boot ABI X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: George Kennedy Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Liam Merwick These changes (along with corresponding Linux kernel and qboot changes) enable a guest to be booted using the x86/HVM direct boot ABI. This commit adds a load_elfboot() routine to pass the size and location of the kernel entry point to qboot (which will fill in the start_info struct information needed to to boot the guest). Having loaded the ELF binary, load_linux() will run qboot which continues the boot. The address for the kernel entry point is read from an ELF Note in the uncompressed kernel binary by a helper routine passed to load_elf(). Co-developed-by: George Kennedy Signed-off-by: George Kennedy Signed-off-by: Liam Merwick Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/elf.h | 10 +++++ 2 files changed, 145 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 1690b19..e39ef5c 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -54,6 +54,7 @@ #include "sysemu/qtest.h" #include "kvm_i386.h" #include "hw/xen/xen.h" +#include "hw/xen/start_info.h" #include "ui/qemu-spice.h" #include "exec/memory.h" #include "exec/address-spaces.h" @@ -110,6 +111,9 @@ static struct e820_entry *e820_table; static unsigned e820_entries; struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX}; +/* Physical Address of PVH entry point read from kernel ELF NOTE */ +static size_t pvh_start_addr; + GlobalProperty pc_compat_3_1[] = { { "intel-iommu", "dma-drain", "off" }, { "Opteron_G3" "-" TYPE_X86_CPU, "rdtscp", "off" }, @@ -1069,6 +1073,109 @@ struct setup_data { uint8_t data[0]; } __attribute__((packed)); + +/* + * The entry point into the kernel for PVH boot is different from + * the native entry point. The PVH entry is defined by the x86/HVM + * direct boot ABI and is available in an ELFNOTE in the kernel binary. + * + * This function is passed to load_elf() when it is called from + * load_elfboot() which then additionally checks for an ELF Note of + * type XEN_ELFNOTE_PHYS32_ENTRY and passes it to this function to + * parse the PVH entry address from the ELF Note. + * + * Due to trickery in elf_opts.h, load_elf() is actually available as + * load_elf32() or load_elf64() and this routine needs to be able + * to deal with being called as 32 or 64 bit. + * + * The address of the PVH entry point is saved to the 'pvh_start_addr' + * global variable. (although the entry point is 32-bit, the kernel + * binary can be either 32-bit or 64-bit). + */ +static uint64_t read_pvh_start_addr(void *arg1, void *arg2, bool is64) +{ + size_t *elf_note_data_addr; + + /* Check if ELF Note header passed in is valid */ + if (arg1 == NULL) { + return 0; + } + + if (is64) { + struct elf64_note *nhdr64 = (struct elf64_note *)arg1; + uint64_t nhdr_size64 = sizeof(struct elf64_note); + uint64_t phdr_align = *(uint64_t *)arg2; + uint64_t nhdr_namesz = nhdr64->n_namesz; + + elf_note_data_addr = + ((void *)nhdr64) + nhdr_size64 + + QEMU_ALIGN_UP(nhdr_namesz, phdr_align); + } else { + struct elf32_note *nhdr32 = (struct elf32_note *)arg1; + uint32_t nhdr_size32 = sizeof(struct elf32_note); + uint32_t phdr_align = *(uint32_t *)arg2; + uint32_t nhdr_namesz = nhdr32->n_namesz; + + elf_note_data_addr = + ((void *)nhdr32) + nhdr_size32 + + QEMU_ALIGN_UP(nhdr_namesz, phdr_align); + } + + pvh_start_addr = *elf_note_data_addr; + + return pvh_start_addr; +} + +static bool load_elfboot(const char *kernel_filename, + int kernel_file_size, + uint8_t *header, + size_t pvh_xen_start_addr, + FWCfgState *fw_cfg) +{ + uint32_t flags = 0; + uint32_t mh_load_addr = 0; + uint32_t elf_kernel_size = 0; + uint64_t elf_entry; + uint64_t elf_low, elf_high; + int kernel_size; + + if (ldl_p(header) != 0x464c457f) { + return false; /* no elfboot */ + } + + bool elf_is64 = header[EI_CLASS] == ELFCLASS64; + flags = elf_is64 ? + ((Elf64_Ehdr *)header)->e_flags : ((Elf32_Ehdr *)header)->e_flags; + + if (flags & 0x00010004) { /* LOAD_ELF_HEADER_HAS_ADDR */ + error_report("elfboot unsupported flags = %x", flags); + exit(1); + } + + uint64_t elf_note_type = XEN_ELFNOTE_PHYS32_ENTRY; + kernel_size = load_elf(kernel_filename, read_pvh_start_addr, + NULL, &elf_note_type, &elf_entry, + &elf_low, &elf_high, 0, I386_ELF_MACHINE, + 0, 0); + + if (kernel_size < 0) { + error_report("Error while loading elf kernel"); + exit(1); + } + mh_load_addr = elf_low; + elf_kernel_size = elf_high - elf_low; + + if (pvh_start_addr == 0) { + error_report("Error loading uncompressed kernel without PVH ELF Note"); + exit(1); + } + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ENTRY, pvh_start_addr); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, mh_load_addr); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, elf_kernel_size); + + return true; +} + static void load_linux(PCMachineState *pcms, FWCfgState *fw_cfg) { @@ -1108,6 +1215,34 @@ static void load_linux(PCMachineState *pcms, if (ldl_p(header+0x202) == 0x53726448) { protocol = lduw_p(header+0x206); } else { + /* + * Check if the file is an uncompressed kernel file (ELF) and load it, + * saving the PVH entry point used by the x86/HVM direct boot ABI. + * If load_elfboot() is successful, populate the fw_cfg info. + */ + if (load_elfboot(kernel_filename, kernel_size, + header, pvh_start_addr, fw_cfg)) { + struct hvm_modlist_entry ramdisk_mod = { 0 }; + + fclose(f); + + fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, + strlen(kernel_cmdline) + 1); + fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, kernel_cmdline); + + assert(machine->device_memory != NULL); + ramdisk_mod.paddr = machine->device_memory->base; + ramdisk_mod.size = + memory_region_size(&machine->device_memory->mr); + + fw_cfg_add_bytes(fw_cfg, FW_CFG_KERNEL_DATA, &ramdisk_mod, + sizeof(ramdisk_mod)); + fw_cfg_add_i32(fw_cfg, FW_CFG_SETUP_SIZE, sizeof(header)); + fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, + header, sizeof(header)); + + return; + } /* This looks like a multiboot kernel. If it is, let's stop treating it like a Linux kernel. */ if (load_multiboot(fw_cfg, f, kernel_filename, initrd_filename, diff --git a/include/elf.h b/include/elf.h index e816fb4..b35347e 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1640,6 +1640,16 @@ typedef struct elf64_shdr { #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ #define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ +/* + * Physical entry point into the kernel. + * + * 32bit entry point into the kernel. When requested to launch the + * guest kernel, use this entry point to launch the guest in 32-bit + * protected mode with paging disabled. + * + * [ Corresponding definition in Linux kernel: include/xen/interface/elfnote.h ] + */ +#define XEN_ELFNOTE_PHYS32_ENTRY 18 /* 0x12 */ /* Note header in a PT_NOTE section */ typedef struct elf32_note { From patchwork Tue Feb 5 18:14:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037049 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="irl/ueZn"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD3p3DKMz9s7h for ; Wed, 6 Feb 2019 05:43:18 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37737 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5gf-0007RB-QN for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:43:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002Le-KK for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003mN-CB for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:42857) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003a9-S9 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x442.google.com with SMTP id q18so4689299wrx.9 for ; Tue, 05 Feb 2019 10:15:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=rMf2i+KQIoMJtbtg/r71tVuAyaCoUEi0C2x/JJQlUZU=; b=irl/ueZnWuVCK3UqO+VM4DqTPZcWGdyHDyIT4XjeRf8oMkZXxNHzHlznAO06zDscq3 UiA5IighRA+O19MJMN5rrLWlFG4V5Dh3G0wiVnODnMFYxFFxxuJUAM0dA3Lq8VO4pCvz aroDMHQCpz5wdPj09bYYF9Gjd1re77q+YKL1V30JdI49M10QAkDsUkdsdV31pCJz4vcu Qm9yqEonG3QVJYgshRV9QULhN0X+02oXsLOOrxW2PNLjOPj0JDe+qxZAgEZb3pvVff/5 AuXmoJgN9Fgrpbu7fsbpecPkLvxjUhJOfC88FUYFD7dUIt/yt0Los45L/vbJrGtyFx+B 0Psw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=rMf2i+KQIoMJtbtg/r71tVuAyaCoUEi0C2x/JJQlUZU=; b=q/CcUn0WYeb/w2oHwJEGtQbxzHr8guaN6mSBC7rD/Fm8gBD2em6Fqeq44dfBSHj0m1 f30tvtAlF4B+P8vRoV9Af/bEexymI4lKXdVL/bhqp+R9bAtgBp01uwi2aHNhFXfY/PSP 2Jekih3pb6Q+Bird0HYq3bfIWwNX/9xnpP+JLWjvkXPyBhOMBlbLUFW0++Ud5Z6/PlJK 0QRQGhEuMELpmvITqlLCHoXoADiGQdMbuY6p8LRMCOGCLn6+MEjs2aPZMNUNFpC+3Vc5 XZZ9H0KrZmiU6xMQn/Vw/hT293RTSbvoABJm3enj5qL0ZkBXjfuSEtjCJ9AQKewj/DMz eMNw== X-Gm-Message-State: AHQUAubjQeeS7cjHrFnHbkuD3xa+HnbK9ZUq4CteYwmruvHj/yAym3fy ibVI/P98ObUdmUp5VeuKEYNauLbG X-Google-Smtp-Source: AHgI3IbSor1Q/pqgWycJHCUq2z9PbY3idv5ICVpotQhbhKwn585ymGVlql5kO80rOPYoanl9m98/dA== X-Received: by 2002:adf:f692:: with SMTP id v18mr4430101wrp.229.1549390543589; Tue, 05 Feb 2019 10:15:43 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:42 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:25 +0100 Message-Id: <1549390526-24246-16-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PULL 15/76] pvh: load initrd and expose it through fw_cfg X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella When initrd is specified, load and expose it to the guest firmware through fw_cfg. The firmware will fill the hvm_start_info for the kernel. Signed-off-by: Stefano Garzarella Based-on: <1545422632-24444-5-git-send-email-liam.merwick@oracle.com> Signed-off-by: Liam Merwick Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index e39ef5c..5d61557 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1222,25 +1222,45 @@ static void load_linux(PCMachineState *pcms, */ if (load_elfboot(kernel_filename, kernel_size, header, pvh_start_addr, fw_cfg)) { - struct hvm_modlist_entry ramdisk_mod = { 0 }; - fclose(f); fw_cfg_add_i32(fw_cfg, FW_CFG_CMDLINE_SIZE, strlen(kernel_cmdline) + 1); fw_cfg_add_string(fw_cfg, FW_CFG_CMDLINE_DATA, kernel_cmdline); - assert(machine->device_memory != NULL); - ramdisk_mod.paddr = machine->device_memory->base; - ramdisk_mod.size = - memory_region_size(&machine->device_memory->mr); - - fw_cfg_add_bytes(fw_cfg, FW_CFG_KERNEL_DATA, &ramdisk_mod, - sizeof(ramdisk_mod)); fw_cfg_add_i32(fw_cfg, FW_CFG_SETUP_SIZE, sizeof(header)); fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, header, sizeof(header)); + /* load initrd */ + if (initrd_filename) { + gsize initrd_size; + gchar *initrd_data; + GError *gerr = NULL; + + if (!g_file_get_contents(initrd_filename, &initrd_data, + &initrd_size, &gerr)) { + fprintf(stderr, "qemu: error reading initrd %s: %s\n", + initrd_filename, gerr->message); + exit(1); + } + + initrd_max = pcms->below_4g_mem_size - pcmc->acpi_data_size - 1; + if (initrd_size >= initrd_max) { + fprintf(stderr, "qemu: initrd is too large, cannot support." + "(max: %"PRIu32", need %"PRId64")\n", + initrd_max, (uint64_t)initrd_size); + exit(1); + } + + initrd_addr = (initrd_max - initrd_size) & ~4095; + + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_addr); + fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size); + fw_cfg_add_bytes(fw_cfg, FW_CFG_INITRD_DATA, initrd_data, + initrd_size); + } + return; } /* This looks like a multiboot kernel. If it is, let's stop From patchwork Tue Feb 5 18:14:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037043 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YIeGA7wJ"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCyT12Y0z9s7h for ; Wed, 6 Feb 2019 05:38:40 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37663 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5cE-0003OI-SF for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:38:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36021) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002O6-SM for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003oo-GP for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:42399) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003av-SP for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wr1-x433.google.com with SMTP id q18so4689334wrx.9 for ; Tue, 05 Feb 2019 10:15:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=0yrVirtf2XYWtid3rKgKyPY4/E20xtlKXHv18PjOeFM=; b=YIeGA7wJi0PGqPml7sBpA3YzSRRH4ClTZWU7FGayVFguLmMyeRwMFk2AY2FlGhAKEd iEcF9DpqFdEHK6epuWGy4x9ocXYQ92Xzia6v/GIhq4nKfmEoE0414W62UU2D0n8DAXdH 8oFa8rx8+MQWyM3v3Ha/Aj/tR9vcQs+aDvFZGr/CZOFF/UU5LmEKgQdvFFmlvbbkA95f 7On/mA/4NcTMbXugE2v7IOUEClABtYormpg48thsgk/eTDopLnUsoM36KcVRCSe+WjDE Z6vCjmd/a2zQxrhGjcMKcjkBBxtS0Wd3OdkXlFXrRhp/AsV3PkbxdKAv5re8eHZ/Ubon gf7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=0yrVirtf2XYWtid3rKgKyPY4/E20xtlKXHv18PjOeFM=; b=QAtZ561vgvnoOtWJUZNZzwBJA7fu/Dq3pBkKB42Mmnx7/aq14n1zswctOTY3iXdOFC Og2DLU3qdGTI5Tl2mrPM9NlDyBEL6813pZHdKvS3p8rLHNiD6eS7+XQhPpbChXiWEJ05 7PESHyUHQTVZd/qidJnX8/was69PK9ocNJ6PfsA3Dc0ov9GZBnCcJwkzvrSLP8z+t812 BBuKQi+pxwBpLQZP9ZvRxAPRT+wPTDD35DpNzWEV52zrw0Vs3Ii9jkG3CYS1ObyeipOB XZfXKWrQHdAfQg4SxpIpHPjl44f7MWjOC5D+AHyEl5oI2iWEYEqZB44Bq4zvv2FrEsdT yhyg== X-Gm-Message-State: AHQUAuY0Rau9SlXU1IBtR5W0NljPFzBMHGz0b6laIkoy2Sy3fnyBP1Wl T0+BMDoPVglhtOsXdCVA5n810ar2 X-Google-Smtp-Source: AHgI3Ia1th0cBOsi4v7Vkw584p7sLyqEY1aweA6+YJzdtYCNlxfYQMFMgpDiJWUSrb/M31VlKPrJqw== X-Received: by 2002:a05:6000:12ce:: with SMTP id l14mr2349207wrx.269.1549390544439; Tue, 05 Feb 2019 10:15:44 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:43 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:26 +0100 Message-Id: <1549390526-24246-17-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 Subject: [Qemu-devel] [PULL 16/76] linuxboot_dma: remove duplicate definitions of FW_CFG X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella FW_CFG_DMA_CTL_* bits and struct fw_cfg_dma_access are defined in the qemu_fw_cfg.h header file already included in linuxboot_dma.c, so we can remove the definition of BIOS_CFG_DMA_CTL_* and struct FWCfgDmaAccess. Signed-off-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Liam Merwick Based-on: <1547554687-12687-1-git-send-email-liam.merwick@oracle.com> Signed-off-by: Paolo Bonzini --- pc-bios/optionrom/linuxboot_dma.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/pc-bios/optionrom/linuxboot_dma.c b/pc-bios/optionrom/linuxboot_dma.c index d856d41..f728dc8 100644 --- a/pc-bios/optionrom/linuxboot_dma.c +++ b/pc-bios/optionrom/linuxboot_dma.c @@ -58,12 +58,6 @@ asm( " jmp load_kernel\n" ); -/* QEMU_CFG_DMA_CONTROL bits */ -#define BIOS_CFG_DMA_CTL_ERROR 0x01 -#define BIOS_CFG_DMA_CTL_READ 0x02 -#define BIOS_CFG_DMA_CTL_SKIP 0x04 -#define BIOS_CFG_DMA_CTL_SELECT 0x08 - #define BIOS_CFG_DMA_ADDR_HIGH 0x514 #define BIOS_CFG_DMA_ADDR_LOW 0x518 @@ -75,12 +69,6 @@ asm( #define barrier() asm("" : : : "memory") -typedef struct FWCfgDmaAccess { - uint32_t control; - uint32_t length; - uint64_t address; -} __attribute__((packed)) FWCfgDmaAccess; - static inline void outl(uint32_t value, uint16_t port) { asm("outl %0, %w1" : : "a"(value), "Nd"(port)); @@ -153,9 +141,9 @@ static inline uint32_t be32_to_cpu(uint32_t x) static __attribute__((__noinline__)) void bios_cfg_read_entry(void *buf, uint16_t entry, uint32_t len) { - FWCfgDmaAccess access; - uint32_t control = (entry << 16) | BIOS_CFG_DMA_CTL_SELECT - | BIOS_CFG_DMA_CTL_READ; + struct fw_cfg_dma_access access; + uint32_t control = (entry << 16) | FW_CFG_DMA_CTL_SELECT + | FW_CFG_DMA_CTL_READ; access.address = cpu_to_be64((uint64_t)(uint32_t)buf); access.length = cpu_to_be32(len); @@ -165,7 +153,7 @@ void bios_cfg_read_entry(void *buf, uint16_t entry, uint32_t len) outl(cpu_to_be32((uint32_t)&access), BIOS_CFG_DMA_ADDR_LOW); - while (be32_to_cpu(access.control) & ~BIOS_CFG_DMA_CTL_ERROR) { + while (be32_to_cpu(access.control) & ~FW_CFG_DMA_CTL_ERROR) { barrier(); } } From patchwork Tue Feb 5 18:14:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037053 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="j9+Wx0Cn"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD6x5GmBz9sDX for ; Wed, 6 Feb 2019 05:46:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37787 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5jL-0001Zm-HM for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:45:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GI-0002Kb-IJ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GF-0003jk-Va for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:34045) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GF-0003bQ-IF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:55 -0500 Received: by mail-wr1-x434.google.com with SMTP id z15so2671845wrn.1 for ; Tue, 05 Feb 2019 10:15:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QirMGIyyJ8mPyffeQaMAhYCCUiHPI3baaFNQ4whC7Y4=; b=j9+Wx0Cn3ZG+U/vjjzP15jLqJvJ0uwPafs4PxNHjo//zXrPTrqBQgXB+beQZMXW3gH O19h8kMCTqna3AFPgj7UeZXeJ/q4Wn6VTYexbd0QOT204cshm0Bd3hpwqaY2VeCV5mFD MPkXs2UmHnjJ1Q1w3Zlhl4PXx90tNk0vO15e5VvcF6Z8hIcuqf6ew8ANH8kpLkbuttnv Yxx8cDsMNPCElahS8R87EJIrMuiJjTo5Fr5sQ0BlFxnsJRNZGkPjiWcZh4GdupibIFaK DSTtYAtFrCngpeXHc3cFhoABhLojjA2d2xEg5GNzs2DWYZZCby2vnRRFPvzftF8pq+O7 xicg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=QirMGIyyJ8mPyffeQaMAhYCCUiHPI3baaFNQ4whC7Y4=; b=suls3MBN36ej9MTJ5ezbE0cMOz59cjqFdLnmO6T4bLxn7+gY7mEKGFn4sl+WlGXDD8 rRCq8zlvS6E4A0ETxjdi3NhCeXofJEeynfC1ne6wOn63XTFjVdUs2R3t+SncI+srwFFo MHQ9lCfWAeySqUoVJvvIWYhkH3+3jnJyyfbjN2o26ycpUodrct6rE5GPMklh5TKzEC9w M+MoTu88vRDySGW9vjXPCpFkUSFaQgiD95lO/aLcx/BRIB0w027yIsCDFbx8Y3xCst4Y cJtzu65ucMRSbm5EVOC7xlxiIeUGkfHephq6EEgllmid3MJ8mc72BWJBPkSmlQjbFIJN iZ9g== X-Gm-Message-State: AHQUAuZCYGQXVicJaliAM1XRvvBIUq3Rwu9yCc6dXpeGqhvck4y96KgS wLR4kSArcYYJCSkLDRc6dwUag4Kt X-Google-Smtp-Source: AHgI3IZpSzZpzNqdLiJr12KCw5tiI5nRg9EBp9S4Dud7Ji673by4WoF2mr0D7oPjQx/F4/d3YpNuBA== X-Received: by 2002:adf:dccd:: with SMTP id x13mr1244093wrm.162.1549390545484; Tue, 05 Feb 2019 10:15:45 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:44 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:27 +0100 Message-Id: <1549390526-24246-18-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::434 Subject: [Qemu-devel] [PULL 17/76] linuxboot_dma: move common functions in a new header X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella In order to allow other option roms to use these common useful functions and definitions, this patch put them in two new C header files called optrom.h and optrom_fw_cfg.h. We also add useful out*() in*() functions for different size, and new fw_cfg functions to use when DMA feature is not available. Signed-off-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Liam Merwick --- pc-bios/optionrom/linuxboot_dma.c | 102 +++++++---------------------------- pc-bios/optionrom/optrom.h | 110 ++++++++++++++++++++++++++++++++++++++ pc-bios/optionrom/optrom_fw_cfg.h | 92 +++++++++++++++++++++++++++++++ 3 files changed, 221 insertions(+), 83 deletions(-) create mode 100644 pc-bios/optionrom/optrom.h create mode 100644 pc-bios/optionrom/optrom_fw_cfg.h diff --git a/pc-bios/optionrom/linuxboot_dma.c b/pc-bios/optionrom/linuxboot_dma.c index f728dc8..cbcf667 100644 --- a/pc-bios/optionrom/linuxboot_dma.c +++ b/pc-bios/optionrom/linuxboot_dma.c @@ -58,21 +58,13 @@ asm( " jmp load_kernel\n" ); -#define BIOS_CFG_DMA_ADDR_HIGH 0x514 -#define BIOS_CFG_DMA_ADDR_LOW 0x518 - -#define uint64_t unsigned long long -#define uint32_t unsigned int -#define uint16_t unsigned short - -#include "../../include/standard-headers/linux/qemu_fw_cfg.h" - -#define barrier() asm("" : : : "memory") - -static inline void outl(uint32_t value, uint16_t port) -{ - asm("outl %0, %w1" : : "a"(value), "Nd"(port)); -} +/* + * The includes of C headers must be after the asm block to avoid compiler + * errors. + */ +#include +#include "optrom.h" +#include "optrom_fw_cfg.h" static inline void set_es(void *addr) { @@ -80,12 +72,6 @@ static inline void set_es(void *addr) asm("movl %0, %%es" : : "r"(seg)); } -#ifdef __clang__ -#define ADDR32 -#else -#define ADDR32 "addr32 " -#endif - static inline uint16_t readw_es(uint16_t offset) { uint16_t val; @@ -108,56 +94,6 @@ static inline void writel_es(uint16_t offset, uint32_t val) asm(ADDR32 "movl %0, %%es:(%1)" : : "r"(val), "r"((uint32_t)offset)); } -static inline uint32_t bswap32(uint32_t x) -{ - asm("bswapl %0" : "=r" (x) : "0" (x)); - return x; -} - -static inline uint64_t bswap64(uint64_t x) -{ - asm("bswapl %%eax; bswapl %%edx; xchg %%eax, %%edx" : "=A" (x) : "0" (x)); - return x; -} - -static inline uint64_t cpu_to_be64(uint64_t x) -{ - return bswap64(x); -} - -static inline uint32_t cpu_to_be32(uint32_t x) -{ - return bswap32(x); -} - -static inline uint32_t be32_to_cpu(uint32_t x) -{ - return bswap32(x); -} - -/* clang is happy to inline this function, and bloats the - * ROM. - */ -static __attribute__((__noinline__)) -void bios_cfg_read_entry(void *buf, uint16_t entry, uint32_t len) -{ - struct fw_cfg_dma_access access; - uint32_t control = (entry << 16) | FW_CFG_DMA_CTL_SELECT - | FW_CFG_DMA_CTL_READ; - - access.address = cpu_to_be64((uint64_t)(uint32_t)buf); - access.length = cpu_to_be32(len); - access.control = cpu_to_be32(control); - - barrier(); - - outl(cpu_to_be32((uint32_t)&access), BIOS_CFG_DMA_ADDR_LOW); - - while (be32_to_cpu(access.control) & ~FW_CFG_DMA_CTL_ERROR) { - barrier(); - } -} - /* Return top of memory using BIOS function E801. */ static uint32_t get_e801_addr(void) { @@ -211,9 +147,9 @@ void load_kernel(void) uint32_t initrd_end_page, max_allowed_page; uint32_t segment_addr, stack_addr; - bios_cfg_read_entry(&setup_addr, FW_CFG_SETUP_ADDR, 4); - bios_cfg_read_entry(&setup_size, FW_CFG_SETUP_SIZE, 4); - bios_cfg_read_entry(setup_addr, FW_CFG_SETUP_DATA, setup_size); + bios_cfg_read_entry_dma(&setup_addr, FW_CFG_SETUP_ADDR, 4); + bios_cfg_read_entry_dma(&setup_size, FW_CFG_SETUP_SIZE, 4); + bios_cfg_read_entry_dma(setup_addr, FW_CFG_SETUP_DATA, setup_size); set_es(setup_addr); @@ -223,8 +159,8 @@ void load_kernel(void) writel_es(0x22c, 0x37ffffff); } - bios_cfg_read_entry(&initrd_addr, FW_CFG_INITRD_ADDR, 4); - bios_cfg_read_entry(&initrd_size, FW_CFG_INITRD_SIZE, 4); + bios_cfg_read_entry_dma(&initrd_addr, FW_CFG_INITRD_ADDR, 4); + bios_cfg_read_entry_dma(&initrd_size, FW_CFG_INITRD_SIZE, 4); initrd_end_page = ((uint32_t)(initrd_addr + initrd_size) & -4096); max_allowed_page = (readl_es(0x22c) & -4096); @@ -239,15 +175,15 @@ void load_kernel(void) } - bios_cfg_read_entry(initrd_addr, FW_CFG_INITRD_DATA, initrd_size); + bios_cfg_read_entry_dma(initrd_addr, FW_CFG_INITRD_DATA, initrd_size); - bios_cfg_read_entry(&kernel_addr, FW_CFG_KERNEL_ADDR, 4); - bios_cfg_read_entry(&kernel_size, FW_CFG_KERNEL_SIZE, 4); - bios_cfg_read_entry(kernel_addr, FW_CFG_KERNEL_DATA, kernel_size); + bios_cfg_read_entry_dma(&kernel_addr, FW_CFG_KERNEL_ADDR, 4); + bios_cfg_read_entry_dma(&kernel_size, FW_CFG_KERNEL_SIZE, 4); + bios_cfg_read_entry_dma(kernel_addr, FW_CFG_KERNEL_DATA, kernel_size); - bios_cfg_read_entry(&cmdline_addr, FW_CFG_CMDLINE_ADDR, 4); - bios_cfg_read_entry(&cmdline_size, FW_CFG_CMDLINE_SIZE, 4); - bios_cfg_read_entry(cmdline_addr, FW_CFG_CMDLINE_DATA, cmdline_size); + bios_cfg_read_entry_dma(&cmdline_addr, FW_CFG_CMDLINE_ADDR, 4); + bios_cfg_read_entry_dma(&cmdline_size, FW_CFG_CMDLINE_SIZE, 4); + bios_cfg_read_entry_dma(cmdline_addr, FW_CFG_CMDLINE_DATA, cmdline_size); /* Boot linux */ segment_addr = ((uint32_t)setup_addr >> 4); diff --git a/pc-bios/optionrom/optrom.h b/pc-bios/optionrom/optrom.h new file mode 100644 index 0000000..3578192 --- /dev/null +++ b/pc-bios/optionrom/optrom.h @@ -0,0 +1,110 @@ +/* + * Common Option ROM Functions for C code + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Copyright (c) 2015-2019 Red Hat Inc. + * Authors: + * Marc Marí + * Richard W.M. Jones + * Stefano Garzarella + */ + +#ifndef OPTROM_H +#define OPTROM_H + +#include +#include "../../include/standard-headers/linux/qemu_fw_cfg.h" + +#define barrier() asm("" : : : "memory") + +#ifdef __clang__ +#define ADDR32 +#else +#define ADDR32 "addr32 " +#endif + +static inline void outb(uint8_t value, uint16_t port) +{ + asm volatile("outb %0, %w1" : : "a"(value), "Nd"(port)); +} + +static inline void outw(uint16_t value, uint16_t port) +{ + asm volatile("outw %0, %w1" : : "a"(value), "Nd"(port)); +} + +static inline void outl(uint32_t value, uint16_t port) +{ + asm volatile("outl %0, %w1" : : "a"(value), "Nd"(port)); +} + +static inline uint8_t inb(uint16_t port) +{ + uint8_t value; + + asm volatile("inb %w1, %0" : "=a"(value) : "Nd"(port)); + return value; +} + +static inline uint16_t inw(uint16_t port) +{ + uint16_t value; + + asm volatile("inw %w1, %0" : "=a"(value) : "Nd"(port)); + return value; +} + +static inline uint32_t inl(uint16_t port) +{ + uint32_t value; + + asm volatile("inl %w1, %0" : "=a"(value) : "Nd"(port)); + return value; +} + +static inline void insb(uint16_t port, uint8_t *buf, uint32_t len) +{ + asm volatile("rep insb %%dx, %%es:(%%edi)" + : "+c"(len), "+D"(buf) : "d"(port) : "memory"); +} + +static inline uint32_t bswap32(uint32_t x) +{ + asm("bswapl %0" : "=r" (x) : "0" (x)); + return x; +} + +static inline uint64_t bswap64(uint64_t x) +{ + asm("bswapl %%eax; bswapl %%edx; xchg %%eax, %%edx" : "=A" (x) : "0" (x)); + return x; +} + +static inline uint64_t cpu_to_be64(uint64_t x) +{ + return bswap64(x); +} + +static inline uint32_t cpu_to_be32(uint32_t x) +{ + return bswap32(x); +} + +static inline uint32_t be32_to_cpu(uint32_t x) +{ + return bswap32(x); +} + +#endif /* OPTROM_H */ diff --git a/pc-bios/optionrom/optrom_fw_cfg.h b/pc-bios/optionrom/optrom_fw_cfg.h new file mode 100644 index 0000000..a3660a5 --- /dev/null +++ b/pc-bios/optionrom/optrom_fw_cfg.h @@ -0,0 +1,92 @@ +/* + * Common Option ROM Functions for fw_cfg + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Copyright (c) 2015-2019 Red Hat Inc. + * Authors: + * Marc Marí + * Richard W.M. Jones + * Stefano Garzarella + */ + +#ifndef OPTROM_FW_CFG_H +#define OPTROM_FW_CFG_H + +#include "../../include/standard-headers/linux/qemu_fw_cfg.h" + +#define BIOS_CFG_IOPORT_CFG 0x510 +#define BIOS_CFG_IOPORT_DATA 0x511 +#define BIOS_CFG_DMA_ADDR_HIGH 0x514 +#define BIOS_CFG_DMA_ADDR_LOW 0x518 + +static __attribute__((unused)) +void bios_cfg_select(uint16_t key) +{ + outw(key, BIOS_CFG_IOPORT_CFG); +} + +static __attribute__((unused)) +void bios_cfg_read_entry_io(void *buf, uint16_t entry, uint32_t len) +{ + bios_cfg_select(entry); + insb(BIOS_CFG_IOPORT_DATA, buf, len); +} + +/* + * clang is happy to inline this function, and bloats the + * ROM. + */ +static __attribute__((__noinline__)) __attribute__((unused)) +void bios_cfg_read_entry_dma(void *buf, uint16_t entry, uint32_t len) +{ + struct fw_cfg_dma_access access; + uint32_t control = (entry << 16) | FW_CFG_DMA_CTL_SELECT + | FW_CFG_DMA_CTL_READ; + + access.address = cpu_to_be64((uint64_t)(uint32_t)buf); + access.length = cpu_to_be32(len); + access.control = cpu_to_be32(control); + + barrier(); + + outl(cpu_to_be32((uint32_t)&access), BIOS_CFG_DMA_ADDR_LOW); + + while (be32_to_cpu(access.control) & ~FW_CFG_DMA_CTL_ERROR) { + barrier(); + } +} + +static __attribute__((unused)) +void bios_cfg_read_entry(void *buf, uint16_t entry, uint32_t len, + uint32_t version) +{ + if (version & FW_CFG_VERSION_DMA) { + bios_cfg_read_entry_dma(buf, entry, len); + } else { + bios_cfg_read_entry_io(buf, entry, len); + } +} + +static __attribute__((unused)) +uint32_t bios_cfg_version(void) +{ + uint32_t version; + + bios_cfg_read_entry_io(&version, FW_CFG_ID, sizeof(version)); + + return version; +} + +#endif /* OPTROM_FW_CFG_H */ From patchwork Tue Feb 5 18:14:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037078 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fRQou1ci"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDS44QFVz9sDX for ; Wed, 6 Feb 2019 06:00:52 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5xi-0005Zg-Ei for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:00:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36041) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GM-0002Ot-Hq for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003m6-BJ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:02 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:38244) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003cA-QR for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x432.google.com with SMTP id v13so4716840wrw.5 for ; Tue, 05 Feb 2019 10:15:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=qD50A4l4dAyFqUHrmgu3t/sXmVP5cCqbGQd+PoNl+68=; b=fRQou1ciq/IYUzJy+3DStVJIb+UYSZP3K1uWanuoGIDLHC0KPyw5Qbgbq2Ih6+v2ae eu5zIGYOcCIdxn693KbobLzqpbvYhOI3W4vs219nBntkC86N3YOiFNMXymFZHouTTRov i1vVbVCbM0uxNEyuxTJNq6ov0KwpZ8tvoby9ZR8oxQ+PsnqHFOFz+L7ZAn3OoPirRSqq RwQBCWlTxAdLe9N7FmqHEacTRdqmahLF7bln0u10gWYrarzbFsuhfv42zcBoU2vbbIAQ 6E8p2gnpn/coZjVTg2tYWJrV3FFmPdvhy7IMwNa4F75CrJykjbUAgcHVVGy6I6qtN9+6 cSGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=qD50A4l4dAyFqUHrmgu3t/sXmVP5cCqbGQd+PoNl+68=; b=A48BWLA6ClaFx4uAp4LS8zfw77jUbiLDJrkBHQwYDFpo2eNr6Uca6aX+BBjXZaLwwe cysbrUhfM2qe4iqpdqgI/XBhAdxpP5XNWGJDjcxNy33qpN/6uOb5zcpEisp1nZppNfSf tvP1FaIHBBFpTCgu8inMzzPvO5aS0t86PW8VsXlT+mTxl03MxbnlPWAuGvn9sZW47Vx/ Yyn9vUPsRpsQKqt6DHU0z2HiJPQx1qpuunmms6QTxFWeheGb5S24bnYIe/BTqc2dxTIC PnAysiuyHAa/pzZZqyxnfeHdtCKTSkN4EwVKIdyE6x5nc7qhd24bdojq2OGkRzOxLEdW +RMw== X-Gm-Message-State: AHQUAua73M+wAOTdP7Jr9JXvHZY6JX4OLGuh7gOAbuhMGVDrg+05bAfM 4pjuGVPrEmRvIdw2LzJENkLhWSMy X-Google-Smtp-Source: AHgI3IY6y3+KV3A3k78JrIviAdXiu1jzSom8qZSjZnowE/Hn1HADmhclujZdp+JEA6fDkiKPEUK6/A== X-Received: by 2002:adf:f1c5:: with SMTP id z5mr4765825wro.118.1549390547120; Tue, 05 Feb 2019 10:15:47 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:45 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:28 +0100 Message-Id: <1549390526-24246-19-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 Subject: [Qemu-devel] [PULL 18/76] optionrom: add new PVH option rom X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella The new pvh.bin option rom can be used with SeaBIOS to boot uncompressed kernel using the x86/HVM direct boot ABI. pvh.S contains the entry point of the option rom. It runs in real mode, loads the e820 table querying the BIOS, and then it switches to 32bit protected mode and jumps to the pvh_load_kernel() written in pvh_main.c. pvh_load_kernel() loads the cmdline and kernel entry_point using fw_cfg, then it looks for RSDP, fills the hvm_start_info required by x86/HVM ABI, and finally jumps to the kernel entry_point. Signed-off-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Liam Merwick --- .gitignore | 4 + Makefile | 2 +- pc-bios/optionrom/Makefile | 5 +- pc-bios/optionrom/pvh.S | 200 +++++++++++++++++++++++++++++++++++++++++++ pc-bios/optionrom/pvh_main.c | 116 +++++++++++++++++++++++++ pc-bios/pvh.bin | Bin 0 -> 1536 bytes 6 files changed, 325 insertions(+), 2 deletions(-) create mode 100644 pc-bios/optionrom/pvh.S create mode 100644 pc-bios/optionrom/pvh_main.c create mode 100644 pc-bios/pvh.bin diff --git a/pc-bios/pvh.bin b/pc-bios/pvh.bin new file mode 100644 index 0000000000000000000000000000000000000000..38a41761014957d50eb55d790b6957888cbeee0a GIT binary patch literal 1536 zcmeHFO=uHA6n6(H}8AjdpoTU zx4nc-R}e_ND=t*H!BfH+!No@%FjUZISAWu>0?idgIy6ml^CD#nRCq@fD@>KeLo{cJ zx<%EHEKnhzpezJ1;e`YXiJ*q+1O(dw!^hpQ7pT$a2cWrlj?Wv^Sfe_CWwc zMo)jE&+1vdsF$n<=mMch!vS2`2j zK!@F5v$80&x6v7?AWe<181b?evP*iw8i<%%klA}>YNs^C{Dc*yLMGq=SW-nI6_nz7 z%BQ6w;Ckur%B0+$A8tL@hLl04m5hw{>C(7}61AJepV^K6N>WV`zv-#NDc*SAb=dU8 z5b@4O`C!McqcH|Kx{Aj1B+>F^0QgY1D)%opHOIngz1aUP-qIAVoR)6wz;q=m*Mipv z=?|voayiHJbe2&xOGkaE10O;y;NEju1??_JHTm9Z>j)BPk9irSsmV*X_u;`NrP9Ud z%ot~9Rh(Jtfr&cgU_oNW2m;LiR3Q!ALGXk(Z}9T$GhKShTmL->w!D%ws>&g?f%w@+ zeuT4BTZlMz-YL+5)_DUw-%XYIy$L=$Oq1<-Wir@)@zRC7_9%jMI3GvdpT4aQ+qTO= z{<(%7q70X%#fZPOwr1O0K*musTl&iVe`IVV@%M;Ha;boqtX@vs1JUeX6R{T8otMbP NY^|*c{O<$?e*uLwDi8nw literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 0430257..321095b 100644 --- a/.gitignore +++ b/.gitignore @@ -103,6 +103,10 @@ /pc-bios/optionrom/linuxboot_dma.bin /pc-bios/optionrom/linuxboot_dma.raw /pc-bios/optionrom/linuxboot_dma.img +/pc-bios/optionrom/pvh.asm +/pc-bios/optionrom/pvh.bin +/pc-bios/optionrom/pvh.raw +/pc-bios/optionrom/pvh.img /pc-bios/optionrom/multiboot.asm /pc-bios/optionrom/multiboot.bin /pc-bios/optionrom/multiboot.raw diff --git a/Makefile b/Makefile index 1278a3e..76f6ab4 100644 --- a/Makefile +++ b/Makefile @@ -673,7 +673,7 @@ efi-e1000.rom efi-eepro100.rom efi-ne2k_pci.rom \ efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom \ efi-e1000e.rom efi-vmxnet3.rom \ bamboo.dtb canyonlands.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \ -multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin \ +multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin \ s390-ccw.img s390-netboot.img \ spapr-rtas.bin slof.bin skiboot.lid \ palcode-clipper \ diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile index a9a9e5e..e33a24d 100644 --- a/pc-bios/optionrom/Makefile +++ b/pc-bios/optionrom/Makefile @@ -37,7 +37,7 @@ Wa = -Wa, ASFLAGS += -32 QEMU_CFLAGS += $(call cc-c-option, $(QEMU_CFLAGS), $(Wa)-32) -build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin +build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin # suppress auto-removal of intermediate files .SECONDARY: @@ -46,6 +46,9 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin %.o: %.S $(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"AS","$(TARGET_DIR)$@") +pvh.img: pvh.o pvh_main.o + $(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -T $(SRC_PATH)/pc-bios/optionrom/flat.lds -s -o $@ $^,"BUILD","$(TARGET_DIR)$@") + %.img: %.o $(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -T $(SRC_PATH)/pc-bios/optionrom/flat.lds -s -o $@ $<,"BUILD","$(TARGET_DIR)$@") diff --git a/pc-bios/optionrom/pvh.S b/pc-bios/optionrom/pvh.S new file mode 100644 index 0000000..e1d7f4a --- /dev/null +++ b/pc-bios/optionrom/pvh.S @@ -0,0 +1,200 @@ +/* + * PVH Option ROM + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Copyright Novell Inc, 2009 + * Authors: Alexander Graf + * + * Copyright (c) 2019 Red Hat Inc. + * Authors: Stefano Garzarella + */ + +#include "optionrom.h" + +#define BOOT_ROM_PRODUCT "PVH loader" + +#define GS_PROT_JUMP 0 +#define GS_GDT_DESC 6 + +#ifdef OPTION_ROM_START +#undef OPTION_ROM_START +#endif +#ifdef OPTION_ROM_END +#undef OPTION_ROM_END +#endif + +/* + * Redefine OPTION_ROM_START and OPTION_ROM_END, because this rom is produced + * linking multiple objects. + * signrom.py will add padding. + */ +#define OPTION_ROM_START \ + .code16; \ + .text; \ + .global _start; \ + _start:; \ + .short 0xaa55; \ + .byte 3; /* desired size in 512 units */ + +#define OPTION_ROM_END \ + _end: + +BOOT_ROM_START + +run_pvhboot: + + cli + cld + + mov %cs, %eax + shl $0x4, %eax + + /* set up a long jump descriptor that is PC relative */ + + /* move stack memory to %gs */ + mov %ss, %ecx + shl $0x4, %ecx + mov %esp, %ebx + add %ebx, %ecx + sub $0x20, %ecx + sub $0x30, %esp + shr $0x4, %ecx + mov %cx, %gs + + /* now push the indirect jump descriptor there */ + mov (prot_jump), %ebx + add %eax, %ebx + movl %ebx, %gs:GS_PROT_JUMP + mov $8, %bx + movw %bx, %gs:GS_PROT_JUMP + 4 + + /* fix the gdt descriptor to be PC relative */ + movw (gdt_desc), %bx + movw %bx, %gs:GS_GDT_DESC + movl (gdt_desc+2), %ebx + add %eax, %ebx + movl %ebx, %gs:GS_GDT_DESC + 2 + + /* initialize HVM memmap table using int 0x15(e820) */ + + /* ES = pvh_e820 struct */ + mov $pvh_e820, %eax + shr $4, %eax + mov %ax, %es + + /* start storing memmap table at %es:8 (pvh_e820.table) */ + mov $8,%edi + xor %ebx, %ebx + jmp memmap_loop + +memmap_loop_check: + /* pvh_e820 can contains up to 128 entries */ + cmp $128, %ebx + je memmap_done + +memmap_loop: + /* entry size (hvm_memmap_table_entry) & max buffer size (int15) */ + movl $24, %ecx + /* e820 */ + movl $0x0000e820, %eax + /* 'SMAP' magic */ + movl $0x534d4150, %edx + /* store counter value at %es:0 (pvh_e820.entries) */ + movl %ebx, %es:0 + + int $0x15 + /* error or last entry already done? */ + jb memmap_err + + /* %edi += entry size (hvm_memmap_table_entry) */ + add $24, %edi + + /* continuation value 0 means last entry */ + test %ebx, %ebx + jnz memmap_loop_check + + /* increase pvh_e820.entries to save the last entry */ + movl %es:0, %ebx + inc %ebx + +memmap_done: + movl %ebx, %es:0 + +memmap_err: + + /* load the GDT before going into protected mode */ +lgdt: + data32 lgdt %gs:GS_GDT_DESC + + /* get us to protected mode now */ + movl $1, %eax + movl %eax, %cr0 + + /* the LJMP sets CS for us and gets us to 32-bit */ +ljmp: + data32 ljmp *%gs:GS_PROT_JUMP + +prot_mode: +.code32 + + /* initialize all other segments */ + movl $0x10, %eax + movl %eax, %ss + movl %eax, %ds + movl %eax, %es + movl %eax, %fs + movl %eax, %gs + + jmp pvh_load_kernel + +/* Variables */ +.align 4, 0 +prot_jump: .long prot_mode + .short 8 + +.align 4, 0 +gdt: + /* 0x00 */ +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + /* + * 0x08: code segment + * (base=0, limit=0xfffff, type=32bit code exec/read, DPL=0, 4k) + */ +.byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x9a, 0xcf, 0x00 + + /* + * 0x10: data segment + * (base=0, limit=0xfffff, type=32bit data read/write, DPL=0, 4k) + */ +.byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0xcf, 0x00 + + /* + * 0x18: code segment + * (base=0, limit=0x0ffff, type=16bit code exec/read/conf, DPL=0, 1b) + */ +.byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00 + + /* + * 0x20: data segment + * (base=0, limit=0x0ffff, type=16bit data read/write, DPL=0, 1b) + */ +.byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00 + +gdt_desc: +.short (5 * 8) - 1 +.long gdt + +BOOT_ROM_END diff --git a/pc-bios/optionrom/pvh_main.c b/pc-bios/optionrom/pvh_main.c new file mode 100644 index 0000000..1dcc5c9 --- /dev/null +++ b/pc-bios/optionrom/pvh_main.c @@ -0,0 +1,116 @@ +/* + * PVH Option ROM for fw_cfg DMA + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Copyright (c) 2019 Red Hat Inc. + * Authors: + * Stefano Garzarella + */ + +asm (".code32"); /* this code will be executed in protected mode */ + +#include +#include +#include "optrom.h" +#include "optrom_fw_cfg.h" +#include "../../include/hw/xen/start_info.h" + +#define RSDP_SIGNATURE 0x2052545020445352LL /* "RSD PTR " */ +#define RSDP_AREA_ADDR 0x000E0000 +#define RSDP_AREA_SIZE 2048 +#define EBDA_BASE_ADDR 0x0000040E +#define EBDA_SIZE 1024 + +#define E820_MAXENTRIES 128 +#define CMDLINE_BUFSIZE 4096 + +/* e820 table filled in pvh.S using int 0x15 */ +struct pvh_e820_table { + uint32_t entries; + uint32_t reserved; + struct hvm_memmap_table_entry table[E820_MAXENTRIES]; +}; + +struct pvh_e820_table pvh_e820 asm("pvh_e820") __attribute__ ((aligned)); + +static struct hvm_start_info start_info; +static uint8_t cmdline_buffer[CMDLINE_BUFSIZE]; + + +/* Search RSDP signature. */ +static uintptr_t search_rsdp(uint32_t start_addr, uint32_t end_addr) +{ + uint64_t *rsdp_p; + + /* RSDP signature is always on a 16 byte boundary */ + for (rsdp_p = (uint64_t *)start_addr; rsdp_p < (uint64_t *)end_addr; + rsdp_p += 2) { + if (*rsdp_p == RSDP_SIGNATURE) { + return (uintptr_t)rsdp_p; + } + } + + return 0; +} + +/* Force the asm name without leading underscore, even on Win32. */ +extern void pvh_load_kernel(void) asm("pvh_load_kernel"); + +void pvh_load_kernel(void) +{ + void *cmdline_addr = &cmdline_buffer; + void *kernel_entry; + uint32_t cmdline_size, fw_cfg_version = bios_cfg_version(); + + start_info.magic = XEN_HVM_START_MAGIC_VALUE; + start_info.version = 1; + + /* + * pvh_e820 is filled in the pvh.S before to switch in protected mode, + * because we can use int 0x15 only in real mode. + */ + start_info.memmap_entries = pvh_e820.entries; + start_info.memmap_paddr = (uintptr_t)pvh_e820.table; + + /* + * Search RSDP in the main BIOS area below 1 MB. + * SeaBIOS store the RSDP in this area, so we try it first. + */ + start_info.rsdp_paddr = search_rsdp(RSDP_AREA_ADDR, + RSDP_AREA_ADDR + RSDP_AREA_SIZE); + + /* Search RSDP in the EBDA if it is not found */ + if (!start_info.rsdp_paddr) { + /* + * Th EBDA address is stored at EBDA_BASE_ADDR. It contains 2 bytes + * segment pointer to EBDA, so we must convert it to a linear address. + */ + uint32_t ebda_paddr = ((uint32_t)*((uint16_t *)EBDA_BASE_ADDR)) << 4; + if (ebda_paddr > 0x400) { + uint32_t *ebda = (uint32_t *)ebda_paddr; + + start_info.rsdp_paddr = search_rsdp(*ebda, *ebda + EBDA_SIZE); + } + } + + bios_cfg_read_entry(&cmdline_size, FW_CFG_CMDLINE_SIZE, 4, fw_cfg_version); + bios_cfg_read_entry(cmdline_addr, FW_CFG_CMDLINE_DATA, cmdline_size, + fw_cfg_version); + start_info.cmdline_paddr = (uintptr_t)cmdline_addr; + + bios_cfg_read_entry(&kernel_entry, FW_CFG_KERNEL_ENTRY, 4, fw_cfg_version); + + asm volatile("jmp *%1" : : "b"(&start_info), "c"(kernel_entry)); +} From patchwork Tue Feb 5 18:14:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037056 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lvsM8Ga/"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDBx2QTfz9s7T for ; Wed, 6 Feb 2019 05:49:29 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37822 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5mh-0003z0-AI for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:49:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35955) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GK-0002N0-Mz for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003o4-6R for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:39610) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003db-P0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x42e.google.com with SMTP id t27so4710125wra.6 for ; Tue, 05 Feb 2019 10:15:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ArvD2ofpUmAgtiJ4FmlKD/C5lNtZCkxrx6HJEIKMW7U=; b=lvsM8Ga/KEH1On3JjbTtYOylF6WjdTmPwv8gZ1CRY4HjjFFpBTLvsqdk2efG/qpc1I Tj7DAyOjUU+2/1UpQllt3/3dY6wSU/Q9qq0t021FsCn6hFIEs9SC5QFeuG/wytw+027R 5gKqCQoZ+huqizKVMV4PMQDGbYqHyQcqRfOZSfcgNSM6DqVHF5ui1oXyobbj4fWTlbQR mWCDvFa/28rnLvMbXyE4X/5Ol/yK1SHaW8xqq9gumnXTgcJ9Qg2hKVWYchm0wJTSu7u/ Xi+uGqdiJQRD1sgW8JDRTeQhxri4f+q12qqkLxezHOxlx7GjpDbL9aJcv/JgYn+o0t8L NECw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ArvD2ofpUmAgtiJ4FmlKD/C5lNtZCkxrx6HJEIKMW7U=; b=lOF0RVfaSgGn6glnWTQsrOgz4Xg1Y5KUEoMQpeVs48uGY0bJFdfuQZREelnHEsVP6p o5MhueqBEJZ8gSNPjB/h8dWQTe73sDDBOVwYpL8Eq3pc2txVgF6V9jdZx4Vfq/crWDXp 4ffu+Vbhp5vLFStAe+/xCDalo/RaZvLiE6RVrbellBj+4NcxDPbTNGcD+IpBRQhsJqBh dcBdpLfXV8Nfin07rt8x6enayr8Q5SWDXZ2RSnF98mMzMOAMXTMDREQS87qug0Z1vxLa lNoyguTjiro9n2VBpAEJ7d1mYP90mIMmIP63eMPZn6bxEO+TEUxloPvbWmYoOSB3Kxe3 p9Kg== X-Gm-Message-State: AHQUAuYPAF5RU/TsRAsf+5UYVVhco4a8zRwmY6NI/3yoD+7PH2ylcQgN NT7lTaTktFPf081Jh4X+UtJMRY5a X-Google-Smtp-Source: AHgI3IYUtmFbzXSscaSSp3aEMsN1utpWbG8AOWEIqmenXm2x87xHgEmmZG3iB9A4a4XwKCK6O/2yLQ== X-Received: by 2002:adf:e8c1:: with SMTP id k1mr4508832wrn.104.1549390548326; Tue, 05 Feb 2019 10:15:48 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:29 +0100 Message-Id: <1549390526-24246-20-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e Subject: [Qemu-devel] [PULL 19/76] hw/i386/pc: use PVH option rom X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella Use pvh.bin option rom when we are booting an uncompressed kernel using the x86/HVM direct boot ABI. Signed-off-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Liam Merwick Based-on: <1547554687-12687-1-git-send-email-liam.merwick@oracle.com> Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 5d61557..9efbd16 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1261,6 +1261,10 @@ static void load_linux(PCMachineState *pcms, initrd_size); } + option_rom[nb_option_roms].bootindex = 0; + option_rom[nb_option_roms].name = "pvh.bin"; + nb_option_roms++; + return; } /* This looks like a multiboot kernel. If it is, let's stop @@ -1712,6 +1716,7 @@ void xen_load_linux(PCMachineState *pcms) for (i = 0; i < nb_option_roms; i++) { assert(!strcmp(option_rom[i].name, "linuxboot.bin") || !strcmp(option_rom[i].name, "linuxboot_dma.bin") || + !strcmp(option_rom[i].name, "pvh.bin") || !strcmp(option_rom[i].name, "multiboot.bin")); rom_add_option(option_rom[i].name, option_rom[i].bootindex); } From patchwork Tue Feb 5 18:14:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037050 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ppY+SNMV"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD532L2yz9s7h for ; Wed, 6 Feb 2019 05:44:23 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37743 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5hl-0008OK-Ag for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:44:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36026) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002O9-US for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003oa-Cf for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:35490) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003eH-PY for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wm1-x32d.google.com with SMTP id t200so4796957wmt.0 for ; Tue, 05 Feb 2019 10:15:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=5CBtt4xfXFFq047st/rPFliA064FpqbSDIzcqCQR2U8=; b=ppY+SNMVV5343gBY39X7b2vEjhb1FTPSR+yi7h4IXaalIw7XiPZ9qyjq8nhuWlgnTt MMyW0KSw4yl/aLarK9yrHoKGDNhYDzIrONht6ceZ/+IYavFj8wWolBHdwaK0XPKou9Kx zJ2ibsK6kZtlQzOA5rDjqhz56vK6rgRp87YR20IZ9VS+e5ujChno+JaEX6iXTze4IE2u LbnrRtfqwfLiFr8dUZfrqhhQk+X4QfraI7KS0O+1qc0Nvamoce4RXowJizH2MyUnTIwp wbvmBoByl7ghxn6WD7tnTgxFU0pe27NXZKOteqZm8DxPPkZI8LNEnGyrEOj7Ke0ZqwoW oNFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=5CBtt4xfXFFq047st/rPFliA064FpqbSDIzcqCQR2U8=; b=mNGW1tKG6/BIDJyrCm0GSrQqabWu7HAry5fmgTnIqUfUrh2WPGRHm4KPDbrpRweTZz 9XTMWg2M10TeJLdIC4HBTthXeHoha2YPFFiEbX5uGBlgIJSP0QLGN6BtzEmzKJDddil2 7tHhrb3+awS6eZGk1Ltw/v0z9IAgKV1PlUrupX06sCvfE5nLs75+yd9pOEakhOQRmvku KmW29jR8Nx6CVddzmhYYanj7IJvwicNJUknFEXaJp0unKlQG84v/P1V/5ubdcJbwBHPf XaSVEBmHsjxvWCSJZPeXZ15P22HmqoQRYVvVj5Wt71Hnn0LKE0iKN+IgRCrv+jSNMAPB 49jg== X-Gm-Message-State: AHQUAubG7K6joF1QRSP6Uvf5ZoLq18vYm1RHvW0aLi12ejECqp5l+nM5 TylPbmrdq3VhW0XpY8XuV3tI7Kg2 X-Google-Smtp-Source: AHgI3IZNkIygTEGjSPmauR4WwERvCawHT7crU5AbqlLdx3JcBpf/YFp3enSOhGVWBuUfswZ+UKSQLg== X-Received: by 2002:a1c:7e56:: with SMTP id z83mr18216wmc.100.1549390549357; Tue, 05 Feb 2019 10:15:49 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:48 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:30 +0100 Message-Id: <1549390526-24246-21-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 20/76] optionrom/pvh: load initrd from fw_cfg X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella If we found initrd through fw_cfg, we can load it and use the first module of hvm_start_info to pass initrd address and size to the kernel. Signed-off-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Liam Merwick Based-on: <1547554687-12687-1-git-send-email-liam.merwick@oracle.com> Signed-off-by: Paolo Bonzini --- pc-bios/optionrom/pvh_main.c | 21 +++++++++++++++++++-- pc-bios/pvh.bin | Bin 1536 -> 1536 bytes 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pc-bios/pvh.bin b/pc-bios/pvh.bin index 38a41761014957d50eb55d790b6957888cbeee0a..8033080ada2db4c4613fdc3bb5a69d79c7b0c0ca 100644 GIT binary patch delta 735 zcmZqRY2cYKndyM&#;Nv<`Y|dZ$5|Uh85k;#<{2MnZ2__v85kHA9sn{HZvYZIPJmb| zfW&duHKLQ5nUrMIfhw902-q@k@G+F$J|Cout)f{N^UIC!Q4iTVG=c}~$y9I%~ogfvxH7Wv~w?60W5Uq#G zb^8ECzJtWNSyZ}1R9F_z0NXGJNbcZV*bKQ3xZ=Q(yf415}LN%^5^G8scV%O`y;R+Qji<3DDe^<^K@j Z2no&!h6hlR%ga4L7i~VsEX~MR4FFIY;aUIy delta 434 zcmZqRY2cYKnW;f!<5YV_{Sp>3=9kl8-R?(1wdj)2Z)sc zB#yJ@h)iZ?Qj%c@s%SnSV9UV4$549rIBNn>5(JL3rie^-WRk9*!N9`6V0pM)?4=n{ zY40|WBv6CpVg5E%pg^}k~;W} z(J7;H+(iY*0P26n#NRp{$k;2u3Un37%Fb75@AnA;c{@QWdTUffIzN5R*&&(+mFxBa zirfc@b+f2+hp4bDjsV*b10;6{Ko!CC3V_t@289Gro525v%|~RS X-Patchwork-Id: 1037030 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="opgIegXl"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vClL0v3Lz9s7T for ; Wed, 6 Feb 2019 05:29:02 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37371 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5St-00043Y-WB for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:29:00 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002Lh-LU for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003mm-HB for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:38876) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003ex-3N for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wm1-x32d.google.com with SMTP id m22so4768454wml.3 for ; Tue, 05 Feb 2019 10:15:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=HVJ3B/UNAH8XhQBccB+E089Vd2e5nd2LhE6G1KGfwpM=; b=opgIegXlDtxRqZQifOJrNMP26xo3Er24lC6EytIrGUaFeGFfqbDulRwW7/oMYMyZGj Ck/jkU2Hr7Fe/PjOzrmzNo217Z8Ervfw9czgoHavR4sSYRiaC67IdkX7twNbSsaZ19ro dedWa6fHN/JF4BlxVHuUCM65hqx5IfL98EjcKMjJVxQjE6YQMJZG8VXvtY0YWhcpVMIi df9TTXNJ+e0XqytTz8XgERcjBWti9B/qTQf52jebh3aR7Xn6A5fu/H+sr0kLudmSAL3W 2NL4tI5ZUxvWgtIhKFkn8B0AjiRDYTgUAkmmoHwqOQ9G9RLU1Vi7O8ZaTCBqOZq/xYJn qLeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=HVJ3B/UNAH8XhQBccB+E089Vd2e5nd2LhE6G1KGfwpM=; b=Dc+Ctwe3VQzNrwaM4Z9OKsdvYc8km6AYNdHjMsBSwnzjs4qhbAPDSSZpI7TGl/m/ea pN3BHAsglkjXtDLaVzV0bnV+0C2UAhUtA0EPcsQYitCKdaW7droEWvnkt5xSu2/0GD4n a1B2tEYRvmpUnzeSCQeOCq0CAZdigZbIXyQp620uMEarJ4grMW2WJG+hEeh8Ee0C85gA XXKKBXBQY7ODKdT6Mym0P2+41WCaAVGsUy17O9dWxlRaNJ1SFRs/CPm6PxIv6F6B/GRl rQ313ZaeogqcnWLW3983UOgKCESLhhWzFzjeodT6H3MMNDwENfPT/pAhfSDL1lPYNBaJ ST3w== X-Gm-Message-State: AHQUAuZCzxejL/9UO+a6iqKCwt8lzxqczH3jB92z4lzQiK6IIgtooXY5 dH2QM5y0h5OdBrw9u5nYu9tv5bsX X-Google-Smtp-Source: AHgI3IZNU0fkqdGtX+gLX4N34ww5Y1IB6yoKNbSxbx3x0q2amLc42DkOp7yH4VgwpzuM+4QJiWL3RA== X-Received: by 2002:a1c:ce0e:: with SMTP id e14mr4992229wmg.53.1549390550317; Tue, 05 Feb 2019 10:15:50 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:49 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:31 +0100 Message-Id: <1549390526-24246-22-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 21/76] hw/i386/pc: enable PVH only for machine type >= 4.0 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefano Garzarella In order to avoid migration issues, we enable PVH only for machine type >= 4.0 Suggested-by: Michael S. Tsirkin Signed-off-by: Stefano Garzarella Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 4 +++- hw/i386/pc_piix.c | 3 +++ hw/i386/pc_q35.c | 3 +++ include/hw/i386/pc.h | 3 +++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 9efbd16..00166d1 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1220,7 +1220,8 @@ static void load_linux(PCMachineState *pcms, * saving the PVH entry point used by the x86/HVM direct boot ABI. * If load_elfboot() is successful, populate the fw_cfg info. */ - if (load_elfboot(kernel_filename, kernel_size, + if (pcmc->pvh_enabled && + load_elfboot(kernel_filename, kernel_size, header, pvh_start_addr, fw_cfg)) { fclose(f); @@ -2783,6 +2784,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) pcmc->acpi_data_size = 0x20000 + 0x8000; pcmc->save_tsc_khz = true; pcmc->linuxboot_dma_enabled = true; + pcmc->pvh_enabled = true; assert(!mc->get_hotplug_handler); mc->get_hotplug_handler = pc_get_hotplug_handler; mc->cpu_index_to_instance_props = pc_cpu_index_to_props; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 63c84e3..fd0f2c2 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -440,9 +440,12 @@ DEFINE_I440FX_MACHINE(v4_0, "pc-i440fx-4.0", NULL, static void pc_i440fx_3_1_machine_options(MachineClass *m) { + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pc_i440fx_4_0_machine_options(m); m->is_default = 0; m->alias = NULL; + pcmc->pvh_enabled = false; compat_props_add(m->compat_props, hw_compat_3_1, hw_compat_3_1_len); compat_props_add(m->compat_props, pc_compat_3_1, pc_compat_3_1_len); } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index b7b7959..4a175ea 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -376,9 +376,12 @@ DEFINE_Q35_MACHINE(v4_0, "pc-q35-4.0", NULL, static void pc_q35_3_1_machine_options(MachineClass *m) { + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pc_q35_4_0_machine_options(m); m->default_kernel_irqchip_split = false; m->alias = NULL; + pcmc->pvh_enabled = false; compat_props_add(m->compat_props, hw_compat_3_1, hw_compat_3_1_len); compat_props_add(m->compat_props, pc_compat_3_1, pc_compat_3_1_len); } diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 882fd8d..3ff127e 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -133,6 +133,9 @@ typedef struct PCMachineClass { /* use DMA capable linuxboot option rom */ bool linuxboot_dma_enabled; + + /* use PVH to load kernels that support this feature */ + bool pvh_enabled; } PCMachineClass; #define TYPE_PC_MACHINE "generic-pc-machine" From patchwork Tue Feb 5 18:14:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037060 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XVeHGpbk"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDGc73hzz9s7h for ; Wed, 6 Feb 2019 05:52:39 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37874 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5pl-0006a0-TP for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:52:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35984) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002NV-7l for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003oL-Az for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:36262) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003gQ-PJ; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wm1-x334.google.com with SMTP id p6so4747474wmc.1; Tue, 05 Feb 2019 10:15:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=2wnWqLsx4uUHHMd4IOFzKVZ40ju+Gth/1KZkSRFahvA=; b=XVeHGpbkhI4ShlgF32Ahbky8Q3UH35XhOJDeEkB0axma2rnsoZGcMUUKhxPk9yOHTr FjQkIMPVXS81ATqeu6111bqd5WAFVFwAstPwSAb3DeFxu+YUZ44F+1NWDeHyqG5S6xb/ V532uprzokIaLNXfnZt6bq5flELxdB/qePy39xi4WuuPH5LSKaq20o6VqZLy6oIPyWZN /cG5MVVI3zaSg+jU/PGZXdA/KU5PQEcHrWWJrCqE5DSunbGUfl788im3YFaeSGt+M/m+ 74awEhMdoQH2oLoa4wBVUVpo6/V8Dc9eluA/+a8sWG817IxvHJIvVN6gjRPb9cBfcgX+ iqjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=2wnWqLsx4uUHHMd4IOFzKVZ40ju+Gth/1KZkSRFahvA=; b=cLQEVnLjjHouc7+5zU++JoN7ZOl8GSNuOKijbKJvWr8R78UGn6qKgBciJLe1XCcYpS 0f4RRKuwLS7sSAdROKp7f5k3j8+T1JX1vJCnVDulBaRPTujei06PH5Vk+RSnLfccgpW8 qLSgMi8ZJGw1moci8JyFBmz9Qm+TI8QCtofK6uP4nV7gwVdoglGF5/9TE4ovkM8Y6cHX a97DFc78Py+fuS5MZQ8+XD/RWikD9fmohsCV/GlM3eUxR/Y+Z9VCVnqY8ugCG5HG1rm9 3Coqic8KiySL62YqReOGfgI5QGz/oDvWRyn4kWi+ibju7NszXY7qw8ptdxiBbG62/ArX 7KWQ== X-Gm-Message-State: AHQUAuZM4jtzUYuQSvx4EFO1Y6WoOyhr4wqKIVlWHMCxKSwR48NNFNu2 8dBgvRKBGOqKQdMKMorrrXoiOdG8 X-Google-Smtp-Source: AHgI3IZy4KpT+P+SUKfSxW53ov34X35UEI6QNiZL6pzEMxWWYaPs4av78TjwG3AIP7WhmLj8nX/BKQ== X-Received: by 2002:a1c:2c6:: with SMTP id 189mr3223wmc.21.1549390551285; Tue, 05 Feb 2019 10:15:51 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:50 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:32 +0100 Message-Id: <1549390526-24246-23-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 Subject: [Qemu-devel] [PULL 22/76] i386: remove the new CPUID 'PCONFIG' from Icelake-Server CPU model X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-stable@nongnu.org, Robert Hoo Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Robert Hoo PCONFIG is not available to guests; it must be specifically enabled using the PCONFIG_ENABLE execution control. Disable it, because no one can ever use it. Signed-off-by: Robert Hoo Message-Id: <1545227081-213696-2-git-send-email-robert.hu@linux.intel.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7483dae..4d21ae4 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2650,8 +2650,7 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_ECX_AVX512VNNI | CPUID_7_0_ECX_AVX512BITALG | CPUID_7_0_ECX_AVX512_VPOPCNTDQ | CPUID_7_0_ECX_LA57, .features[FEAT_7_0_EDX] = - CPUID_7_0_EDX_PCONFIG | CPUID_7_0_EDX_SPEC_CTRL | - CPUID_7_0_EDX_SPEC_CTRL_SSBD, + CPUID_7_0_EDX_SPEC_CTRL | CPUID_7_0_EDX_SPEC_CTRL_SSBD, /* Missing: XSAVES (not supported by some Linux versions, * including v4.1 to v4.12). * KVM doesn't yet expose any XSAVES state save component, From patchwork Tue Feb 5 18:14:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037041 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VWOBtMwE"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCx02cpHz9s7T for ; Wed, 6 Feb 2019 05:37:24 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37653 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5b0-0002Q1-9U for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:37:22 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002L0-0x for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GG-0003lO-QC for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45832) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GG-0003hB-IZ; Tue, 05 Feb 2019 13:15:56 -0500 Received: by mail-wr1-x42b.google.com with SMTP id q15so4660514wro.12; Tue, 05 Feb 2019 10:15:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=hJ9+wm9Qb/3qZku89bHyUzOxXjttHrnamw3hZanyHgw=; b=VWOBtMwEMZCa4vveLtYBjYZgs1cqCi85kAocH4hExVGkYy7tAQkSJkqW3M4OqlUa8g vj/Ek/x23fePuhYWw1F74p+bETWmNZAiRwNPVrf/AQ/KnyvyIvKMZsRGfF62BoMouCwS lTB7wklYOgbNyE3hYdb44fPr/cyhlQdE+VCp4OWb91ZGxbBpapBPMJ37lqUkvT2H4GUg 3RBGw66cHgruc+KL92HYAFGtPBGwt3xq4Oz1O6jECRqbPWTgIri0QUvnOTk+Sy0i3v1n GnFEfb6GhCAc6Bz60ucbDnoj4+UXieNjTcDPTRlaJUu9QIaPQmbKrSCH0d0mT44LAMLL jLKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=hJ9+wm9Qb/3qZku89bHyUzOxXjttHrnamw3hZanyHgw=; b=QnMoDrkuhjLMWA95AJUaOBENBgVEIrmnXFV5BCl9yQJl9Yfg15Wl3rtwxH7D6uoZvi atRE8xcFm0GTgam2eyD1m2bEXf+mNmgdFYXh0cikx3wo31a0v6zolTCF7qAgPtG3N17G y1FsfLHYjWRiOcDT9pElKhPRLzLy8eyPjlGXFFmOzQO1mY8YCVWODHRngB9/74dZDYRi NY2v5tHPSRdJMC8a/c2uNG19fZ+6SV0Nmnyo1oyPgba7mUFTURKpnCv6VmX7LCv7uAzM O1adoxtjmaF3YK7j9csuvuhVnlmmnoNUMSLTXEiqwg879QnRQ4R3vc7ZA9HXFcagKk7v 08lQ== X-Gm-Message-State: AHQUAuZ7Ibb9FTkJQsVEIxhtp07WwBA0U+oS/mW4E0mg/qepfwftBxVg FB0gP6dBdQ5EDV7fOHy4AclvqQDD X-Google-Smtp-Source: AHgI3Ib67cvMv5kdR8wHCVYxYuMI4ZHfLcNCalg3vSGuzfug7fXt2GYPSUBxOnD/XUyPcGT4GKke+Q== X-Received: by 2002:adf:ff09:: with SMTP id k9mr4440237wrr.97.1549390552467; Tue, 05 Feb 2019 10:15:52 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:51 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:33 +0100 Message-Id: <1549390526-24246-24-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42b Subject: [Qemu-devel] [PULL 23/76] i386: remove the 'INTEL_PT' CPUID bit from named CPU models X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Processor tracing is not yet implemented for KVM and it will be an opt in feature requiring a special module parameter. Disable it, because it is wrong to enable it by default and it is impossible that no one has ever used it. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 4d21ae4..7301e7d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -2530,8 +2530,7 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_CLWB | CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ | CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD | - CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT | - CPUID_7_0_EBX_INTEL_PT, + CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT, .features[FEAT_7_0_ECX] = CPUID_7_0_ECX_PKU | CPUID_7_0_ECX_OSPKE | CPUID_7_0_ECX_AVX512VNNI, @@ -2583,7 +2582,7 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_AVX2 | CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_ERMS | CPUID_7_0_EBX_INVPCID | CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX | - CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_INTEL_PT, + CPUID_7_0_EBX_SMAP, .features[FEAT_7_0_ECX] = CPUID_7_0_ECX_VBMI | CPUID_7_0_ECX_UMIP | CPUID_7_0_ECX_PKU | CPUID_7_0_ECX_OSPKE | CPUID_7_0_ECX_VBMI2 | CPUID_7_0_ECX_GFNI | @@ -2641,8 +2640,7 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_CLWB | CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ | CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD | - CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT | - CPUID_7_0_EBX_INTEL_PT, + CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT, .features[FEAT_7_0_ECX] = CPUID_7_0_ECX_VBMI | CPUID_7_0_ECX_UMIP | CPUID_7_0_ECX_PKU | CPUID_7_0_ECX_OSPKE | CPUID_7_0_ECX_VBMI2 | CPUID_7_0_ECX_GFNI | From patchwork Tue Feb 5 18:14:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037038 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f+OcSKLL"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCtk6ylSz9s7T for ; Wed, 6 Feb 2019 05:35:26 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37583 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Z6-0000qS-Vn for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:35:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35968) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GK-0002NE-V6 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003oG-C4 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:37801) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003iH-Oe for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wm1-x32f.google.com with SMTP id g67so4750940wmd.2 for ; Tue, 05 Feb 2019 10:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=eGwWphjMGjl4i1yZ2HJsSFxuwhwu1cxtjFHlMNpbPE4=; b=f+OcSKLLoGU58k6i5XVdnO5f5GA8/zSWaK3YmpZ5qoLBHTNeBrLyAN8SEm0Qeg/oma /zaTQWFJz9x8/CdaNKBapD7r17CavJcdMxUmz12MtHVodA+DRC1iCb3Ltb6V1X1g78dp EmEw3HkZPvQWSeuimMztzoJTEsrpInqUJPgO5/leCcnERbUO1VC8M+KoObu9ze1xNi1o RmDvgCmWJhL7oDxuYPOgZeTs4HIvOBq9bEJHtJ9o2mnMZt1EVHt8jvn5+eZb3RemlybO cn5w1kILxLG1DBYF28xtGLd3jEi6t4iPJTzt2LS5YNUf8jwJz9SWneIYz1w8T8QX3pgQ 2NBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=eGwWphjMGjl4i1yZ2HJsSFxuwhwu1cxtjFHlMNpbPE4=; b=YkE70IJG75k6+MzDjNkkfvetNsFnqBPWO87QACrJknzyXjGMwV//cPxlm+KBbVPk5T WTqSU1fppmWXRrt2FoDsoEvZdPMh/FqD3CK0C0O1m/t2GCWJvzU2ZtIPlExbruZnTtyB aacicivGIRv9MBu5IddYHgbKxv1EGGXkA/j7H6/TJXM9jq+Crud2VSZ0MZsybl+eikqo 4RgLPPUGbk+wXgxr0/1rJj9ywnWaXfP6jm1Madik9T4Us4yjF76ZWEnM2a+iiYvAfaHO BZEGSo7nl1kp/jVuhdHbhy1Slx0FR+XQALZVOeJAvWPeJaMvGhA2LSGjGAjE/Zmm6Tu2 MNmg== X-Gm-Message-State: AHQUAub+cVHy7finIsHhIooWfEZj8a08J2w3oy1PlcG3aExSTqj+u5Vc ZiZOFI4mORqT6Bqd5SXrVEhNekyI X-Google-Smtp-Source: AHgI3IbgxlZJcJ7zhMh/qJ0A4vWXRkER4GvI4cuEyaI8yrbeBqw5crt6c4wpjfuZkTSZ8KyoIOgsMQ== X-Received: by 2002:a1c:2501:: with SMTP id l1mr17711wml.102.1549390553407; Tue, 05 Feb 2019 10:15:53 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:34 +0100 Message-Id: <1549390526-24246-25-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f Subject: [Qemu-devel] [PULL 24/76] Revert "i386: Add CPUID bit for PCONFIG" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Robert Hoo Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Robert Hoo This reverts commit 5131dc433df54b37e8e918d8fba7fe10344e7a7b. For new instruction 'PCONFIG' will not be exposed to guest. Signed-off-by: Robert Hoo Message-Id: <1545227081-213696-3-git-send-email-robert.hu@linux.intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 2 +- target/i386/cpu.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7301e7d..6f3b841 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1077,7 +1077,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, "pconfig", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "spec-ctrl", "stibp", NULL, "arch-capabilities", NULL, "ssbd", diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 59656a7..95112b9 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -694,7 +694,6 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_7_0_EDX_AVX512_4VNNIW (1U << 2) /* AVX512 Neural Network Instructions */ #define CPUID_7_0_EDX_AVX512_4FMAPS (1U << 3) /* AVX512 Multiply Accumulation Single Precision */ -#define CPUID_7_0_EDX_PCONFIG (1U << 18) /* Platform Configuration */ #define CPUID_7_0_EDX_SPEC_CTRL (1U << 26) /* Speculation Control */ #define CPUID_7_0_EDX_ARCH_CAPABILITIES (1U << 29) /*Arch Capabilities*/ #define CPUID_7_0_EDX_SPEC_CTRL_SSBD (1U << 31) /* Speculative Store Bypass Disable */ From patchwork Tue Feb 5 18:14:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037023 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NkTBud7i"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCcj3TwMz9s7h for ; Wed, 6 Feb 2019 05:23:17 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37139 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5NL-0007ba-EM for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:23:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GK-0002M6-2g for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003no-2J for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:00 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:50595) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003iq-LM for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wm1-x329.google.com with SMTP id z5so4668639wmf.0 for ; Tue, 05 Feb 2019 10:15:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=zlw4otX+sXF2EUUfBbepsg2Nz8RseQqACaPDBHAzgsM=; b=NkTBud7ik4gr+Y7/6x1Ibev78sw73hlBPrNO5qNDiMxxyxmK3KWZixaBoUCjKPE3dj 8b1EkrR4ppka8OvwJWV6E1UMfaFIarlMCEL+8bXwn4YrUZqO8KMJ9ego1ZM20NA/fTgY 3mW1sVxdZd1mcCOoH++bkUS2+H7gIo+vFOLZniTHDClpJRITaiyBgysO3grQN1+VQRGC AVMk93u1dSIaIKV1XM6p4QQeSTnwR+cXUYNaOtb5MZB4cLKYyVLjCoJBNgKaFcxGkF// Csr+MHJLdx1D3KDNiLRUqq3XMuJnz0CNuGaDVTfMWr+OypL6cRINguM4DO/NL2IyG8f/ pgyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=zlw4otX+sXF2EUUfBbepsg2Nz8RseQqACaPDBHAzgsM=; b=WdhgHnPLCtj76qcXY7p2ne6e4rgKuacZkB+FO4h8ZKZ74duNYzk7Amtk2u9X7PRyuI YHWnPZE9arc6brpcgfJEhOz+OuSYE6xq61zHD42AGxtq5momN0ER21xagkgu2htr/EN/ nGfVwjfuNAD4RjvWy6CcHGEbzijM2gBEfK9o31BrqkM0uWfo95Vx4+kvz7trpYRC65NT SQP7M7unExM149OYTCkcaffOFE0yKFMUsxHdM/BEmFiRCn97gAzy/04UHVB+eSlpUwvy n3nKClc7MIsg+0cTXsRcyy4HxGd/JnozLdiCoAr4XKXl16ORsJDf1vrG5pzUO01usZVG sR+A== X-Gm-Message-State: AHQUAuZ66y7lk1MkYLNYeR9cQvsVmTvCGk8beeh2uaATWSTz1Kq6PSdp fV+zkLAuIevPf66idVn87RW3uI37 X-Google-Smtp-Source: AHgI3IZckwSjHrc3YLJ8bk/1mL43G2IHxhu5IZMk09rVlxlHwycpPnRXBCfcP1NnQybCEhbc+OCOzA== X-Received: by 2002:a7b:c4cb:: with SMTP id g11mr4772909wmk.149.1549390554442; Tue, 05 Feb 2019 10:15:54 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:53 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:35 +0100 Message-Id: <1549390526-24246-26-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::329 Subject: [Qemu-devel] [PULL 25/76] target-i386: hvf: remove MPX support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" MPX support is being phased out by Intel and actually I am not sure that OS X has ever enabled it in XCR0. Drop it from the Hypervisor.framework acceleration. Signed-off-by: Paolo Bonzini --- target/i386/hvf/x86_cpuid.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/target/i386/hvf/x86_cpuid.c b/target/i386/hvf/x86_cpuid.c index 9874a46..4d957fe 100644 --- a/target/i386/hvf/x86_cpuid.c +++ b/target/i386/hvf/x86_cpuid.c @@ -38,16 +38,6 @@ static uint64_t xgetbv(uint32_t xcr) return (((uint64_t)edx) << 32) | eax; } -static bool vmx_mpx_supported() -{ - uint64_t cap_exit, cap_entry; - - hv_vmx_read_capability(HV_VMX_CAP_ENTRY, &cap_entry); - hv_vmx_read_capability(HV_VMX_CAP_EXIT, &cap_exit); - - return ((cap_exit & (1 << 23)) && (cap_entry & (1 << 16))); -} - uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, int reg) { @@ -92,11 +82,8 @@ uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, CPUID_7_0_EBX_CLFLUSHOPT | CPUID_7_0_EBX_CLWB | CPUID_7_0_EBX_AVX512DQ | CPUID_7_0_EBX_SHA_NI | CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512VL | - CPUID_7_0_EBX_INVPCID | CPUID_7_0_EBX_MPX; + CPUID_7_0_EBX_INVPCID; - if (!vmx_mpx_supported()) { - ebx &= ~CPUID_7_0_EBX_MPX; - } hv_vmx_read_capability(HV_VMX_CAP_PROCBASED2, &cap); if (!(cap & CPU_BASED2_INVPCID)) { ebx &= ~CPUID_7_0_EBX_INVPCID; @@ -119,9 +106,6 @@ uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, XSTATE_BNDCSR_MASK | XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_MASK); eax &= supp_xcr0; - if (!vmx_mpx_supported()) { - eax &= ~(XSTATE_BNDREGS_MASK | XSTATE_BNDCSR_MASK); - } } else if (idx == 1) { hv_vmx_read_capability(HV_VMX_CAP_PROCBASED2, &cap); eax &= CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XGETBV1; From patchwork Tue Feb 5 18:14:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037025 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JDbaSjTE"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCh06bGHz9s6w for ; Wed, 6 Feb 2019 05:26:08 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37296 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Q6-0001hp-RV for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:26:06 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35895) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GJ-0002LX-Ff for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GH-0003n0-Ld for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:44628) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GH-0003kG-Ct for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:57 -0500 Received: by mail-wr1-x432.google.com with SMTP id v16so2845429wrn.11 for ; Tue, 05 Feb 2019 10:15:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=W/9aYpK8sIdaSjOJWQzII8BnleFX7rNuSqrbkhvbtOY=; b=JDbaSjTEV+l6xUdiLEfqEHPxKp9bO6PSu0yJ7UwZZ09pSH0ZeD2CzjI96XThuBBg6B tPe2MPnykhhebcXIjklBqAPWKsYHYwx7wlw2MrkvJajceFi2VFhE9jZxFM6aezSiY0x2 lWWlcqXoFeDGzpHZpJAQsA6oOw0ZzGWia7jy8pLlh9yJj26Ml28gU8+t795Zg3N/xvKL zehGIPjH+WRiKbOT6hqCFjV+4+0LG3wUdEYJLuWNJd6m7r519HD7+6ZtlB78I7YUVSa0 1lT1J9+prTmIxn0hliTD+GlxEPdlF/vJrdmpuglvHHHhgtCxtlBl2vfop97MT03sywKU 545g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=W/9aYpK8sIdaSjOJWQzII8BnleFX7rNuSqrbkhvbtOY=; b=oflebJJGdhp6Emd6oqCxLDtB2Mhk+avpxyPVdcpK74h4YEe27TE2VVUi6yObhFDJ2e wfTV9SdpR8DwanbJxWz2Hp4JO/XcOs5eo1n1RpoYF8UK6m4BolIZNcKEgZKV8rjjhtbW WXE+Bh3KHc6NnLDrqh1TeXw4mUWNBTDAoqxJhcJjxovSISQaWY4KvU4XvCUfGi3+/DxB mEUBa1crYn3R7dShpBlfh92sfDlVcTcWCfBq47gAFObDj/VXImHfdS2pdN/jW0J6A3rr 4kuQu5GyQ89LXKNWFwGBTqKbgO5SMT7ATrIWQRv7Uh1qS28YI7glYfF33pCOtEOZvc1d x6pA== X-Gm-Message-State: AHQUAua+0j07zh16/uCVQMIP6Ux4SyMS8a5BXCZVo0rAyyisO9IBj7kn IdBtK6n3wEG1AX1UljAhSX+uVV/H X-Google-Smtp-Source: AHgI3IYD3sTne5EzB19NbT6P5y9H/U3lfyhbXeXC/PutHWu2jEiHMLfgHqUGALa80oda+IyT6yDNpg== X-Received: by 2002:a5d:6187:: with SMTP id j7mr4706596wru.300.1549390555607; Tue, 05 Feb 2019 10:15:55 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:54 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:36 +0100 Message-Id: <1549390526-24246-27-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 Subject: [Qemu-devel] [PULL 26/76] contrib/elf2dmp: fix elf.h including X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viktor Prutyanov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Viktor Prutyanov Before this patch QEMU elf.h was not actually included. Signed-off-by: Viktor Prutyanov Message-Id: <20181220012441.13694-2-viktor.prutyanov@phystech.edu> Signed-off-by: Paolo Bonzini --- contrib/elf2dmp/qemu_elf.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/elf2dmp/qemu_elf.h b/contrib/elf2dmp/qemu_elf.h index 86e6e68..da70aff 100644 --- a/contrib/elf2dmp/qemu_elf.h +++ b/contrib/elf2dmp/qemu_elf.h @@ -5,10 +5,10 @@ * */ -#ifndef QEMU_ELF_H -#define QEMU_ELF_H +#ifndef ELF2DMP_ELF_H +#define ELF2DMP_ELF_H -#include +#include "elf.h" typedef struct QEMUCPUSegment { uint32_t selector; @@ -47,4 +47,4 @@ void QEMU_Elf_exit(QEMU_Elf *qe); Elf64_Phdr *elf64_getphdr(void *map); Elf64_Half elf_getphdrnum(void *map); -#endif /* QEMU_ELF_H */ +#endif /* ELF2DMP_ELF_H */ From patchwork Tue Feb 5 18:14:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037047 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="GfL2+O/p"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD1r2L2qz9s7h for ; Wed, 6 Feb 2019 05:41:36 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37718 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5f4-00063e-6U for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:41:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36020) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GL-0002O5-S8 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GI-0003p5-JG for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:01 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:37118) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GI-0003m4-5f for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:58 -0500 Received: by mail-wr1-x42d.google.com with SMTP id s12so4725308wrt.4 for ; Tue, 05 Feb 2019 10:15:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=UXyS4oytJv/8m9wGAlfBZOKtbRXet6YcGon6c7w/awI=; b=GfL2+O/pjqYijJJJz9jECBPcA7I4kVwakK3pxoAO8ZxjGNZSII3dnkHyBNCS1GCdj1 Q80h8ztjVG6cUNvIqEjScCeasJHCP4x6ZhdKvVqUPHnfWdeGLaD1pcPx5ypF6DBMWn+P QfBpDCRRXWL74zO6oVztJ1D5Bqzs4xkMkL2vEPw9MbOVtu2pR5kCFFcWlkBOaJhSAMml +jVNXZ9BowyTwe2TEj/i5KqG44ow0yaO0s23QZcWeRyLi1x5FG0LWWDDhHAkJPjsLbzu qmAK+FEwHGggK0nXwp4C4NaawxEqx/negm6IcW6vmnNM1SYyJkdAwKAtB0ZPZ+w4QsWe L3og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=UXyS4oytJv/8m9wGAlfBZOKtbRXet6YcGon6c7w/awI=; b=F5fBr3jRF8AOlXn+d/ykC6vTP+WbGQ83j5sfRUKQdN3rSSlQobJGd8tptzgYZstFzy 4KE2JGiISkApVFcpsmHWz7BMTZ0e3kDcLpTVFIxbqTR8da6wGw6SHq2MMnQKdOjTTupO sp+ZQEMIeipx22YUfeNHbyV4mMNdNB70T5klPiD+1tL/qPgAWuuc/Abz4WUk/9CHwv2j ga+yoAbog2F7JBtJZLk6y7Pq2N3CHfMTIAS+lbRkEfocx3ak/coG68SPbJ7kh58+eV8O ndXnpD+PMDXpqfj6HZPhPIn02V3+9r8CWjvVvDToiOoYT0a8jK1N8YoJ6gq3eWoRhjOi qoaQ== X-Gm-Message-State: AHQUAubaI5pow/8GYYkM8v7NyJNKfrpUIEov/eQpX1o6rgyW3dU5sNyV 0PKPsAM9Zmpeh55qYmEafRMxp5dz X-Google-Smtp-Source: AHgI3IaBUI7+Q7x9lTZMUbvFy6dnE/c83Oro2/c/JqAVF/l7FyqLWvZJMXVgj+TZYkgIFSPtVgzSEQ== X-Received: by 2002:adf:fbc8:: with SMTP id d8mr4627985wrs.318.1549390556482; Tue, 05 Feb 2019 10:15:56 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:55 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:37 +0100 Message-Id: <1549390526-24246-28-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d Subject: [Qemu-devel] [PULL 27/76] contrib/elf2dmp: use GLib in ELF processing X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viktor Prutyanov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Viktor Prutyanov Replace POSIX mmap with GLib g_mapped_file_new in ELF processing module to make elf2dmp cross-platform. Signed-off-by: Viktor Prutyanov Message-Id: <20181220012441.13694-3-viktor.prutyanov@phystech.edu> Signed-off-by: Paolo Bonzini --- contrib/elf2dmp/qemu_elf.c | 27 ++++++++------------------- contrib/elf2dmp/qemu_elf.h | 2 +- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/contrib/elf2dmp/qemu_elf.c b/contrib/elf2dmp/qemu_elf.c index e9c0d25..0db7816 100644 --- a/contrib/elf2dmp/qemu_elf.c +++ b/contrib/elf2dmp/qemu_elf.c @@ -120,25 +120,17 @@ static void exit_states(QEMU_Elf *qe) int QEMU_Elf_init(QEMU_Elf *qe, const char *filename) { + GError *gerr = NULL; int err = 0; - struct stat st; - qe->fd = open(filename, O_RDONLY, 0); - if (qe->fd == -1) { - eprintf("Failed to open ELF dump file \'%s\'\n", filename); + qe->gmf = g_mapped_file_new(filename, TRUE, &gerr); + if (gerr) { + eprintf("Failed to map ELF dump file \'%s\'\n", filename); return 1; } - fstat(qe->fd, &st); - qe->size = st.st_size; - - qe->map = mmap(NULL, qe->size, PROT_READ | PROT_WRITE, - MAP_PRIVATE, qe->fd, 0); - if (qe->map == MAP_FAILED) { - eprintf("Failed to map ELF file\n"); - err = 1; - goto out_fd; - } + qe->map = g_mapped_file_get_contents(qe->gmf); + qe->size = g_mapped_file_get_length(qe->gmf); if (init_states(qe)) { eprintf("Failed to extract QEMU CPU states\n"); @@ -149,9 +141,7 @@ int QEMU_Elf_init(QEMU_Elf *qe, const char *filename) return 0; out_unmap: - munmap(qe->map, qe->size); -out_fd: - close(qe->fd); + g_mapped_file_unref(qe->gmf); return err; } @@ -159,6 +149,5 @@ out_fd: void QEMU_Elf_exit(QEMU_Elf *qe) { exit_states(qe); - munmap(qe->map, qe->size); - close(qe->fd); + g_mapped_file_unref(qe->gmf); } diff --git a/contrib/elf2dmp/qemu_elf.h b/contrib/elf2dmp/qemu_elf.h index da70aff..2a79638 100644 --- a/contrib/elf2dmp/qemu_elf.h +++ b/contrib/elf2dmp/qemu_elf.h @@ -33,7 +33,7 @@ typedef struct QEMUCPUState { int is_system(QEMUCPUState *s); typedef struct QEMU_Elf { - int fd; + GMappedFile *gmf; size_t size; void *map; QEMUCPUState **state; From patchwork Tue Feb 5 18:14:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037044 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="t9rHg/g/"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vCzX4RG6z9s7h for ; Wed, 6 Feb 2019 05:39:36 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37669 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5d8-0004Eb-J5 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:39:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36227) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GT-0002VH-Lv for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GJ-0003qd-9a for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:39702) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GJ-0003oT-04 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: by mail-wm1-x331.google.com with SMTP id y8so4738880wmi.4 for ; Tue, 05 Feb 2019 10:15:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=sqwQPKdocbDxps8MVWl7rxABk3kmzXXc0ngmbIU+9XQ=; b=t9rHg/g//YP250aJK5GxRMc3e4JxzlQc0uUerxyo/qv4w/GTcoW5Z2O5f7AKrwyhE2 MUuKeOFOeyVkQ8qRbB2F0m4TprV9BCK0qqcVVNBuu/3ROaRRu6SZbauutYCjkrO41gZA sZJ97JGDfpvFsNWGVW1Ot9SZaRznad6117Okm5vROK/zvdGKDs8ynAK8ugIVEunlKZm0 2OYhbgTW5rVE9591pzQmg+YRH8nkn/VodAwAtszJw6keBHSTq025ubiqgnvPInWenl1v G0WV7YWYmlWH6KbTQ6NIh1Yzk5xz0ccnvczaItPLC5B2SgKafTVK6U7C7tKVKqYoDQc0 oxDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=sqwQPKdocbDxps8MVWl7rxABk3kmzXXc0ngmbIU+9XQ=; b=s0MyyHLjiRO1VeaBXwbhM3rx5tx4Z9meo/3JRJRNmaz42dJDLAIZkPZwsQ5P49SUD5 neA59NnxWRKKTHYS/lzO2pIWB8ePYvzOIDOhpaCxFE0tRDwoCxtaBYbfDJZ6i1hI+Irl nlvbBRnpRu8O3WtXeUDsEvhmFpTXMeO1NJdz5xpzdCUx1yJkFBP3y6SgcwP8Ko+E3Ui3 Q1zuATcE8n3eARaEnMTPvdJh5ew+zlRCwISN65k5ZLG10XyQZDwd+itDuMVglmunR9Qq Cp3+JXuP69GipAnqrtfWO79dfRPPi9N77mcG5ZyeKCX/KpLCAfuOR57hyMl0vyXbeHVu x07w== X-Gm-Message-State: AHQUAuZVZDUhTmITkCAchq4CxefOrg9Gb+G9849G/nVbPNJZlFYgtlGB oIsemM0CJfKcKQj5k6OXniRZt7dY X-Google-Smtp-Source: AHgI3IaxhSYgNNbZ4yrMSmansMOwWANzHF7Z/pXi8SWZg/ukIsBwoTlwA1wB0RooPR9tOLFCxffJUg== X-Received: by 2002:a1c:c181:: with SMTP id r123mr36712wmf.8.1549390557601; Tue, 05 Feb 2019 10:15:57 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:56 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:38 +0100 Message-Id: <1549390526-24246-29-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::331 Subject: [Qemu-devel] [PULL 28/76] contrib/elf2dmp: use GLib in PDB processing X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viktor Prutyanov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Viktor Prutyanov Replace POSIX mmap with GLib g_mapped_file_new in PDB processing stage to make elf2dmp cross-platform. There are no direct POSIX in elf2dmp after this patch. Signed-off-by: Viktor Prutyanov Message-Id: <20181220012441.13694-4-viktor.prutyanov@phystech.edu> Signed-off-by: Paolo Bonzini --- contrib/elf2dmp/pdb.c | 29 ++++++++--------------------- contrib/elf2dmp/pdb.h | 2 +- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/contrib/elf2dmp/pdb.c b/contrib/elf2dmp/pdb.c index bcb01b4..52e352d 100644 --- a/contrib/elf2dmp/pdb.c +++ b/contrib/elf2dmp/pdb.c @@ -277,28 +277,18 @@ static void pdb_reader_exit(struct pdb_reader *r) int pdb_init_from_file(const char *name, struct pdb_reader *reader) { + GError *gerr = NULL; int err = 0; - int fd; void *map; - struct stat st; - fd = open(name, O_RDONLY, 0); - if (fd == -1) { - eprintf("Failed to open PDB file \'%s\'\n", name); + reader->gmf = g_mapped_file_new(name, TRUE, &gerr); + if (gerr) { + eprintf("Failed to map PDB file \'%s\'\n", name); return 1; } - reader->fd = fd; - - fstat(fd, &st); - reader->file_size = st.st_size; - - map = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); - if (map == MAP_FAILED) { - eprintf("Failed to map PDB file\n"); - err = 1; - goto out_fd; - } + reader->file_size = g_mapped_file_get_length(reader->gmf); + map = g_mapped_file_get_contents(reader->gmf); if (pdb_reader_init(reader, map)) { err = 1; goto out_unmap; @@ -307,16 +297,13 @@ int pdb_init_from_file(const char *name, struct pdb_reader *reader) return 0; out_unmap: - munmap(map, st.st_size); -out_fd: - close(fd); + g_mapped_file_unref(reader->gmf); return err; } void pdb_exit(struct pdb_reader *reader) { - munmap(reader->ds.header, reader->file_size); - close(reader->fd); + g_mapped_file_unref(reader->gmf); pdb_reader_exit(reader); } diff --git a/contrib/elf2dmp/pdb.h b/contrib/elf2dmp/pdb.h index a3a3cac..1640d54 100644 --- a/contrib/elf2dmp/pdb.h +++ b/contrib/elf2dmp/pdb.h @@ -216,7 +216,7 @@ typedef struct pdb_seg { #define IMAGE_FILE_MACHINE_AMD64 0x8664 struct pdb_reader { - int fd; + GMappedFile *gmf; size_t file_size; struct { PDB_DS_HEADER *header; From patchwork Tue Feb 5 18:14:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037084 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="GoGQM2qr"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDWd4N0Qz9s7T for ; Wed, 6 Feb 2019 06:03:57 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38044 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr60h-00082J-KF for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:03:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36226) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GT-0002VG-Lj for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GK-0003rz-2j for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:05 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:37802) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GJ-0003qO-Q3 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:15:59 -0500 Received: by mail-wm1-x32f.google.com with SMTP id g67so4751223wmd.2 for ; Tue, 05 Feb 2019 10:15:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZCAjxndc1SI1yasRKgzJAMBm7PQddIm2dg2oDVwxfD0=; b=GoGQM2qr5Nh/5pJzAK+RTwrb1oSp++DZZCYj3nnuyeOKGEw8wq6eFSRNsKy2jsOJWV 93+VWCSUhZMdLfJ7hf0WvNb0hIgI7FG+HRyXZtsuM7dwtfdetWm4pHO/+3qUHGYzhNiU WinzlWD5EirwqlIfIOWoHI+yX+R9/iZ/Ejl4HFsK+iRKEdW9WZ9oMu6P2SVHy1OdfbV/ 3C7dMcRGo44spQgbmsgQXoEHi1yVKw/Yzic86hQB/VHFWeu5ApuZikFsEHpK5+qNnOvi B/ZNJZAMSe7tsVglZmRZrcY5OJ8lOyxbQq8ui1ESNHdfY39t7HtAPHo8kkYL09izHwwa DNwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ZCAjxndc1SI1yasRKgzJAMBm7PQddIm2dg2oDVwxfD0=; b=jm6euVUhAEaQC5r8jcmTqJzhN8L3of1V6ccCmzJNjWq/b6cVeVHPVxC4wCVqXyIr4y 3AWntltr5rGE0/LoCyv4++CSJMAU2KZk56kiCrHCD6LNLmZbUSJAI0LcU5AgQi5PsUVe CZ+G3QJQY8PNxBTQrRH5bj2vnQRYFUIiKGytc/s8dXHkqQZDLHtF4Hbq4HitI56h7SUk /GoPbWsR3xC3xegTmm7OH/ZHd1reZa/ORRJ00sRJCU7cMmflsNx/bL9bio8ODyNzkja9 hcP5BZjhmfDn3HZuLZsiIcpBnecbcEjyEKht3obAiiZUt6KY6+jWyJmNIk1Rre2yWKTj nrkw== X-Gm-Message-State: AHQUAuYyYYkg/jJ80/30WDIAzov9ztym/OtiPAMkPEj9aFE6SXfF1BEE 0T8qROaWBCanfKzd+WoYqbSvccQj X-Google-Smtp-Source: AHgI3IY9EfAhuWJIMJCkYQMLiQg4I7QDQ1rVADrLMFOefb1AIOnA4/w5WOkgdxwZlZ/qgcPVcN+ZWg== X-Received: by 2002:a7b:cc86:: with SMTP id p6mr3370wma.19.1549390558491; Tue, 05 Feb 2019 10:15:58 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:57 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:39 +0100 Message-Id: <1549390526-24246-30-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f Subject: [Qemu-devel] [PULL 29/76] contrib/elf2dmp: fix structures definitions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viktor Prutyanov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Viktor Prutyanov Remove duplicate structures definitions in case of build for Windows hosts. Signed-off-by: Viktor Prutyanov Message-Id: <20181220012441.13694-5-viktor.prutyanov@phystech.edu> Signed-off-by: Paolo Bonzini --- contrib/elf2dmp/kdbg.h | 12 ++++++++---- contrib/elf2dmp/pdb.h | 2 ++ contrib/elf2dmp/pe.h | 6 ++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/contrib/elf2dmp/kdbg.h b/contrib/elf2dmp/kdbg.h index 851b57c..002e3d0 100644 --- a/contrib/elf2dmp/kdbg.h +++ b/contrib/elf2dmp/kdbg.h @@ -25,11 +25,15 @@ typedef struct DBGKD_GET_VERSION64 { uint64_t DebuggerDataList; } DBGKD_GET_VERSION64; +#ifndef _WIN32 +typedef struct LIST_ENTRY64 { + struct LIST_ENTRY64 *Flink; + struct LIST_ENTRY64 *Blink; +} LIST_ENTRY64; +#endif + typedef struct DBGKD_DEBUG_DATA_HEADER64 { - struct LIST_ENTRY64 { - struct LIST_ENTRY64 *Flink; - struct LIST_ENTRY64 *Blink; - } List; + LIST_ENTRY64 List; uint32_t OwnerTag; uint32_t Size; } DBGKD_DEBUG_DATA_HEADER64; diff --git a/contrib/elf2dmp/pdb.h b/contrib/elf2dmp/pdb.h index 1640d54..4ea8925 100644 --- a/contrib/elf2dmp/pdb.h +++ b/contrib/elf2dmp/pdb.h @@ -9,12 +9,14 @@ #define PDB_H +#ifndef _WIN32 typedef struct GUID { unsigned int Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8]; } GUID; +#endif struct PDB_FILE { uint32_t size; diff --git a/contrib/elf2dmp/pe.h b/contrib/elf2dmp/pe.h index dafb26a..c2a4a6b 100644 --- a/contrib/elf2dmp/pe.h +++ b/contrib/elf2dmp/pe.h @@ -9,6 +9,7 @@ #define PE_H +#ifndef _WIN32 typedef struct IMAGE_DOS_HEADER { uint16_t e_magic; /* 0x00: MZ Header signature */ uint16_t e_cblp; /* 0x02: Bytes on last page of file */ @@ -87,8 +88,6 @@ typedef struct IMAGE_NT_HEADERS64 { IMAGE_OPTIONAL_HEADER64 OptionalHeader; } __attribute__ ((packed)) IMAGE_NT_HEADERS64; -#define IMAGE_FILE_DEBUG_DIRECTORY 6 - typedef struct IMAGE_DEBUG_DIRECTORY { uint32_t Characteristics; uint32_t TimeDateStamp; @@ -101,6 +100,9 @@ typedef struct IMAGE_DEBUG_DIRECTORY { } __attribute__ ((packed)) IMAGE_DEBUG_DIRECTORY; #define IMAGE_DEBUG_TYPE_CODEVIEW 2 +#endif + +#define IMAGE_FILE_DEBUG_DIRECTORY 6 typedef struct guid_t { uint32_t a; From patchwork Tue Feb 5 18:14:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037054 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="p5GxrBEd"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD8Z3pgtz9s7h for ; Wed, 6 Feb 2019 05:47:26 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37806 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5ki-0002aB-HZ for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:47:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GV-0002Vw-Ij for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GM-0003ux-7c for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:07 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:37808) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GL-0003tB-QR for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:02 -0500 Received: by mail-wm1-x335.google.com with SMTP id g67so4751341wmd.2 for ; Tue, 05 Feb 2019 10:16:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=DdkUins2Oimkp8bHsTTa7++L0FJ8RoNg5oN3ez/jl04=; b=p5GxrBEd+LXaU+CDbzzg7NiSt9D2pwjJ/EoSXvQhwxAaIFy41ElNLAZVTVuSjIFrbk F8vV4Af1CEwA2o44mdarP6iUyl0862zrOiLua+aY5aMmIWSAXazw+4ZDZGxTLtrtXHGP vFlbo5y5jYhPNQTxiXuYNTVzxvCVGtzi+X4ok4Vd1PEp0D+LF7THRXlrl/JV4uQBZbzu ohg+Go/bPoSiy3xSCoDBiyUY5D+U/aJRge1Tk+bNkwEgS+X+poFiqTeylxKApOlhsgsZ W8LO0y4Jps0FprFLFMohYlCb1nxeXmY/GRqe7EjaphO9n0MbGVSjznQB7RtOdFUCUx5P Nl6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=DdkUins2Oimkp8bHsTTa7++L0FJ8RoNg5oN3ez/jl04=; b=guFsgCKZQag270Zkyo8pjlKMtpwyP9x2tJX8aC4sLAP18pFdMMx+bdsRVvR+H+do1J 8QCGvw+3qUDh929JMfSsEqNVt4l3yel5vqDYhugjIU6S14WzKXUbYnOhM0ZOAv3B2yP8 ogLWYdwjXOUZwRgEDpsAvILP5K9FYuqAQytZ9mJGGM3SNgPpMG0IJg+90TA9N+owpT5w 1wwfgTu54LMQPDRI00C/WJWgTRGEnb2o/V8Tuxc7djQs6b+sFjoCZwqgjhoPnOvMnvur LfBWad9I3R78VEzBgSxy+jBjN7udcv7KPl5yA1xKxupmrxvuS0jnd1Pj1K2q+H9uRVsM z19A== X-Gm-Message-State: AHQUAubTkMH3VaC1rFEZ5SMdNp0aAL78B0BmWn1NIyk47QifTaxyMyM8 4dPPrWJXYS0AXEbJXm0bVwuwiZaV X-Google-Smtp-Source: AHgI3IZ6VMlriteFZ+f8/N72WV0tfx1/wZaMbvNwbW4UiAAcAyIHj9EGGWAhJXdOKAK+fujLMTXQaQ== X-Received: by 2002:a1c:f707:: with SMTP id v7mr38114wmh.18.1549390560433; Tue, 05 Feb 2019 10:16:00 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.15.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:15:59 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:41 +0100 Message-Id: <1549390526-24246-32-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::335 Subject: [Qemu-devel] [PULL 31/76] configure: enable elf2dmp build for Windows hosts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Viktor Prutyanov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Viktor Prutyanov After this patch contrib/elf2dmp can be built for Windows x86 and x86_64 hosts by mingw. Signed-off-by: Viktor Prutyanov Message-Id: <20181220012441.13694-7-viktor.prutyanov@phystech.edu> Signed-off-by: Paolo Bonzini --- Makefile | 4 ++-- configure | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 76f6ab4..3658310 100644 --- a/Makefile +++ b/Makefile @@ -570,8 +570,8 @@ ifneq ($(EXESUF),) qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI) endif -elf2dmp: LIBS = $(CURL_LIBS) -elf2dmp: $(elf2dmp-obj-y) +elf2dmp$(EXESUF): LIBS += $(CURL_LIBS) +elf2dmp$(EXESUF): $(elf2dmp-obj-y) $(call LINK, $^) ifdef CONFIG_IVSHMEM diff --git a/configure b/configure index f6a51e0..244bc7a 100755 --- a/configure +++ b/configure @@ -5790,8 +5790,8 @@ if test "$want_tools" = "yes" ; then if [ "$ivshmem" = "yes" ]; then tools="ivshmem-client\$(EXESUF) ivshmem-server\$(EXESUF) $tools" fi - if [ "$posix" = "yes" ] && [ "$curl" = "yes" ]; then - tools="elf2dmp $tools" + if [ "$curl" = "yes" ]; then + tools="elf2dmp\$(EXESUF) $tools" fi fi if test "$softmmu" = yes ; then From patchwork Tue Feb 5 18:14:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037058 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="G7Tp8xbJ"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDDP6z8Gz9s7T for ; Wed, 6 Feb 2019 05:50:45 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37830 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5nv-00053f-RQ for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:50:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5GV-0002Vy-Kd for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GN-0003w5-8R for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:09 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:40588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GM-0003v2-Uw for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:03 -0500 Received: by mail-wm1-x32a.google.com with SMTP id f188so4725654wmf.5 for ; Tue, 05 Feb 2019 10:16:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=3RYvBCv/cFNp7C2IyBijE2HqicmWsyaoN6Rat+6VgvA=; b=G7Tp8xbJHdqkkmVZNwiNpKARUVKeqGqlYzZPp6xngHMjWxOAsior9ihJAv92splPhh L8GRVErQXQS3thc/lal2IodtbHNsnkduZRqKC8f5swUPxZSncN3DfgBrkba8kwo1m4UJ rAiOXeO0WNTu9cmh/ujMDxdV71dFhUheb+MT5R0JL0TW4RNc24frx136/e6Oa0ZgZKLa pEcPoeK6Eb4upKo7KFRbJSiuHiEfwQd4IFE36ZsDEVDXXOqWNkEJXTNQQF+cOLTRJky5 Cnf4cMKQD/UilJQimWsXXSQfc9faRU+X6MHDh26uPSxiYonrigQuPF3hihN53lOP2cj/ aSWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=3RYvBCv/cFNp7C2IyBijE2HqicmWsyaoN6Rat+6VgvA=; b=JsJgGTlkiXsGueBz2ce3oj4mO2K6Zy8ytdTfecQfrESLT3bBRyn+tE66wAFlaARnkw TOyDqRmtnoWXhMRQ50HpsXmPiyIS1/ob4EOyxSupEod2gtHnnK1GESLfQbzXJOnxh8TD iBEnB/pDr19814sZQgREQ4BtV16LqmWtV9yQYsOu9cnO6eLk3X4NOZXeLoMr8pXy+/8/ 4LnTiPpazPSX8N3/qcChLpwTsf/bDa0HM+UixKjCUxHj7B4xIwpwe2vKpRR9vzTU5ppJ CAChB3FA3zdRnX/9ldq93+Pm/J/jZZIqANd2BXzx27JhhX7QPefPvFZ9Opf0LjMc4BDs sFHg== X-Gm-Message-State: AHQUAua16Wkqr0EJUIEGBitfx2e4V6Z3R+BvUM1w1A+s8thEu9Eb4FNT DojuIooL65uMK/ZtwEvRFtJa3gHR X-Google-Smtp-Source: AHgI3IZYgR1al8wAQ/Bf4S6LYWFWuDNnJrTEc2HCupmpKFMGoyrHaVsq8bNguaOvkBOBQfTXEaG9jw== X-Received: by 2002:a1c:7dd6:: with SMTP id y205mr4450478wmc.121.1549390561526; Tue, 05 Feb 2019 10:16:01 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:00 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:42 +0100 Message-Id: <1549390526-24246-33-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32a Subject: [Qemu-devel] [PULL 32/76] monitor: do not use QTAILQ_FOREACH_SAFE across critical sections X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" monitor_qmp_requests_pop_any_with_lock cannot modify the monitor list concurrently with monitor_cleanup, since the dispatch bottom half runs in the main thread, but anyway it is a bit ugly to keep "next" live across critical sections of monitor_lock and Coverity complains (CID 1397072). Replace QTAILQ_FOREACH_SAFE with a while loop and QTAILQ_FIRST, it is cleaner and more future-proof. Signed-off-by: Paolo Bonzini --- monitor.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/monitor.c b/monitor.c index c09fa63..e5de576 100644 --- a/monitor.c +++ b/monitor.c @@ -4617,8 +4617,6 @@ void monitor_init(Chardev *chr, int flags) void monitor_cleanup(void) { - Monitor *mon, *next; - /* * We need to explicitly stop the I/O thread (but not destroy it), * clean up the monitor resources, then destroy the I/O thread since @@ -4632,7 +4630,8 @@ void monitor_cleanup(void) /* Flush output buffers and destroy monitors */ qemu_mutex_lock(&monitor_lock); monitor_destroyed = true; - QTAILQ_FOREACH_SAFE(mon, &mon_list, entry, next) { + while (!QTAILQ_EMPTY(&mon_list)) { + Monitor *mon = QTAILQ_FIRST(&mon_list); QTAILQ_REMOVE(&mon_list, mon, entry); /* Permit QAPI event emission from character frontend release */ qemu_mutex_unlock(&monitor_lock); From patchwork Tue Feb 5 18:14:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037125 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="phkvEkeR"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vF161XwKz9sDX for ; Wed, 6 Feb 2019 06:26:02 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38572 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6M4-0000Tt-52 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:26:00 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36678) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gl-0002kb-Ce for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00048O-KF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:27 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:37800) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-0003xD-Lq for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: by mail-wm1-x32c.google.com with SMTP id g67so4751515wmd.2 for ; Tue, 05 Feb 2019 10:16:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=mnaRjPEQWPFpT6i3zTp5XChhLpWF2pLigJxTmZ6Ul7U=; b=phkvEkeRSzOIKpokVgh7ijbhJUc4i1SFdVDJ1KCT+hBeoDkvKjuAaHiA4jRCdRUkVf 0f13vAywf1g+1FZNs8r61RJzgWnLD0n7/wNJfHkrJFg8NXofsZdkstWkIeSqTdA8oTu7 D6tPfN69HxmdgQNCVlc2PrrKGDMiOv2wod+r2f62UqUvJJVYnO28ERH9tCJoiD8irjZf UCyirSFvoItvAKfOE4+geJzo8+taAWss5t7C0ADwp9I8BxFrLCsD3rZsTTPtZk5ug45c +RDGvS5y+MvXiO2zs6VstdPmSAqebHhdGa212Vhq4qbXE+bM81QXkrnslH9ZWnRA2OVc Uhhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=mnaRjPEQWPFpT6i3zTp5XChhLpWF2pLigJxTmZ6Ul7U=; b=ecyZf1zO42YxiaCe84QVGu4LnrAlAB42dkOZAvzWi2QF4fKtwSTqKZgNiaranE2k4z x9tjrd11xoC9pgVSPCv3s06A/lA1q2zxE2pnfeEg93sOxCIXsbgRzEx1X03u2drW3PTI lX1d5cddh55i8DiTag62bnKaFN0VWBJWhATuqtJWlfz0KJ2n2USnufA9Ep5i/H4gBJyV rdBzhcF2fC5VSlvZJqILbCQ0oNxRNsg9WQxQdDZcEJBnTbSEFRl9Vot87Dhf1NXPrjn6 QtHd/tDzemf0WpvZiv0azmlLo45kWy+9NLBmNR70Ysg7jqdB6fgLvf7lSchKskvpQwfe npxA== X-Gm-Message-State: AHQUAuadkuF0WgCQpJ+RZrE1f11m42tWMAGNMqbRd6R00PnKxCFcncK3 axgD9iBp9krevJ4/nhPZIFgD5Pl/ X-Google-Smtp-Source: AHgI3IY5VVp7nOSg1PDCDkNIOTwE3dOtascnZzLNtffmeNwsdOpTSLMYPVkx4ryWATF+YeuMlDqkiQ== X-Received: by 2002:a1c:48d:: with SMTP id 135mr5460wme.1.1549390562587; Tue, 05 Feb 2019 10:16:02 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:01 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:43 +0100 Message-Id: <1549390526-24246-34-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c Subject: [Qemu-devel] [PULL 33/76] crypto: finish removing TABs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Suggested-by: Daniel P. Berrange Signed-off-by: Paolo Bonzini --- crypto/aes.c | 414 +++++++++++++++++++-------------------- crypto/desrfb.c | 594 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 504 insertions(+), 504 deletions(-) diff --git a/crypto/aes.c b/crypto/aes.c index 773d246..86b3092 100644 --- a/crypto/aes.c +++ b/crypto/aes.c @@ -1059,109 +1059,109 @@ const uint32_t AES_Td4[256] = { 0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU, }; static const u32 rcon[] = { - 0x01000000, 0x02000000, 0x04000000, 0x08000000, - 0x10000000, 0x20000000, 0x40000000, 0x80000000, - 0x1B000000, 0x36000000, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */ + 0x01000000, 0x02000000, 0x04000000, 0x08000000, + 0x10000000, 0x20000000, 0x40000000, 0x80000000, + 0x1B000000, 0x36000000, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */ }; /** * Expand the cipher key into the encryption key schedule. */ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key) { + AES_KEY *key) { - u32 *rk; - int i = 0; - u32 temp; + u32 *rk; + int i = 0; + u32 temp; - if (!userKey || !key) - return -1; - if (bits != 128 && bits != 192 && bits != 256) - return -2; + if (!userKey || !key) + return -1; + if (bits != 128 && bits != 192 && bits != 256) + return -2; - rk = key->rd_key; + rk = key->rd_key; - if (bits==128) - key->rounds = 10; - else if (bits==192) - key->rounds = 12; - else - key->rounds = 14; + if (bits==128) + key->rounds = 10; + else if (bits==192) + key->rounds = 12; + else + key->rounds = 14; - rk[0] = GETU32(userKey ); - rk[1] = GETU32(userKey + 4); - rk[2] = GETU32(userKey + 8); - rk[3] = GETU32(userKey + 12); - if (bits == 128) { - while (1) { - temp = rk[3]; - rk[4] = rk[0] ^ + rk[0] = GETU32(userKey ); + rk[1] = GETU32(userKey + 4); + rk[2] = GETU32(userKey + 8); + rk[3] = GETU32(userKey + 12); + if (bits == 128) { + while (1) { + temp = rk[3]; + rk[4] = rk[0] ^ (AES_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ (AES_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ (AES_Te4[(temp ) & 0xff] & 0x0000ff00) ^ (AES_Te4[(temp >> 24) ] & 0x000000ff) ^ - rcon[i]; - rk[5] = rk[1] ^ rk[4]; - rk[6] = rk[2] ^ rk[5]; - rk[7] = rk[3] ^ rk[6]; - if (++i == 10) { - return 0; - } - rk += 4; - } - } - rk[4] = GETU32(userKey + 16); - rk[5] = GETU32(userKey + 20); - if (bits == 192) { - while (1) { - temp = rk[ 5]; - rk[ 6] = rk[ 0] ^ + rcon[i]; + rk[5] = rk[1] ^ rk[4]; + rk[6] = rk[2] ^ rk[5]; + rk[7] = rk[3] ^ rk[6]; + if (++i == 10) { + return 0; + } + rk += 4; + } + } + rk[4] = GETU32(userKey + 16); + rk[5] = GETU32(userKey + 20); + if (bits == 192) { + while (1) { + temp = rk[ 5]; + rk[ 6] = rk[ 0] ^ (AES_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ (AES_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ (AES_Te4[(temp ) & 0xff] & 0x0000ff00) ^ (AES_Te4[(temp >> 24) ] & 0x000000ff) ^ - rcon[i]; - rk[ 7] = rk[ 1] ^ rk[ 6]; - rk[ 8] = rk[ 2] ^ rk[ 7]; - rk[ 9] = rk[ 3] ^ rk[ 8]; - if (++i == 8) { - return 0; - } - rk[10] = rk[ 4] ^ rk[ 9]; - rk[11] = rk[ 5] ^ rk[10]; - rk += 6; - } - } - rk[6] = GETU32(userKey + 24); - rk[7] = GETU32(userKey + 28); - if (bits == 256) { - while (1) { - temp = rk[ 7]; - rk[ 8] = rk[ 0] ^ + rcon[i]; + rk[ 7] = rk[ 1] ^ rk[ 6]; + rk[ 8] = rk[ 2] ^ rk[ 7]; + rk[ 9] = rk[ 3] ^ rk[ 8]; + if (++i == 8) { + return 0; + } + rk[10] = rk[ 4] ^ rk[ 9]; + rk[11] = rk[ 5] ^ rk[10]; + rk += 6; + } + } + rk[6] = GETU32(userKey + 24); + rk[7] = GETU32(userKey + 28); + if (bits == 256) { + while (1) { + temp = rk[ 7]; + rk[ 8] = rk[ 0] ^ (AES_Te4[(temp >> 16) & 0xff] & 0xff000000) ^ (AES_Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ (AES_Te4[(temp ) & 0xff] & 0x0000ff00) ^ (AES_Te4[(temp >> 24) ] & 0x000000ff) ^ - rcon[i]; - rk[ 9] = rk[ 1] ^ rk[ 8]; - rk[10] = rk[ 2] ^ rk[ 9]; - rk[11] = rk[ 3] ^ rk[10]; - if (++i == 7) { - return 0; - } - temp = rk[11]; - rk[12] = rk[ 4] ^ + rcon[i]; + rk[ 9] = rk[ 1] ^ rk[ 8]; + rk[10] = rk[ 2] ^ rk[ 9]; + rk[11] = rk[ 3] ^ rk[10]; + if (++i == 7) { + return 0; + } + temp = rk[11]; + rk[12] = rk[ 4] ^ (AES_Te4[(temp >> 24) ] & 0xff000000) ^ (AES_Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^ (AES_Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^ (AES_Te4[(temp ) & 0xff] & 0x000000ff); - rk[13] = rk[ 5] ^ rk[12]; - rk[14] = rk[ 6] ^ rk[13]; - rk[15] = rk[ 7] ^ rk[14]; + rk[13] = rk[ 5] ^ rk[12]; + rk[14] = rk[ 6] ^ rk[13]; + rk[15] = rk[ 7] ^ rk[14]; - rk += 8; - } - } + rk += 8; + } + } abort(); } @@ -1169,51 +1169,51 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, * Expand the cipher key into the decryption key schedule. */ int AES_set_decrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key) { + AES_KEY *key) { u32 *rk; - int i, j, status; - u32 temp; + int i, j, status; + u32 temp; - /* first, start with an encryption schedule */ - status = AES_set_encrypt_key(userKey, bits, key); - if (status < 0) - return status; + /* first, start with an encryption schedule */ + status = AES_set_encrypt_key(userKey, bits, key); + if (status < 0) + return status; - rk = key->rd_key; + rk = key->rd_key; - /* invert the order of the round keys: */ - for (i = 0, j = 4*(key->rounds); i < j; i += 4, j -= 4) { - temp = rk[i ]; rk[i ] = rk[j ]; rk[j ] = temp; - temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp; - temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp; - temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp; - } - /* apply the inverse MixColumn transform to all round keys but the first and the last: */ - for (i = 1; i < (key->rounds); i++) { - rk += 4; - rk[0] = + /* invert the order of the round keys: */ + for (i = 0, j = 4*(key->rounds); i < j; i += 4, j -= 4) { + temp = rk[i ]; rk[i ] = rk[j ]; rk[j ] = temp; + temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp; + temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp; + temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp; + } + /* apply the inverse MixColumn transform to all round keys but the first and the last: */ + for (i = 1; i < (key->rounds); i++) { + rk += 4; + rk[0] = AES_Td0[AES_Te4[(rk[0] >> 24) ] & 0xff] ^ AES_Td1[AES_Te4[(rk[0] >> 16) & 0xff] & 0xff] ^ AES_Td2[AES_Te4[(rk[0] >> 8) & 0xff] & 0xff] ^ AES_Td3[AES_Te4[(rk[0] ) & 0xff] & 0xff]; - rk[1] = + rk[1] = AES_Td0[AES_Te4[(rk[1] >> 24) ] & 0xff] ^ AES_Td1[AES_Te4[(rk[1] >> 16) & 0xff] & 0xff] ^ AES_Td2[AES_Te4[(rk[1] >> 8) & 0xff] & 0xff] ^ AES_Td3[AES_Te4[(rk[1] ) & 0xff] & 0xff]; - rk[2] = + rk[2] = AES_Td0[AES_Te4[(rk[2] >> 24) ] & 0xff] ^ AES_Td1[AES_Te4[(rk[2] >> 16) & 0xff] & 0xff] ^ AES_Td2[AES_Te4[(rk[2] >> 8) & 0xff] & 0xff] ^ AES_Td3[AES_Te4[(rk[2] ) & 0xff] & 0xff]; - rk[3] = + rk[3] = AES_Td0[AES_Te4[(rk[3] >> 24) ] & 0xff] ^ AES_Td1[AES_Te4[(rk[3] >> 16) & 0xff] & 0xff] ^ AES_Td2[AES_Te4[(rk[3] >> 8) & 0xff] & 0xff] ^ AES_Td3[AES_Te4[(rk[3] ) & 0xff] & 0xff]; - } - return 0; + } + return 0; } #ifndef AES_ASM @@ -1222,67 +1222,67 @@ int AES_set_decrypt_key(const unsigned char *userKey, const int bits, * in and out can overlap */ void AES_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key) { + const AES_KEY *key) { - const u32 *rk; - u32 s0, s1, s2, s3, t0, t1, t2, t3; + const u32 *rk; + u32 s0, s1, s2, s3, t0, t1, t2, t3; #ifndef FULL_UNROLL - int r; + int r; #endif /* ?FULL_UNROLL */ - assert(in && out && key); - rk = key->rd_key; + assert(in && out && key); + rk = key->rd_key; - /* - * map byte array block to cipher state - * and add initial round key: - */ - s0 = GETU32(in ) ^ rk[0]; - s1 = GETU32(in + 4) ^ rk[1]; - s2 = GETU32(in + 8) ^ rk[2]; - s3 = GETU32(in + 12) ^ rk[3]; + /* + * map byte array block to cipher state + * and add initial round key: + */ + s0 = GETU32(in ) ^ rk[0]; + s1 = GETU32(in + 4) ^ rk[1]; + s2 = GETU32(in + 8) ^ rk[2]; + s3 = GETU32(in + 12) ^ rk[3]; #ifdef FULL_UNROLL - /* round 1: */ + /* round 1: */ t0 = AES_Te0[s0 >> 24] ^ AES_Te1[(s1 >> 16) & 0xff] ^ AES_Te2[(s2 >> 8) & 0xff] ^ AES_Te3[s3 & 0xff] ^ rk[ 4]; t1 = AES_Te0[s1 >> 24] ^ AES_Te1[(s2 >> 16) & 0xff] ^ AES_Te2[(s3 >> 8) & 0xff] ^ AES_Te3[s0 & 0xff] ^ rk[ 5]; t2 = AES_Te0[s2 >> 24] ^ AES_Te1[(s3 >> 16) & 0xff] ^ AES_Te2[(s0 >> 8) & 0xff] ^ AES_Te3[s1 & 0xff] ^ rk[ 6]; t3 = AES_Te0[s3 >> 24] ^ AES_Te1[(s0 >> 16) & 0xff] ^ AES_Te2[(s1 >> 8) & 0xff] ^ AES_Te3[s2 & 0xff] ^ rk[ 7]; - /* round 2: */ + /* round 2: */ s0 = AES_Te0[t0 >> 24] ^ AES_Te1[(t1 >> 16) & 0xff] ^ AES_Te2[(t2 >> 8) & 0xff] ^ AES_Te3[t3 & 0xff] ^ rk[ 8]; s1 = AES_Te0[t1 >> 24] ^ AES_Te1[(t2 >> 16) & 0xff] ^ AES_Te2[(t3 >> 8) & 0xff] ^ AES_Te3[t0 & 0xff] ^ rk[ 9]; s2 = AES_Te0[t2 >> 24] ^ AES_Te1[(t3 >> 16) & 0xff] ^ AES_Te2[(t0 >> 8) & 0xff] ^ AES_Te3[t1 & 0xff] ^ rk[10]; s3 = AES_Te0[t3 >> 24] ^ AES_Te1[(t0 >> 16) & 0xff] ^ AES_Te2[(t1 >> 8) & 0xff] ^ AES_Te3[t2 & 0xff] ^ rk[11]; - /* round 3: */ + /* round 3: */ t0 = AES_Te0[s0 >> 24] ^ AES_Te1[(s1 >> 16) & 0xff] ^ AES_Te2[(s2 >> 8) & 0xff] ^ AES_Te3[s3 & 0xff] ^ rk[12]; t1 = AES_Te0[s1 >> 24] ^ AES_Te1[(s2 >> 16) & 0xff] ^ AES_Te2[(s3 >> 8) & 0xff] ^ AES_Te3[s0 & 0xff] ^ rk[13]; t2 = AES_Te0[s2 >> 24] ^ AES_Te1[(s3 >> 16) & 0xff] ^ AES_Te2[(s0 >> 8) & 0xff] ^ AES_Te3[s1 & 0xff] ^ rk[14]; t3 = AES_Te0[s3 >> 24] ^ AES_Te1[(s0 >> 16) & 0xff] ^ AES_Te2[(s1 >> 8) & 0xff] ^ AES_Te3[s2 & 0xff] ^ rk[15]; - /* round 4: */ + /* round 4: */ s0 = AES_Te0[t0 >> 24] ^ AES_Te1[(t1 >> 16) & 0xff] ^ AES_Te2[(t2 >> 8) & 0xff] ^ AES_Te3[t3 & 0xff] ^ rk[16]; s1 = AES_Te0[t1 >> 24] ^ AES_Te1[(t2 >> 16) & 0xff] ^ AES_Te2[(t3 >> 8) & 0xff] ^ AES_Te3[t0 & 0xff] ^ rk[17]; s2 = AES_Te0[t2 >> 24] ^ AES_Te1[(t3 >> 16) & 0xff] ^ AES_Te2[(t0 >> 8) & 0xff] ^ AES_Te3[t1 & 0xff] ^ rk[18]; s3 = AES_Te0[t3 >> 24] ^ AES_Te1[(t0 >> 16) & 0xff] ^ AES_Te2[(t1 >> 8) & 0xff] ^ AES_Te3[t2 & 0xff] ^ rk[19]; - /* round 5: */ + /* round 5: */ t0 = AES_Te0[s0 >> 24] ^ AES_Te1[(s1 >> 16) & 0xff] ^ AES_Te2[(s2 >> 8) & 0xff] ^ AES_Te3[s3 & 0xff] ^ rk[20]; t1 = AES_Te0[s1 >> 24] ^ AES_Te1[(s2 >> 16) & 0xff] ^ AES_Te2[(s3 >> 8) & 0xff] ^ AES_Te3[s0 & 0xff] ^ rk[21]; t2 = AES_Te0[s2 >> 24] ^ AES_Te1[(s3 >> 16) & 0xff] ^ AES_Te2[(s0 >> 8) & 0xff] ^ AES_Te3[s1 & 0xff] ^ rk[22]; t3 = AES_Te0[s3 >> 24] ^ AES_Te1[(s0 >> 16) & 0xff] ^ AES_Te2[(s1 >> 8) & 0xff] ^ AES_Te3[s2 & 0xff] ^ rk[23]; - /* round 6: */ + /* round 6: */ s0 = AES_Te0[t0 >> 24] ^ AES_Te1[(t1 >> 16) & 0xff] ^ AES_Te2[(t2 >> 8) & 0xff] ^ AES_Te3[t3 & 0xff] ^ rk[24]; s1 = AES_Te0[t1 >> 24] ^ AES_Te1[(t2 >> 16) & 0xff] ^ AES_Te2[(t3 >> 8) & 0xff] ^ AES_Te3[t0 & 0xff] ^ rk[25]; s2 = AES_Te0[t2 >> 24] ^ AES_Te1[(t3 >> 16) & 0xff] ^ AES_Te2[(t0 >> 8) & 0xff] ^ AES_Te3[t1 & 0xff] ^ rk[26]; s3 = AES_Te0[t3 >> 24] ^ AES_Te1[(t0 >> 16) & 0xff] ^ AES_Te2[(t1 >> 8) & 0xff] ^ AES_Te3[t2 & 0xff] ^ rk[27]; - /* round 7: */ + /* round 7: */ t0 = AES_Te0[s0 >> 24] ^ AES_Te1[(s1 >> 16) & 0xff] ^ AES_Te2[(s2 >> 8) & 0xff] ^ AES_Te3[s3 & 0xff] ^ rk[28]; t1 = AES_Te0[s1 >> 24] ^ AES_Te1[(s2 >> 16) & 0xff] ^ AES_Te2[(s3 >> 8) & 0xff] ^ AES_Te3[s0 & 0xff] ^ rk[29]; t2 = AES_Te0[s2 >> 24] ^ AES_Te1[(s3 >> 16) & 0xff] ^ AES_Te2[(s0 >> 8) & 0xff] ^ AES_Te3[s1 & 0xff] ^ rk[30]; t3 = AES_Te0[s3 >> 24] ^ AES_Te1[(s0 >> 16) & 0xff] ^ AES_Te2[(s1 >> 8) & 0xff] ^ AES_Te3[s2 & 0xff] ^ rk[31]; - /* round 8: */ + /* round 8: */ s0 = AES_Te0[t0 >> 24] ^ AES_Te1[(t1 >> 16) & 0xff] ^ AES_Te2[(t2 >> 8) & 0xff] ^ AES_Te3[t3 & 0xff] ^ rk[32]; s1 = AES_Te0[t1 >> 24] ^ AES_Te1[(t2 >> 16) & 0xff] ^ AES_Te2[(t3 >> 8) & 0xff] ^ AES_Te3[t0 & 0xff] ^ rk[33]; s2 = AES_Te0[t2 >> 24] ^ AES_Te1[(t3 >> 16) & 0xff] ^ AES_Te2[(t0 >> 8) & 0xff] ^ AES_Te3[t1 & 0xff] ^ rk[34]; s3 = AES_Te0[t3 >> 24] ^ AES_Te1[(t0 >> 16) & 0xff] ^ AES_Te2[(t1 >> 8) & 0xff] ^ AES_Te3[t2 & 0xff] ^ rk[35]; - /* round 9: */ + /* round 9: */ t0 = AES_Te0[s0 >> 24] ^ AES_Te1[(s1 >> 16) & 0xff] ^ AES_Te2[(s2 >> 8) & 0xff] ^ AES_Te3[s3 & 0xff] ^ rk[36]; t1 = AES_Te0[s1 >> 24] ^ AES_Te1[(s2 >> 16) & 0xff] ^ AES_Te2[(s3 >> 8) & 0xff] ^ AES_Te3[s0 & 0xff] ^ rk[37]; t2 = AES_Te0[s2 >> 24] ^ AES_Te1[(s3 >> 16) & 0xff] ^ AES_Te2[(s0 >> 8) & 0xff] ^ AES_Te3[s1 & 0xff] ^ rk[38]; @@ -1375,37 +1375,37 @@ void AES_encrypt(const unsigned char *in, unsigned char *out, } #endif /* ?FULL_UNROLL */ /* - * apply last round and - * map cipher state to byte array block: - */ - s0 = + * apply last round and + * map cipher state to byte array block: + */ + s0 = (AES_Te4[(t0 >> 24) ] & 0xff000000) ^ (AES_Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Te4[(t3 ) & 0xff] & 0x000000ff) ^ - rk[0]; - PUTU32(out , s0); - s1 = + rk[0]; + PUTU32(out , s0); + s1 = (AES_Te4[(t1 >> 24) ] & 0xff000000) ^ (AES_Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Te4[(t0 ) & 0xff] & 0x000000ff) ^ - rk[1]; - PUTU32(out + 4, s1); - s2 = + rk[1]; + PUTU32(out + 4, s1); + s2 = (AES_Te4[(t2 >> 24) ] & 0xff000000) ^ (AES_Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Te4[(t1 ) & 0xff] & 0x000000ff) ^ - rk[2]; - PUTU32(out + 8, s2); - s3 = + rk[2]; + PUTU32(out + 8, s2); + s3 = (AES_Te4[(t3 >> 24) ] & 0xff000000) ^ (AES_Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Te4[(t2 ) & 0xff] & 0x000000ff) ^ - rk[3]; - PUTU32(out + 12, s3); + rk[3]; + PUTU32(out + 12, s3); } /* @@ -1413,21 +1413,21 @@ void AES_encrypt(const unsigned char *in, unsigned char *out, * in and out can overlap */ void AES_decrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key) { + const AES_KEY *key) { - const u32 *rk; - u32 s0, s1, s2, s3, t0, t1, t2, t3; + const u32 *rk; + u32 s0, s1, s2, s3, t0, t1, t2, t3; #ifndef FULL_UNROLL - int r; + int r; #endif /* ?FULL_UNROLL */ - assert(in && out && key); - rk = key->rd_key; + assert(in && out && key); + rk = key->rd_key; - /* - * map byte array block to cipher state - * and add initial round key: - */ + /* + * map byte array block to cipher state + * and add initial round key: + */ s0 = GETU32(in ) ^ rk[0]; s1 = GETU32(in + 4) ^ rk[1]; s2 = GETU32(in + 8) ^ rk[2]; @@ -1502,7 +1502,7 @@ void AES_decrypt(const unsigned char *in, unsigned char *out, t3 = AES_Td0[s3 >> 24] ^ AES_Td1[(s2 >> 16) & 0xff] ^ AES_Td2[(s1 >> 8) & 0xff] ^ AES_Td3[s0 & 0xff] ^ rk[55]; } } - rk += key->rounds << 2; + rk += key->rounds << 2; #else /* !FULL_UNROLL */ /* * Nr - 1 full rounds: @@ -1566,88 +1566,88 @@ void AES_decrypt(const unsigned char *in, unsigned char *out, } #endif /* ?FULL_UNROLL */ /* - * apply last round and - * map cipher state to byte array block: - */ - s0 = + * apply last round and + * map cipher state to byte array block: + */ + s0 = (AES_Td4[(t0 >> 24) ] & 0xff000000) ^ (AES_Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Td4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Td4[(t1 ) & 0xff] & 0x000000ff) ^ - rk[0]; - PUTU32(out , s0); - s1 = + rk[0]; + PUTU32(out , s0); + s1 = (AES_Td4[(t1 >> 24) ] & 0xff000000) ^ (AES_Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Td4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Td4[(t2 ) & 0xff] & 0x000000ff) ^ - rk[1]; - PUTU32(out + 4, s1); - s2 = + rk[1]; + PUTU32(out + 4, s1); + s2 = (AES_Td4[(t2 >> 24) ] & 0xff000000) ^ (AES_Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Td4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Td4[(t3 ) & 0xff] & 0x000000ff) ^ - rk[2]; - PUTU32(out + 8, s2); - s3 = + rk[2]; + PUTU32(out + 8, s2); + s3 = (AES_Td4[(t3 >> 24) ] & 0xff000000) ^ (AES_Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ (AES_Td4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ (AES_Td4[(t0 ) & 0xff] & 0x000000ff) ^ - rk[3]; - PUTU32(out + 12, s3); + rk[3]; + PUTU32(out + 12, s3); } #endif /* AES_ASM */ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, - const unsigned long length, const AES_KEY *key, - unsigned char *ivec, const int enc) + const unsigned long length, const AES_KEY *key, + unsigned char *ivec, const int enc) { - unsigned long n; - unsigned long len = length; - unsigned char tmp[AES_BLOCK_SIZE]; + unsigned long n; + unsigned long len = length; + unsigned char tmp[AES_BLOCK_SIZE]; - assert(in && out && key && ivec); + assert(in && out && key && ivec); - if (enc) { - while (len >= AES_BLOCK_SIZE) { - for(n=0; n < AES_BLOCK_SIZE; ++n) - tmp[n] = in[n] ^ ivec[n]; - AES_encrypt(tmp, out, key); - memcpy(ivec, out, AES_BLOCK_SIZE); - len -= AES_BLOCK_SIZE; - in += AES_BLOCK_SIZE; - out += AES_BLOCK_SIZE; - } - if (len) { - for(n=0; n < len; ++n) - tmp[n] = in[n] ^ ivec[n]; - for(n=len; n < AES_BLOCK_SIZE; ++n) - tmp[n] = ivec[n]; - AES_encrypt(tmp, tmp, key); - memcpy(out, tmp, AES_BLOCK_SIZE); - memcpy(ivec, tmp, AES_BLOCK_SIZE); - } - } else { - while (len >= AES_BLOCK_SIZE) { - memcpy(tmp, in, AES_BLOCK_SIZE); - AES_decrypt(in, out, key); - for(n=0; n < AES_BLOCK_SIZE; ++n) - out[n] ^= ivec[n]; - memcpy(ivec, tmp, AES_BLOCK_SIZE); - len -= AES_BLOCK_SIZE; - in += AES_BLOCK_SIZE; - out += AES_BLOCK_SIZE; - } - if (len) { - memcpy(tmp, in, AES_BLOCK_SIZE); - AES_decrypt(tmp, tmp, key); - for(n=0; n < len; ++n) - out[n] = tmp[n] ^ ivec[n]; - memcpy(ivec, tmp, AES_BLOCK_SIZE); - } - } + if (enc) { + while (len >= AES_BLOCK_SIZE) { + for(n=0; n < AES_BLOCK_SIZE; ++n) + tmp[n] = in[n] ^ ivec[n]; + AES_encrypt(tmp, out, key); + memcpy(ivec, out, AES_BLOCK_SIZE); + len -= AES_BLOCK_SIZE; + in += AES_BLOCK_SIZE; + out += AES_BLOCK_SIZE; + } + if (len) { + for(n=0; n < len; ++n) + tmp[n] = in[n] ^ ivec[n]; + for(n=len; n < AES_BLOCK_SIZE; ++n) + tmp[n] = ivec[n]; + AES_encrypt(tmp, tmp, key); + memcpy(out, tmp, AES_BLOCK_SIZE); + memcpy(ivec, tmp, AES_BLOCK_SIZE); + } + } else { + while (len >= AES_BLOCK_SIZE) { + memcpy(tmp, in, AES_BLOCK_SIZE); + AES_decrypt(in, out, key); + for(n=0; n < AES_BLOCK_SIZE; ++n) + out[n] ^= ivec[n]; + memcpy(ivec, tmp, AES_BLOCK_SIZE); + len -= AES_BLOCK_SIZE; + in += AES_BLOCK_SIZE; + out += AES_BLOCK_SIZE; + } + if (len) { + memcpy(tmp, in, AES_BLOCK_SIZE); + AES_decrypt(tmp, tmp, key); + for(n=0; n < len; ++n) + out[n] = tmp[n] ^ ivec[n]; + memcpy(ivec, tmp, AES_BLOCK_SIZE); + } + } } diff --git a/crypto/desrfb.c b/crypto/desrfb.c index ec47dea..3274c36 100644 --- a/crypto/desrfb.c +++ b/crypto/desrfb.c @@ -37,353 +37,353 @@ static void cookey(unsigned long *); static unsigned long KnL[32] = { 0L }; static const unsigned short bytebit[8] = { - 01, 02, 04, 010, 020, 040, 0100, 0200 }; + 01, 02, 04, 010, 020, 040, 0100, 0200 }; static const unsigned long bigbyte[24] = { - 0x800000L, 0x400000L, 0x200000L, 0x100000L, - 0x80000L, 0x40000L, 0x20000L, 0x10000L, - 0x8000L, 0x4000L, 0x2000L, 0x1000L, - 0x800L, 0x400L, 0x200L, 0x100L, - 0x80L, 0x40L, 0x20L, 0x10L, - 0x8L, 0x4L, 0x2L, 0x1L }; + 0x800000L, 0x400000L, 0x200000L, 0x100000L, + 0x80000L, 0x40000L, 0x20000L, 0x10000L, + 0x8000L, 0x4000L, 0x2000L, 0x1000L, + 0x800L, 0x400L, 0x200L, 0x100L, + 0x80L, 0x40L, 0x20L, 0x10L, + 0x8L, 0x4L, 0x2L, 0x1L }; /* Use the key schedule specified in the Standard (ANSI X3.92-1981). */ static const unsigned char pc1[56] = { - 56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, - 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, - 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, - 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3 }; + 56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, + 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, + 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, + 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3 }; static const unsigned char totrot[16] = { - 1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 }; + 1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 }; static const unsigned char pc2[48] = { - 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, - 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, - 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, - 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 }; + 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, + 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, + 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, + 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 }; /* Thanks to James Gillogly & Phil Karn! */ void deskey(unsigned char *key, int edf) { - register int i, j, l, m, n; - unsigned char pc1m[56], pcr[56]; - unsigned long kn[32]; - - for ( j = 0; j < 56; j++ ) { - l = pc1[j]; - m = l & 07; - pc1m[j] = (key[l >> 3] & bytebit[m]) ? 1 : 0; - } - for( i = 0; i < 16; i++ ) { - if( edf == DE1 ) m = (15 - i) << 1; - else m = i << 1; - n = m + 1; - kn[m] = kn[n] = 0L; - for( j = 0; j < 28; j++ ) { - l = j + totrot[i]; - if( l < 28 ) pcr[j] = pc1m[l]; - else pcr[j] = pc1m[l - 28]; - } - for( j = 28; j < 56; j++ ) { - l = j + totrot[i]; - if( l < 56 ) pcr[j] = pc1m[l]; - else pcr[j] = pc1m[l - 28]; - } - for( j = 0; j < 24; j++ ) { - if( pcr[pc2[j]] ) kn[m] |= bigbyte[j]; - if( pcr[pc2[j+24]] ) kn[n] |= bigbyte[j]; - } - } - cookey(kn); - return; - } + register int i, j, l, m, n; + unsigned char pc1m[56], pcr[56]; + unsigned long kn[32]; + + for ( j = 0; j < 56; j++ ) { + l = pc1[j]; + m = l & 07; + pc1m[j] = (key[l >> 3] & bytebit[m]) ? 1 : 0; + } + for( i = 0; i < 16; i++ ) { + if( edf == DE1 ) m = (15 - i) << 1; + else m = i << 1; + n = m + 1; + kn[m] = kn[n] = 0L; + for( j = 0; j < 28; j++ ) { + l = j + totrot[i]; + if( l < 28 ) pcr[j] = pc1m[l]; + else pcr[j] = pc1m[l - 28]; + } + for( j = 28; j < 56; j++ ) { + l = j + totrot[i]; + if( l < 56 ) pcr[j] = pc1m[l]; + else pcr[j] = pc1m[l - 28]; + } + for( j = 0; j < 24; j++ ) { + if( pcr[pc2[j]] ) kn[m] |= bigbyte[j]; + if( pcr[pc2[j+24]] ) kn[n] |= bigbyte[j]; + } + } + cookey(kn); + return; + } static void cookey(register unsigned long *raw1) { - register unsigned long *cook, *raw0; - unsigned long dough[32]; - register int i; - - cook = dough; - for( i = 0; i < 16; i++, raw1++ ) { - raw0 = raw1++; - *cook = (*raw0 & 0x00fc0000L) << 6; - *cook |= (*raw0 & 0x00000fc0L) << 10; - *cook |= (*raw1 & 0x00fc0000L) >> 10; - *cook++ |= (*raw1 & 0x00000fc0L) >> 6; - *cook = (*raw0 & 0x0003f000L) << 12; - *cook |= (*raw0 & 0x0000003fL) << 16; - *cook |= (*raw1 & 0x0003f000L) >> 4; - *cook++ |= (*raw1 & 0x0000003fL); - } - usekey(dough); - return; - } + register unsigned long *cook, *raw0; + unsigned long dough[32]; + register int i; + + cook = dough; + for( i = 0; i < 16; i++, raw1++ ) { + raw0 = raw1++; + *cook = (*raw0 & 0x00fc0000L) << 6; + *cook |= (*raw0 & 0x00000fc0L) << 10; + *cook |= (*raw1 & 0x00fc0000L) >> 10; + *cook++ |= (*raw1 & 0x00000fc0L) >> 6; + *cook = (*raw0 & 0x0003f000L) << 12; + *cook |= (*raw0 & 0x0000003fL) << 16; + *cook |= (*raw1 & 0x0003f000L) >> 4; + *cook++ |= (*raw1 & 0x0000003fL); + } + usekey(dough); + return; + } void usekey(register unsigned long *from) { - register unsigned long *to, *endp; + register unsigned long *to, *endp; - to = KnL, endp = &KnL[32]; - while( to < endp ) *to++ = *from++; - return; - } + to = KnL, endp = &KnL[32]; + while( to < endp ) *to++ = *from++; + return; + } void des(unsigned char *inblock, unsigned char *outblock) { - unsigned long work[2]; + unsigned long work[2]; - scrunch(inblock, work); - desfunc(work, KnL); - unscrun(work, outblock); - return; - } + scrunch(inblock, work); + desfunc(work, KnL); + unscrun(work, outblock); + return; + } static void scrunch(register unsigned char *outof, register unsigned long *into) { - *into = (*outof++ & 0xffL) << 24; - *into |= (*outof++ & 0xffL) << 16; - *into |= (*outof++ & 0xffL) << 8; - *into++ |= (*outof++ & 0xffL); - *into = (*outof++ & 0xffL) << 24; - *into |= (*outof++ & 0xffL) << 16; - *into |= (*outof++ & 0xffL) << 8; - *into |= (*outof & 0xffL); - return; - } + *into = (*outof++ & 0xffL) << 24; + *into |= (*outof++ & 0xffL) << 16; + *into |= (*outof++ & 0xffL) << 8; + *into++ |= (*outof++ & 0xffL); + *into = (*outof++ & 0xffL) << 24; + *into |= (*outof++ & 0xffL) << 16; + *into |= (*outof++ & 0xffL) << 8; + *into |= (*outof & 0xffL); + return; + } static void unscrun(register unsigned long *outof, register unsigned char *into) { - *into++ = (unsigned char)((*outof >> 24) & 0xffL); - *into++ = (unsigned char)((*outof >> 16) & 0xffL); - *into++ = (unsigned char)((*outof >> 8) & 0xffL); - *into++ = (unsigned char)(*outof++ & 0xffL); - *into++ = (unsigned char)((*outof >> 24) & 0xffL); - *into++ = (unsigned char)((*outof >> 16) & 0xffL); - *into++ = (unsigned char)((*outof >> 8) & 0xffL); - *into = (unsigned char)(*outof & 0xffL); - return; - } + *into++ = (unsigned char)((*outof >> 24) & 0xffL); + *into++ = (unsigned char)((*outof >> 16) & 0xffL); + *into++ = (unsigned char)((*outof >> 8) & 0xffL); + *into++ = (unsigned char)(*outof++ & 0xffL); + *into++ = (unsigned char)((*outof >> 24) & 0xffL); + *into++ = (unsigned char)((*outof >> 16) & 0xffL); + *into++ = (unsigned char)((*outof >> 8) & 0xffL); + *into = (unsigned char)(*outof & 0xffL); + return; + } static const unsigned long SP1[64] = { - 0x01010400L, 0x00000000L, 0x00010000L, 0x01010404L, - 0x01010004L, 0x00010404L, 0x00000004L, 0x00010000L, - 0x00000400L, 0x01010400L, 0x01010404L, 0x00000400L, - 0x01000404L, 0x01010004L, 0x01000000L, 0x00000004L, - 0x00000404L, 0x01000400L, 0x01000400L, 0x00010400L, - 0x00010400L, 0x01010000L, 0x01010000L, 0x01000404L, - 0x00010004L, 0x01000004L, 0x01000004L, 0x00010004L, - 0x00000000L, 0x00000404L, 0x00010404L, 0x01000000L, - 0x00010000L, 0x01010404L, 0x00000004L, 0x01010000L, - 0x01010400L, 0x01000000L, 0x01000000L, 0x00000400L, - 0x01010004L, 0x00010000L, 0x00010400L, 0x01000004L, - 0x00000400L, 0x00000004L, 0x01000404L, 0x00010404L, - 0x01010404L, 0x00010004L, 0x01010000L, 0x01000404L, - 0x01000004L, 0x00000404L, 0x00010404L, 0x01010400L, - 0x00000404L, 0x01000400L, 0x01000400L, 0x00000000L, - 0x00010004L, 0x00010400L, 0x00000000L, 0x01010004L }; + 0x01010400L, 0x00000000L, 0x00010000L, 0x01010404L, + 0x01010004L, 0x00010404L, 0x00000004L, 0x00010000L, + 0x00000400L, 0x01010400L, 0x01010404L, 0x00000400L, + 0x01000404L, 0x01010004L, 0x01000000L, 0x00000004L, + 0x00000404L, 0x01000400L, 0x01000400L, 0x00010400L, + 0x00010400L, 0x01010000L, 0x01010000L, 0x01000404L, + 0x00010004L, 0x01000004L, 0x01000004L, 0x00010004L, + 0x00000000L, 0x00000404L, 0x00010404L, 0x01000000L, + 0x00010000L, 0x01010404L, 0x00000004L, 0x01010000L, + 0x01010400L, 0x01000000L, 0x01000000L, 0x00000400L, + 0x01010004L, 0x00010000L, 0x00010400L, 0x01000004L, + 0x00000400L, 0x00000004L, 0x01000404L, 0x00010404L, + 0x01010404L, 0x00010004L, 0x01010000L, 0x01000404L, + 0x01000004L, 0x00000404L, 0x00010404L, 0x01010400L, + 0x00000404L, 0x01000400L, 0x01000400L, 0x00000000L, + 0x00010004L, 0x00010400L, 0x00000000L, 0x01010004L }; static const unsigned long SP2[64] = { - 0x80108020L, 0x80008000L, 0x00008000L, 0x00108020L, - 0x00100000L, 0x00000020L, 0x80100020L, 0x80008020L, - 0x80000020L, 0x80108020L, 0x80108000L, 0x80000000L, - 0x80008000L, 0x00100000L, 0x00000020L, 0x80100020L, - 0x00108000L, 0x00100020L, 0x80008020L, 0x00000000L, - 0x80000000L, 0x00008000L, 0x00108020L, 0x80100000L, - 0x00100020L, 0x80000020L, 0x00000000L, 0x00108000L, - 0x00008020L, 0x80108000L, 0x80100000L, 0x00008020L, - 0x00000000L, 0x00108020L, 0x80100020L, 0x00100000L, - 0x80008020L, 0x80100000L, 0x80108000L, 0x00008000L, - 0x80100000L, 0x80008000L, 0x00000020L, 0x80108020L, - 0x00108020L, 0x00000020L, 0x00008000L, 0x80000000L, - 0x00008020L, 0x80108000L, 0x00100000L, 0x80000020L, - 0x00100020L, 0x80008020L, 0x80000020L, 0x00100020L, - 0x00108000L, 0x00000000L, 0x80008000L, 0x00008020L, - 0x80000000L, 0x80100020L, 0x80108020L, 0x00108000L }; + 0x80108020L, 0x80008000L, 0x00008000L, 0x00108020L, + 0x00100000L, 0x00000020L, 0x80100020L, 0x80008020L, + 0x80000020L, 0x80108020L, 0x80108000L, 0x80000000L, + 0x80008000L, 0x00100000L, 0x00000020L, 0x80100020L, + 0x00108000L, 0x00100020L, 0x80008020L, 0x00000000L, + 0x80000000L, 0x00008000L, 0x00108020L, 0x80100000L, + 0x00100020L, 0x80000020L, 0x00000000L, 0x00108000L, + 0x00008020L, 0x80108000L, 0x80100000L, 0x00008020L, + 0x00000000L, 0x00108020L, 0x80100020L, 0x00100000L, + 0x80008020L, 0x80100000L, 0x80108000L, 0x00008000L, + 0x80100000L, 0x80008000L, 0x00000020L, 0x80108020L, + 0x00108020L, 0x00000020L, 0x00008000L, 0x80000000L, + 0x00008020L, 0x80108000L, 0x00100000L, 0x80000020L, + 0x00100020L, 0x80008020L, 0x80000020L, 0x00100020L, + 0x00108000L, 0x00000000L, 0x80008000L, 0x00008020L, + 0x80000000L, 0x80100020L, 0x80108020L, 0x00108000L }; static const unsigned long SP3[64] = { - 0x00000208L, 0x08020200L, 0x00000000L, 0x08020008L, - 0x08000200L, 0x00000000L, 0x00020208L, 0x08000200L, - 0x00020008L, 0x08000008L, 0x08000008L, 0x00020000L, - 0x08020208L, 0x00020008L, 0x08020000L, 0x00000208L, - 0x08000000L, 0x00000008L, 0x08020200L, 0x00000200L, - 0x00020200L, 0x08020000L, 0x08020008L, 0x00020208L, - 0x08000208L, 0x00020200L, 0x00020000L, 0x08000208L, - 0x00000008L, 0x08020208L, 0x00000200L, 0x08000000L, - 0x08020200L, 0x08000000L, 0x00020008L, 0x00000208L, - 0x00020000L, 0x08020200L, 0x08000200L, 0x00000000L, - 0x00000200L, 0x00020008L, 0x08020208L, 0x08000200L, - 0x08000008L, 0x00000200L, 0x00000000L, 0x08020008L, - 0x08000208L, 0x00020000L, 0x08000000L, 0x08020208L, - 0x00000008L, 0x00020208L, 0x00020200L, 0x08000008L, - 0x08020000L, 0x08000208L, 0x00000208L, 0x08020000L, - 0x00020208L, 0x00000008L, 0x08020008L, 0x00020200L }; + 0x00000208L, 0x08020200L, 0x00000000L, 0x08020008L, + 0x08000200L, 0x00000000L, 0x00020208L, 0x08000200L, + 0x00020008L, 0x08000008L, 0x08000008L, 0x00020000L, + 0x08020208L, 0x00020008L, 0x08020000L, 0x00000208L, + 0x08000000L, 0x00000008L, 0x08020200L, 0x00000200L, + 0x00020200L, 0x08020000L, 0x08020008L, 0x00020208L, + 0x08000208L, 0x00020200L, 0x00020000L, 0x08000208L, + 0x00000008L, 0x08020208L, 0x00000200L, 0x08000000L, + 0x08020200L, 0x08000000L, 0x00020008L, 0x00000208L, + 0x00020000L, 0x08020200L, 0x08000200L, 0x00000000L, + 0x00000200L, 0x00020008L, 0x08020208L, 0x08000200L, + 0x08000008L, 0x00000200L, 0x00000000L, 0x08020008L, + 0x08000208L, 0x00020000L, 0x08000000L, 0x08020208L, + 0x00000008L, 0x00020208L, 0x00020200L, 0x08000008L, + 0x08020000L, 0x08000208L, 0x00000208L, 0x08020000L, + 0x00020208L, 0x00000008L, 0x08020008L, 0x00020200L }; static const unsigned long SP4[64] = { - 0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L, - 0x00802080L, 0x00800081L, 0x00800001L, 0x00002001L, - 0x00000000L, 0x00802000L, 0x00802000L, 0x00802081L, - 0x00000081L, 0x00000000L, 0x00800080L, 0x00800001L, - 0x00000001L, 0x00002000L, 0x00800000L, 0x00802001L, - 0x00000080L, 0x00800000L, 0x00002001L, 0x00002080L, - 0x00800081L, 0x00000001L, 0x00002080L, 0x00800080L, - 0x00002000L, 0x00802080L, 0x00802081L, 0x00000081L, - 0x00800080L, 0x00800001L, 0x00802000L, 0x00802081L, - 0x00000081L, 0x00000000L, 0x00000000L, 0x00802000L, - 0x00002080L, 0x00800080L, 0x00800081L, 0x00000001L, - 0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L, - 0x00802081L, 0x00000081L, 0x00000001L, 0x00002000L, - 0x00800001L, 0x00002001L, 0x00802080L, 0x00800081L, - 0x00002001L, 0x00002080L, 0x00800000L, 0x00802001L, - 0x00000080L, 0x00800000L, 0x00002000L, 0x00802080L }; + 0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L, + 0x00802080L, 0x00800081L, 0x00800001L, 0x00002001L, + 0x00000000L, 0x00802000L, 0x00802000L, 0x00802081L, + 0x00000081L, 0x00000000L, 0x00800080L, 0x00800001L, + 0x00000001L, 0x00002000L, 0x00800000L, 0x00802001L, + 0x00000080L, 0x00800000L, 0x00002001L, 0x00002080L, + 0x00800081L, 0x00000001L, 0x00002080L, 0x00800080L, + 0x00002000L, 0x00802080L, 0x00802081L, 0x00000081L, + 0x00800080L, 0x00800001L, 0x00802000L, 0x00802081L, + 0x00000081L, 0x00000000L, 0x00000000L, 0x00802000L, + 0x00002080L, 0x00800080L, 0x00800081L, 0x00000001L, + 0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L, + 0x00802081L, 0x00000081L, 0x00000001L, 0x00002000L, + 0x00800001L, 0x00002001L, 0x00802080L, 0x00800081L, + 0x00002001L, 0x00002080L, 0x00800000L, 0x00802001L, + 0x00000080L, 0x00800000L, 0x00002000L, 0x00802080L }; static const unsigned long SP5[64] = { - 0x00000100L, 0x02080100L, 0x02080000L, 0x42000100L, - 0x00080000L, 0x00000100L, 0x40000000L, 0x02080000L, - 0x40080100L, 0x00080000L, 0x02000100L, 0x40080100L, - 0x42000100L, 0x42080000L, 0x00080100L, 0x40000000L, - 0x02000000L, 0x40080000L, 0x40080000L, 0x00000000L, - 0x40000100L, 0x42080100L, 0x42080100L, 0x02000100L, - 0x42080000L, 0x40000100L, 0x00000000L, 0x42000000L, - 0x02080100L, 0x02000000L, 0x42000000L, 0x00080100L, - 0x00080000L, 0x42000100L, 0x00000100L, 0x02000000L, - 0x40000000L, 0x02080000L, 0x42000100L, 0x40080100L, - 0x02000100L, 0x40000000L, 0x42080000L, 0x02080100L, - 0x40080100L, 0x00000100L, 0x02000000L, 0x42080000L, - 0x42080100L, 0x00080100L, 0x42000000L, 0x42080100L, - 0x02080000L, 0x00000000L, 0x40080000L, 0x42000000L, - 0x00080100L, 0x02000100L, 0x40000100L, 0x00080000L, - 0x00000000L, 0x40080000L, 0x02080100L, 0x40000100L }; + 0x00000100L, 0x02080100L, 0x02080000L, 0x42000100L, + 0x00080000L, 0x00000100L, 0x40000000L, 0x02080000L, + 0x40080100L, 0x00080000L, 0x02000100L, 0x40080100L, + 0x42000100L, 0x42080000L, 0x00080100L, 0x40000000L, + 0x02000000L, 0x40080000L, 0x40080000L, 0x00000000L, + 0x40000100L, 0x42080100L, 0x42080100L, 0x02000100L, + 0x42080000L, 0x40000100L, 0x00000000L, 0x42000000L, + 0x02080100L, 0x02000000L, 0x42000000L, 0x00080100L, + 0x00080000L, 0x42000100L, 0x00000100L, 0x02000000L, + 0x40000000L, 0x02080000L, 0x42000100L, 0x40080100L, + 0x02000100L, 0x40000000L, 0x42080000L, 0x02080100L, + 0x40080100L, 0x00000100L, 0x02000000L, 0x42080000L, + 0x42080100L, 0x00080100L, 0x42000000L, 0x42080100L, + 0x02080000L, 0x00000000L, 0x40080000L, 0x42000000L, + 0x00080100L, 0x02000100L, 0x40000100L, 0x00080000L, + 0x00000000L, 0x40080000L, 0x02080100L, 0x40000100L }; static const unsigned long SP6[64] = { - 0x20000010L, 0x20400000L, 0x00004000L, 0x20404010L, - 0x20400000L, 0x00000010L, 0x20404010L, 0x00400000L, - 0x20004000L, 0x00404010L, 0x00400000L, 0x20000010L, - 0x00400010L, 0x20004000L, 0x20000000L, 0x00004010L, - 0x00000000L, 0x00400010L, 0x20004010L, 0x00004000L, - 0x00404000L, 0x20004010L, 0x00000010L, 0x20400010L, - 0x20400010L, 0x00000000L, 0x00404010L, 0x20404000L, - 0x00004010L, 0x00404000L, 0x20404000L, 0x20000000L, - 0x20004000L, 0x00000010L, 0x20400010L, 0x00404000L, - 0x20404010L, 0x00400000L, 0x00004010L, 0x20000010L, - 0x00400000L, 0x20004000L, 0x20000000L, 0x00004010L, - 0x20000010L, 0x20404010L, 0x00404000L, 0x20400000L, - 0x00404010L, 0x20404000L, 0x00000000L, 0x20400010L, - 0x00000010L, 0x00004000L, 0x20400000L, 0x00404010L, - 0x00004000L, 0x00400010L, 0x20004010L, 0x00000000L, - 0x20404000L, 0x20000000L, 0x00400010L, 0x20004010L }; + 0x20000010L, 0x20400000L, 0x00004000L, 0x20404010L, + 0x20400000L, 0x00000010L, 0x20404010L, 0x00400000L, + 0x20004000L, 0x00404010L, 0x00400000L, 0x20000010L, + 0x00400010L, 0x20004000L, 0x20000000L, 0x00004010L, + 0x00000000L, 0x00400010L, 0x20004010L, 0x00004000L, + 0x00404000L, 0x20004010L, 0x00000010L, 0x20400010L, + 0x20400010L, 0x00000000L, 0x00404010L, 0x20404000L, + 0x00004010L, 0x00404000L, 0x20404000L, 0x20000000L, + 0x20004000L, 0x00000010L, 0x20400010L, 0x00404000L, + 0x20404010L, 0x00400000L, 0x00004010L, 0x20000010L, + 0x00400000L, 0x20004000L, 0x20000000L, 0x00004010L, + 0x20000010L, 0x20404010L, 0x00404000L, 0x20400000L, + 0x00404010L, 0x20404000L, 0x00000000L, 0x20400010L, + 0x00000010L, 0x00004000L, 0x20400000L, 0x00404010L, + 0x00004000L, 0x00400010L, 0x20004010L, 0x00000000L, + 0x20404000L, 0x20000000L, 0x00400010L, 0x20004010L }; static const unsigned long SP7[64] = { - 0x00200000L, 0x04200002L, 0x04000802L, 0x00000000L, - 0x00000800L, 0x04000802L, 0x00200802L, 0x04200800L, - 0x04200802L, 0x00200000L, 0x00000000L, 0x04000002L, - 0x00000002L, 0x04000000L, 0x04200002L, 0x00000802L, - 0x04000800L, 0x00200802L, 0x00200002L, 0x04000800L, - 0x04000002L, 0x04200000L, 0x04200800L, 0x00200002L, - 0x04200000L, 0x00000800L, 0x00000802L, 0x04200802L, - 0x00200800L, 0x00000002L, 0x04000000L, 0x00200800L, - 0x04000000L, 0x00200800L, 0x00200000L, 0x04000802L, - 0x04000802L, 0x04200002L, 0x04200002L, 0x00000002L, - 0x00200002L, 0x04000000L, 0x04000800L, 0x00200000L, - 0x04200800L, 0x00000802L, 0x00200802L, 0x04200800L, - 0x00000802L, 0x04000002L, 0x04200802L, 0x04200000L, - 0x00200800L, 0x00000000L, 0x00000002L, 0x04200802L, - 0x00000000L, 0x00200802L, 0x04200000L, 0x00000800L, - 0x04000002L, 0x04000800L, 0x00000800L, 0x00200002L }; + 0x00200000L, 0x04200002L, 0x04000802L, 0x00000000L, + 0x00000800L, 0x04000802L, 0x00200802L, 0x04200800L, + 0x04200802L, 0x00200000L, 0x00000000L, 0x04000002L, + 0x00000002L, 0x04000000L, 0x04200002L, 0x00000802L, + 0x04000800L, 0x00200802L, 0x00200002L, 0x04000800L, + 0x04000002L, 0x04200000L, 0x04200800L, 0x00200002L, + 0x04200000L, 0x00000800L, 0x00000802L, 0x04200802L, + 0x00200800L, 0x00000002L, 0x04000000L, 0x00200800L, + 0x04000000L, 0x00200800L, 0x00200000L, 0x04000802L, + 0x04000802L, 0x04200002L, 0x04200002L, 0x00000002L, + 0x00200002L, 0x04000000L, 0x04000800L, 0x00200000L, + 0x04200800L, 0x00000802L, 0x00200802L, 0x04200800L, + 0x00000802L, 0x04000002L, 0x04200802L, 0x04200000L, + 0x00200800L, 0x00000000L, 0x00000002L, 0x04200802L, + 0x00000000L, 0x00200802L, 0x04200000L, 0x00000800L, + 0x04000002L, 0x04000800L, 0x00000800L, 0x00200002L }; static const unsigned long SP8[64] = { - 0x10001040L, 0x00001000L, 0x00040000L, 0x10041040L, - 0x10000000L, 0x10001040L, 0x00000040L, 0x10000000L, - 0x00040040L, 0x10040000L, 0x10041040L, 0x00041000L, - 0x10041000L, 0x00041040L, 0x00001000L, 0x00000040L, - 0x10040000L, 0x10000040L, 0x10001000L, 0x00001040L, - 0x00041000L, 0x00040040L, 0x10040040L, 0x10041000L, - 0x00001040L, 0x00000000L, 0x00000000L, 0x10040040L, - 0x10000040L, 0x10001000L, 0x00041040L, 0x00040000L, - 0x00041040L, 0x00040000L, 0x10041000L, 0x00001000L, - 0x00000040L, 0x10040040L, 0x00001000L, 0x00041040L, - 0x10001000L, 0x00000040L, 0x10000040L, 0x10040000L, - 0x10040040L, 0x10000000L, 0x00040000L, 0x10001040L, - 0x00000000L, 0x10041040L, 0x00040040L, 0x10000040L, - 0x10040000L, 0x10001000L, 0x10001040L, 0x00000000L, - 0x10041040L, 0x00041000L, 0x00041000L, 0x00001040L, - 0x00001040L, 0x00040040L, 0x10000000L, 0x10041000L }; + 0x10001040L, 0x00001000L, 0x00040000L, 0x10041040L, + 0x10000000L, 0x10001040L, 0x00000040L, 0x10000000L, + 0x00040040L, 0x10040000L, 0x10041040L, 0x00041000L, + 0x10041000L, 0x00041040L, 0x00001000L, 0x00000040L, + 0x10040000L, 0x10000040L, 0x10001000L, 0x00001040L, + 0x00041000L, 0x00040040L, 0x10040040L, 0x10041000L, + 0x00001040L, 0x00000000L, 0x00000000L, 0x10040040L, + 0x10000040L, 0x10001000L, 0x00041040L, 0x00040000L, + 0x00041040L, 0x00040000L, 0x10041000L, 0x00001000L, + 0x00000040L, 0x10040040L, 0x00001000L, 0x00041040L, + 0x10001000L, 0x00000040L, 0x10000040L, 0x10040000L, + 0x10040040L, 0x10000000L, 0x00040000L, 0x10001040L, + 0x00000000L, 0x10041040L, 0x00040040L, 0x10000040L, + 0x10040000L, 0x10001000L, 0x10001040L, 0x00000000L, + 0x10041040L, 0x00041000L, 0x00041000L, 0x00001040L, + 0x00001040L, 0x00040040L, 0x10000000L, 0x10041000L }; static void desfunc(register unsigned long *block, register unsigned long *keys) { - register unsigned long fval, work, right, leftt; - register int round; - - leftt = block[0]; - right = block[1]; - work = ((leftt >> 4) ^ right) & 0x0f0f0f0fL; - right ^= work; - leftt ^= (work << 4); - work = ((leftt >> 16) ^ right) & 0x0000ffffL; - right ^= work; - leftt ^= (work << 16); - work = ((right >> 2) ^ leftt) & 0x33333333L; - leftt ^= work; - right ^= (work << 2); - work = ((right >> 8) ^ leftt) & 0x00ff00ffL; - leftt ^= work; - right ^= (work << 8); - right = ((right << 1) | ((right >> 31) & 1L)) & 0xffffffffL; - work = (leftt ^ right) & 0xaaaaaaaaL; - leftt ^= work; - right ^= work; - leftt = ((leftt << 1) | ((leftt >> 31) & 1L)) & 0xffffffffL; - - for( round = 0; round < 8; round++ ) { - work = (right << 28) | (right >> 4); - work ^= *keys++; - fval = SP7[ work & 0x3fL]; - fval |= SP5[(work >> 8) & 0x3fL]; - fval |= SP3[(work >> 16) & 0x3fL]; - fval |= SP1[(work >> 24) & 0x3fL]; - work = right ^ *keys++; - fval |= SP8[ work & 0x3fL]; - fval |= SP6[(work >> 8) & 0x3fL]; - fval |= SP4[(work >> 16) & 0x3fL]; - fval |= SP2[(work >> 24) & 0x3fL]; - leftt ^= fval; - work = (leftt << 28) | (leftt >> 4); - work ^= *keys++; - fval = SP7[ work & 0x3fL]; - fval |= SP5[(work >> 8) & 0x3fL]; - fval |= SP3[(work >> 16) & 0x3fL]; - fval |= SP1[(work >> 24) & 0x3fL]; - work = leftt ^ *keys++; - fval |= SP8[ work & 0x3fL]; - fval |= SP6[(work >> 8) & 0x3fL]; - fval |= SP4[(work >> 16) & 0x3fL]; - fval |= SP2[(work >> 24) & 0x3fL]; - right ^= fval; - } - - right = (right << 31) | (right >> 1); - work = (leftt ^ right) & 0xaaaaaaaaL; - leftt ^= work; - right ^= work; - leftt = (leftt << 31) | (leftt >> 1); - work = ((leftt >> 8) ^ right) & 0x00ff00ffL; - right ^= work; - leftt ^= (work << 8); - work = ((leftt >> 2) ^ right) & 0x33333333L; - right ^= work; - leftt ^= (work << 2); - work = ((right >> 16) ^ leftt) & 0x0000ffffL; - leftt ^= work; - right ^= (work << 16); - work = ((right >> 4) ^ leftt) & 0x0f0f0f0fL; - leftt ^= work; - right ^= (work << 4); - *block++ = right; - *block = leftt; - return; - } + register unsigned long fval, work, right, leftt; + register int round; + + leftt = block[0]; + right = block[1]; + work = ((leftt >> 4) ^ right) & 0x0f0f0f0fL; + right ^= work; + leftt ^= (work << 4); + work = ((leftt >> 16) ^ right) & 0x0000ffffL; + right ^= work; + leftt ^= (work << 16); + work = ((right >> 2) ^ leftt) & 0x33333333L; + leftt ^= work; + right ^= (work << 2); + work = ((right >> 8) ^ leftt) & 0x00ff00ffL; + leftt ^= work; + right ^= (work << 8); + right = ((right << 1) | ((right >> 31) & 1L)) & 0xffffffffL; + work = (leftt ^ right) & 0xaaaaaaaaL; + leftt ^= work; + right ^= work; + leftt = ((leftt << 1) | ((leftt >> 31) & 1L)) & 0xffffffffL; + + for( round = 0; round < 8; round++ ) { + work = (right << 28) | (right >> 4); + work ^= *keys++; + fval = SP7[ work & 0x3fL]; + fval |= SP5[(work >> 8) & 0x3fL]; + fval |= SP3[(work >> 16) & 0x3fL]; + fval |= SP1[(work >> 24) & 0x3fL]; + work = right ^ *keys++; + fval |= SP8[ work & 0x3fL]; + fval |= SP6[(work >> 8) & 0x3fL]; + fval |= SP4[(work >> 16) & 0x3fL]; + fval |= SP2[(work >> 24) & 0x3fL]; + leftt ^= fval; + work = (leftt << 28) | (leftt >> 4); + work ^= *keys++; + fval = SP7[ work & 0x3fL]; + fval |= SP5[(work >> 8) & 0x3fL]; + fval |= SP3[(work >> 16) & 0x3fL]; + fval |= SP1[(work >> 24) & 0x3fL]; + work = leftt ^ *keys++; + fval |= SP8[ work & 0x3fL]; + fval |= SP6[(work >> 8) & 0x3fL]; + fval |= SP4[(work >> 16) & 0x3fL]; + fval |= SP2[(work >> 24) & 0x3fL]; + right ^= fval; + } + + right = (right << 31) | (right >> 1); + work = (leftt ^ right) & 0xaaaaaaaaL; + leftt ^= work; + right ^= work; + leftt = (leftt << 31) | (leftt >> 1); + work = ((leftt >> 8) ^ right) & 0x00ff00ffL; + right ^= work; + leftt ^= (work << 8); + work = ((leftt >> 2) ^ right) & 0x33333333L; + right ^= work; + leftt ^= (work << 2); + work = ((right >> 16) ^ leftt) & 0x0000ffffL; + leftt ^= work; + right ^= (work << 16); + work = ((right >> 4) ^ leftt) & 0x0f0f0f0fL; + leftt ^= work; + right ^= (work << 4); + *block++ = right; + *block = leftt; + return; + } /* Validation sets: * From patchwork Tue Feb 5 18:14:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037117 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="moqb679t"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDt010byz9s7T for ; Wed, 6 Feb 2019 06:19:52 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38430 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6G6-0003pv-1N for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:19:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36587) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gh-0002h9-OY for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00047w-Ce for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:40703) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-0003xM-JM for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wr1-x42c.google.com with SMTP id p4so4708308wrt.7 for ; Tue, 05 Feb 2019 10:16:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=63Phnk0E+chvNFKqlx4kjE6rnFYe6mvOX8iaD3azff4=; b=moqb679tIPqeNL8AEw3Sfqbp91uc1E9jaec6b9tbZFhOui2tgiczvlPqzgSplgV/mb ogWxk73EWuz4m5RGZYRF3IhPJfxk1ddqAjDDrAaRRfs+g73f5MtFJWoYTzLcn3yrYFmF mL2R+vuylmShZRTjIN6uuQFmd+xJaPkIzl3MpQptrQzGHKmAhLHzqAGJjAudRD/q50Ns KsgykaLS1IJWwhogzANI2olCIIDNykdHQ9YARynYS3fpkQiEDRGFH7R1PoLI92VNGyIJ 6sc25VfH6Cg4uLWP1DHEM8Gt+vHkjnlxVLkzL5VghyrJcVoavNSgVkvpQWyFZlhkFeKw rnjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=63Phnk0E+chvNFKqlx4kjE6rnFYe6mvOX8iaD3azff4=; b=QdW/+AgP1uz5yqWbj+XAXKDj/E4M3ix/gYwiDFVfTtSdGgM20bmIATsEuRPfBnT1jd XcZ9ucCHOmqu8APv9RlG47jHkBK/D1I5tcn3jc7J4bA6W7XU0yhFuDDUR8SektS7qK29 kis0dZ84X2GvtltX5fPb1OqQX/Q3Yq+oqq9moU4O142eLikhzmssxK9Q+HVuoDXAeHCp Yc0AtiwD1u+i5NVfoKXefEusJ9y0MTKVKDx1m68IdVxUtf3TRPOrqb3xZqhmOuwvjgQT d5M74rsoRVxZc5njdYmT54WyQqyiSGW/N95vZBgVRwEWf34prfjJdYYEQAbQrshQZrpy LLUg== X-Gm-Message-State: AHQUAub8k2LOo3Z0iv7aMrwT+BFJ35KzWqj//78ADSJ0K6kI0y/UDLvs 3j8/BhD+IIte1S2bOeduaxa/IybG X-Google-Smtp-Source: AHgI3Ib842D61PffAcgh5NSAWZoInh/8/Iqwmafy8YawhsMxYlVUjZTb/X7F/2BZCH/HpB414Sd55w== X-Received: by 2002:a05:6000:6:: with SMTP id h6mr4661820wrx.68.1549390563396; Tue, 05 Feb 2019 10:16:03 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:02 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:44 +0100 Message-Id: <1549390526-24246-35-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42c Subject: [Qemu-devel] [PULL 34/76] ui: vnc: finish removing TABs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Suggested-by: Daniel P. Berrange Signed-off-by: Paolo Bonzini --- ui/vnc-enc-hextile-template.h | 268 ++++++++++++++-------------- ui/vnc-enc-zywrle.h | 394 +++++++++++++++++++++--------------------- 2 files changed, 331 insertions(+), 331 deletions(-) diff --git a/ui/vnc-enc-hextile-template.h b/ui/vnc-enc-hextile-template.h index d868d75..0c56262 100644 --- a/ui/vnc-enc-hextile-template.h +++ b/ui/vnc-enc-hextile-template.h @@ -30,127 +30,127 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs, int n_subtiles = 0; for (j = 0; j < h; j++) { - for (i = 0; i < w; i++) { - switch (n_colors) { - case 0: - bg = irow[i]; - n_colors = 1; - break; - case 1: - if (irow[i] != bg) { - fg = irow[i]; - n_colors = 2; - } - break; - case 2: - if (irow[i] != bg && irow[i] != fg) { - n_colors = 3; - } else { - if (irow[i] == bg) - bg_count++; - else if (irow[i] == fg) - fg_count++; - } - break; - default: - break; - } - } - if (n_colors > 2) - break; - irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); + for (i = 0; i < w; i++) { + switch (n_colors) { + case 0: + bg = irow[i]; + n_colors = 1; + break; + case 1: + if (irow[i] != bg) { + fg = irow[i]; + n_colors = 2; + } + break; + case 2: + if (irow[i] != bg && irow[i] != fg) { + n_colors = 3; + } else { + if (irow[i] == bg) + bg_count++; + else if (irow[i] == fg) + fg_count++; + } + break; + default: + break; + } + } + if (n_colors > 2) + break; + irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); } if (n_colors > 1 && fg_count > bg_count) { - pixel_t tmp = fg; - fg = bg; - bg = tmp; + pixel_t tmp = fg; + fg = bg; + bg = tmp; } if (!*has_bg || *last_bg != bg) { - flags |= 0x02; - *has_bg = 1; - *last_bg = bg; + flags |= 0x02; + *has_bg = 1; + *last_bg = bg; } if (n_colors < 3 && (!*has_fg || *last_fg != fg)) { - flags |= 0x04; - *has_fg = 1; - *last_fg = fg; + flags |= 0x04; + *has_fg = 1; + *last_fg = fg; } switch (n_colors) { case 1: - n_data = 0; - break; + n_data = 0; + break; case 2: - flags |= 0x08; - - irow = (pixel_t *)row; - - for (j = 0; j < h; j++) { - int min_x = -1; - for (i = 0; i < w; i++) { - if (irow[i] == fg) { - if (min_x == -1) - min_x = i; - } else if (min_x != -1) { - hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); - n_data += 2; - n_subtiles++; - min_x = -1; - } - } - if (min_x != -1) { - hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); - n_data += 2; - n_subtiles++; - } - irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); - } - break; + flags |= 0x08; + + irow = (pixel_t *)row; + + for (j = 0; j < h; j++) { + int min_x = -1; + for (i = 0; i < w; i++) { + if (irow[i] == fg) { + if (min_x == -1) + min_x = i; + } else if (min_x != -1) { + hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); + n_data += 2; + n_subtiles++; + min_x = -1; + } + } + if (min_x != -1) { + hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); + n_data += 2; + n_subtiles++; + } + irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); + } + break; case 3: - flags |= 0x18; - - irow = (pixel_t *)row; - - if (!*has_bg || *last_bg != bg) - flags |= 0x02; - - for (j = 0; j < h; j++) { - int has_color = 0; - int min_x = -1; - pixel_t color = 0; /* shut up gcc */ - - for (i = 0; i < w; i++) { - if (!has_color) { - if (irow[i] == bg) - continue; - color = irow[i]; - min_x = i; - has_color = 1; - } else if (irow[i] != color) { - has_color = 0; + flags |= 0x18; + + irow = (pixel_t *)row; + + if (!*has_bg || *last_bg != bg) + flags |= 0x02; + + for (j = 0; j < h; j++) { + int has_color = 0; + int min_x = -1; + pixel_t color = 0; /* shut up gcc */ + + for (i = 0; i < w; i++) { + if (!has_color) { + if (irow[i] == bg) + continue; + color = irow[i]; + min_x = i; + has_color = 1; + } else if (irow[i] != color) { + has_color = 0; #ifdef GENERIC vnc_convert_pixel(vs, data + n_data, color); n_data += vs->client_pf.bytes_per_pixel; #else - memcpy(data + n_data, &color, sizeof(color)); + memcpy(data + n_data, &color, sizeof(color)); n_data += sizeof(pixel_t); #endif - hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); - n_data += 2; - n_subtiles++; - - min_x = -1; - if (irow[i] != bg) { - color = irow[i]; - min_x = i; - has_color = 1; - } - } - } - if (has_color) { + hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); + n_data += 2; + n_subtiles++; + + min_x = -1; + if (irow[i] != bg) { + color = irow[i]; + min_x = i; + has_color = 1; + } + } + } + if (has_color) { #ifdef GENERIC vnc_convert_pixel(vs, data + n_data, color); n_data += vs->client_pf.bytes_per_pixel; @@ -158,50 +158,50 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs, memcpy(data + n_data, &color, sizeof(color)); n_data += sizeof(pixel_t); #endif - hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); - n_data += 2; - n_subtiles++; - } - irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); - } - - /* A SubrectsColoured subtile invalidates the foreground color */ - *has_fg = 0; - if (n_data > (w * h * sizeof(pixel_t))) { - n_colors = 4; - flags = 0x01; - *has_bg = 0; - - /* we really don't have to invalidate either the bg or fg - but we've lost the old values. oh well. */ - } + hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1); + n_data += 2; + n_subtiles++; + } + irow += vnc_server_fb_stride(vd) / sizeof(pixel_t); + } + + /* A SubrectsColoured subtile invalidates the foreground color */ + *has_fg = 0; + if (n_data > (w * h * sizeof(pixel_t))) { + n_colors = 4; + flags = 0x01; + *has_bg = 0; + + /* we really don't have to invalidate either the bg or fg + but we've lost the old values. oh well. */ + } break; default: - break; + break; } if (n_colors > 3) { - flags = 0x01; - *has_fg = 0; - *has_bg = 0; - n_colors = 4; + flags = 0x01; + *has_fg = 0; + *has_bg = 0; + n_colors = 4; } vnc_write_u8(vs, flags); if (n_colors < 4) { - if (flags & 0x02) - vs->write_pixels(vs, last_bg, sizeof(pixel_t)); - if (flags & 0x04) - vs->write_pixels(vs, last_fg, sizeof(pixel_t)); - if (n_subtiles) { - vnc_write_u8(vs, n_subtiles); - vnc_write(vs, data, n_data); - } + if (flags & 0x02) + vs->write_pixels(vs, last_bg, sizeof(pixel_t)); + if (flags & 0x04) + vs->write_pixels(vs, last_fg, sizeof(pixel_t)); + if (n_subtiles) { + vnc_write_u8(vs, n_subtiles); + vnc_write(vs, data, n_data); + } } else { - for (j = 0; j < h; j++) { - vs->write_pixels(vs, row, w * 4); - row += vnc_server_fb_stride(vd); - } + for (j = 0; j < h; j++) { + vs->write_pixels(vs, row, w * 4); + row += vnc_server_fb_stride(vd); + } } } diff --git a/ui/vnc-enc-zywrle.h b/ui/vnc-enc-zywrle.h index 610bd79..9b7f698 100644 --- a/ui/vnc-enc-zywrle.h +++ b/ui/vnc-enc-zywrle.h @@ -48,162 +48,162 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ZYWRLE_QUANTIZE /* Type A:lower bit omitting of EZW style. */ static const unsigned int zywrle_param[3][3]={ - {0x0000F000, 0x00000000, 0x00000000}, - {0x0000C000, 0x00F0F0F0, 0x00000000}, - {0x0000C000, 0x00C0C0C0, 0x00F0F0F0}, + {0x0000F000, 0x00000000, 0x00000000}, + {0x0000C000, 0x00F0F0F0, 0x00000000}, + {0x0000C000, 0x00C0C0C0, 0x00F0F0F0}, /* {0x0000FF00, 0x00000000, 0x00000000}, - {0x0000FF00, 0x00FFFFFF, 0x00000000}, - {0x0000FF00, 0x00FFFFFF, 0x00FFFFFF}, */ + {0x0000FF00, 0x00FFFFFF, 0x00000000}, + {0x0000FF00, 0x00FFFFFF, 0x00FFFFFF}, */ }; #else /* Type B:Non liner quantization filter. */ static const int8_t zywrle_conv[4][256]={ { /* bi=5, bo=5 r=0.0:PSNR=24.849 */ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, }, { /* bi=5, bo=5 r=2.0:PSNR=74.031 */ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 64, 64, 64, 64, - 64, 64, 64, 64, 72, 72, 72, 72, - 72, 72, 72, 72, 80, 80, 80, 80, - 80, 80, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 96, 96, - 96, 96, 96, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, - 0, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -104, -104, -104, -104, - -104, -104, -104, -104, -104, -104, -96, -96, - -96, -96, -96, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -80, - -80, -80, -80, -80, -80, -72, -72, -72, - -72, -72, -72, -72, -72, -64, -64, -64, - -64, -64, -64, -64, -64, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, - -48, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 64, 64, 64, 64, + 64, 64, 64, 64, 72, 72, 72, 72, + 72, 72, 72, 72, 80, 80, 80, 80, + 80, 80, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 96, 96, + 96, 96, 96, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, + 0, -120, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -112, -112, -112, -112, -112, + -112, -112, -112, -112, -104, -104, -104, -104, + -104, -104, -104, -104, -104, -104, -96, -96, + -96, -96, -96, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -80, + -80, -80, -80, -80, -80, -72, -72, -72, + -72, -72, -72, -72, -72, -64, -64, -64, + -64, -64, -64, -64, -64, -56, -56, -56, + -56, -56, -56, -56, -56, -56, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, }, { /* bi=5, bo=4 r=2.0:PSNR=64.441 */ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, - 0, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -104, -104, - -104, -104, -104, -104, -104, -104, -104, -104, - -104, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, - -80, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, -64, - -64, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, - -48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, + 0, -120, -120, -120, -120, -120, -120, -120, + -120, -120, -120, -120, -120, -112, -112, -112, + -112, -112, -112, -112, -112, -112, -104, -104, + -104, -104, -104, -104, -104, -104, -104, -104, + -104, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -80, -80, -80, -80, + -80, -80, -80, -80, -80, -80, -80, -80, + -80, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, }, { /* bi=5, bo=2 r=2.0:PSNR=43.175 */ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, - 0, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, - -88, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 0, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, + -88, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, } }; static const int8_t *zywrle_param[3][3][3]={ - {{zywrle_conv[0], zywrle_conv[2], zywrle_conv[0]}, + {{zywrle_conv[0], zywrle_conv[2], zywrle_conv[0]}, {zywrle_conv[0], zywrle_conv[0], zywrle_conv[0]}, {zywrle_conv[0], zywrle_conv[0], zywrle_conv[0]}}, - {{zywrle_conv[0], zywrle_conv[3], zywrle_conv[0]}, + {{zywrle_conv[0], zywrle_conv[3], zywrle_conv[0]}, {zywrle_conv[1], zywrle_conv[1], zywrle_conv[1]}, {zywrle_conv[0], zywrle_conv[0], zywrle_conv[0]}}, - {{zywrle_conv[0], zywrle_conv[3], zywrle_conv[0]}, + {{zywrle_conv[0], zywrle_conv[3], zywrle_conv[0]}, {zywrle_conv[2], zywrle_conv[2], zywrle_conv[2]}, {zywrle_conv[1], zywrle_conv[1], zywrle_conv[1]}}, }; @@ -214,53 +214,53 @@ static const int8_t *zywrle_param[3][3][3]={ #define ZYWRLE_UVMASK15 0xFFFFFFF8 #define ZYWRLE_LOAD_PIXEL15(src, r, g, b) \ do { \ - r = (((uint8_t*)src)[S_1]<< 1)& 0xF8; \ - g = (((uint8_t*)src)[S_1]<< 6) | (((uint8_t*)src)[S_0]>> 2); \ + r = (((uint8_t*)src)[S_1]<< 1)& 0xF8; \ + g = (((uint8_t*)src)[S_1]<< 6) | (((uint8_t*)src)[S_0]>> 2); \ g &= 0xF8; \ - b = (((uint8_t*)src)[S_0]<< 3)& 0xF8; \ + b = (((uint8_t*)src)[S_0]<< 3)& 0xF8; \ } while (0) #define ZYWRLE_SAVE_PIXEL15(dst, r, g, b) \ do { \ - r &= 0xF8; \ - g &= 0xF8; \ - b &= 0xF8; \ - ((uint8_t*)dst)[S_1] = (uint8_t)((r >> 1)|(g >> 6)); \ - ((uint8_t*)dst)[S_0] = (uint8_t)(((b >> 3)|(g << 2))& 0xFF); \ + r &= 0xF8; \ + g &= 0xF8; \ + b &= 0xF8; \ + ((uint8_t*)dst)[S_1] = (uint8_t)((r >> 1)|(g >> 6)); \ + ((uint8_t*)dst)[S_0] = (uint8_t)(((b >> 3)|(g << 2))& 0xFF); \ } while (0) #define ZYWRLE_YMASK16 0xFFFFFFFC #define ZYWRLE_UVMASK16 0xFFFFFFF8 #define ZYWRLE_LOAD_PIXEL16(src, r, g, b) \ do { \ - r = ((uint8_t*)src)[S_1] & 0xF8; \ - g = (((uint8_t*)src)[S_1]<< 5) | (((uint8_t*)src)[S_0] >> 3); \ + r = ((uint8_t*)src)[S_1] & 0xF8; \ + g = (((uint8_t*)src)[S_1]<< 5) | (((uint8_t*)src)[S_0] >> 3); \ g &= 0xFC; \ - b = (((uint8_t*)src)[S_0]<< 3) & 0xF8; \ + b = (((uint8_t*)src)[S_0]<< 3) & 0xF8; \ } while (0) #define ZYWRLE_SAVE_PIXEL16(dst, r, g,b) \ do { \ - r &= 0xF8; \ - g &= 0xFC; \ - b &= 0xF8; \ - ((uint8_t*)dst)[S_1] = (uint8_t)(r | (g >> 5)); \ - ((uint8_t*)dst)[S_0] = (uint8_t)(((b >> 3)|(g << 3)) & 0xFF); \ + r &= 0xF8; \ + g &= 0xFC; \ + b &= 0xF8; \ + ((uint8_t*)dst)[S_1] = (uint8_t)(r | (g >> 5)); \ + ((uint8_t*)dst)[S_0] = (uint8_t)(((b >> 3)|(g << 3)) & 0xFF); \ } while (0) #define ZYWRLE_YMASK32 0xFFFFFFFF #define ZYWRLE_UVMASK32 0xFFFFFFFF #define ZYWRLE_LOAD_PIXEL32(src, r, g, b) \ do { \ - r = ((uint8_t*)src)[L_2]; \ - g = ((uint8_t*)src)[L_1]; \ - b = ((uint8_t*)src)[L_0]; \ + r = ((uint8_t*)src)[L_2]; \ + g = ((uint8_t*)src)[L_1]; \ + b = ((uint8_t*)src)[L_0]; \ } while (0) #define ZYWRLE_SAVE_PIXEL32(dst, r, g, b) \ do { \ - ((uint8_t*)dst)[L_2] = (uint8_t)r; \ - ((uint8_t*)dst)[L_1] = (uint8_t)g; \ - ((uint8_t*)dst)[L_0] = (uint8_t)b; \ + ((uint8_t*)dst)[L_2] = (uint8_t)r; \ + ((uint8_t*)dst)[L_1] = (uint8_t)g; \ + ((uint8_t*)dst)[L_0] = (uint8_t)b; \ } while (0) static inline void harr(int8_t *px0, int8_t *px1) @@ -443,27 +443,27 @@ static inline void filter_wavelet_square(int *buf, int width, int height, static inline void wavelet(int *buf, int width, int height, int level) { - int l, s; - int *top; - int *end; - - for (l = 0; l < level; l++) { - top = buf; - end = buf + height * width; - s = width << l; - while (top < end) { - wavelet_level(top, width, l, 1); - top += s; - } - top = buf; - end = buf + width; - s = 1<> 2; \ - u = b - g; \ - v = r - g; \ - y -= 128; \ - u >>= 1; \ - v >>= 1; \ - y &= ymask; \ - u &= uvmask; \ - v &= uvmask; \ - if (y == -128) { \ + y = (r + (g << 1) + b) >> 2; \ + u = b - g; \ + v = r - g; \ + y -= 128; \ + u >>= 1; \ + v >>= 1; \ + y &= ymask; \ + u &= uvmask; \ + v &= uvmask; \ + if (y == -128) { \ y += (0xFFFFFFFF - ymask + 1); \ } \ - if (u == -128) { \ + if (u == -128) { \ u += (0xFFFFFFFF - uvmask + 1); \ } \ - if (v == -128) { \ + if (v == -128) { \ v += (0xFFFFFFFF - uvmask + 1); \ } \ } while (0) From patchwork Tue Feb 5 18:14:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037064 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YEAeT+mg"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDKK21mqz9s7T for ; Wed, 6 Feb 2019 05:55:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37895 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5s3-00008G-6C for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:54:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ge-0002cb-4h for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gb-00046u-J7 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:44633) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GZ-0003xT-Fo for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wr1-x436.google.com with SMTP id v16so2845897wrn.11 for ; Tue, 05 Feb 2019 10:16:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=UGSwc1aX5adFQoWg0wLpWvmqPVthsz+4Bc/xih1znrE=; b=YEAeT+mgPWeOPS9Z4abX990k4y523y5hfgUVAvXBQ1aNCFN1smxIl4Y83jhRJhp453 8GPwCjcbYAgDRuujg9HCO2YiagaYNpYWUsuWBGHzc9ubMIjxPYiMG3KNEYlzQEx7OLNa kYBx+Gw3VS3AQ1QIr7asfRR9mfzx04h7JaeO4Z7i/8W4jkNLzxvrD4lulwVgdxmMVYhA WBmCnkRURnUGK94sNvrHBDyVjl9eDnfzzwixzOrY1dfBVWr0pZCIyW1+Q1CQTUxBf7YA 3ayGt8n+srQ2Aqr/aSUDHo3h/96rbty4Qkr1D40TkEXYKaQpO3Yjm6nHdAH9b9LP4hLj 6dGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=UGSwc1aX5adFQoWg0wLpWvmqPVthsz+4Bc/xih1znrE=; b=PR+aVCnfVh1prS012DnDzMRulFjDfVu7HX0bZWJFIUrN2Iv3gNJrAmfME7HvZS1Jy0 sfpTKvnPbwox6GcbsjwiDb+BEKOimopkHsKZLZs2P5i+RWJF+Va8u5GE1sGcu7HaRCtH hO7ofHVNHZnYD5Xf+J+QO47COLaMeeKvAzHpBS9kvp1wreiiizJ6OA8sXgDHWyYQW419 C+XwNi3TUCcF/PtAYoS+RY8zgGo7Adju80VbsKSbgLv5n53jDpFPB2dqdrTo8tBEEfLq 1oBBygqnvLsFQrNnWKc43EM9ApUB+SyUuL1ztSfcmSYLMbNGhYvhHNUUQVPx/ve9rmC9 lhKw== X-Gm-Message-State: AHQUAuZoA8cXiJ6nSNt45FREUkbrxVWIuB5sqVvznt+APjxoS0ifovyz yCALBI62YBqLTBp/TJlJZkDrSSZl X-Google-Smtp-Source: AHgI3IZhojSFBEBVscgYmUJKa+/+m0ZDHE4tOkVl5khyvn2vXvlONR7Ut8Kh5KcQQckUAilnFf/UUg== X-Received: by 2002:adf:a14d:: with SMTP id r13mr4442946wrr.169.1549390564219; Tue, 05 Feb 2019 10:16:04 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:03 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:45 +0100 Message-Id: <1549390526-24246-36-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::436 Subject: [Qemu-devel] [PULL 35/76] unify len and addr type for memory/address APIs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Richard Henderson , Stefano Garzarella , Li Zhijian , Peter Crosthwaite Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian Some address/memory APIs have different type between 'hwaddr/target_ulong addr' and 'int len'. It is very unsafe, especially some APIs will be passed a non-int len by caller which might cause overflow quietly. Below is an potential overflow case: dma_memory_read(uint32_t len) -> dma_memory_rw(uint32_t len) -> dma_memory_rw_relaxed(uint32_t len) -> address_space_rw(int len) # len overflow CC: Paolo Bonzini CC: Peter Crosthwaite CC: Richard Henderson CC: Peter Maydell CC: Stefano Garzarella Signed-off-by: Li Zhijian Reviewed-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Stefano Garzarella Signed-off-by: Paolo Bonzini --- exec.c | 47 +++++++++++++++++++++++------------------------ include/exec/cpu-all.h | 2 +- include/exec/cpu-common.h | 8 ++++---- include/exec/memory.h | 22 +++++++++++----------- 4 files changed, 39 insertions(+), 40 deletions(-) diff --git a/exec.c b/exec.c index 03dd673..5180645 100644 --- a/exec.c +++ b/exec.c @@ -2851,10 +2851,10 @@ static const MemoryRegionOps watch_mem_ops = { }; static MemTxResult flatview_read(FlatView *fv, hwaddr addr, - MemTxAttrs attrs, uint8_t *buf, int len); + MemTxAttrs attrs, uint8_t *buf, hwaddr len); static MemTxResult flatview_write(FlatView *fv, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len); -static bool flatview_access_valid(FlatView *fv, hwaddr addr, int len, + const uint8_t *buf, hwaddr len); +static bool flatview_access_valid(FlatView *fv, hwaddr addr, hwaddr len, bool is_write, MemTxAttrs attrs); static MemTxResult subpage_read(void *opaque, hwaddr addr, uint64_t *data, @@ -3102,10 +3102,10 @@ MemoryRegion *get_system_io(void) /* physical memory access (slow version, mainly for debug) */ #if defined(CONFIG_USER_ONLY) int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr, - uint8_t *buf, int len, int is_write) + uint8_t *buf, target_ulong len, int is_write) { - int l, flags; - target_ulong page; + int flags; + target_ulong l, page; void * p; while (len > 0) { @@ -3231,7 +3231,7 @@ static bool prepare_mmio_access(MemoryRegion *mr) static MemTxResult flatview_write_continue(FlatView *fv, hwaddr addr, MemTxAttrs attrs, const uint8_t *buf, - int len, hwaddr addr1, + hwaddr len, hwaddr addr1, hwaddr l, MemoryRegion *mr) { uint8_t *ptr; @@ -3276,7 +3276,7 @@ static MemTxResult flatview_write_continue(FlatView *fv, hwaddr addr, /* Called from RCU critical section. */ static MemTxResult flatview_write(FlatView *fv, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len) + const uint8_t *buf, hwaddr len) { hwaddr l; hwaddr addr1; @@ -3294,7 +3294,7 @@ static MemTxResult flatview_write(FlatView *fv, hwaddr addr, MemTxAttrs attrs, /* Called within RCU critical section. */ MemTxResult flatview_read_continue(FlatView *fv, hwaddr addr, MemTxAttrs attrs, uint8_t *buf, - int len, hwaddr addr1, hwaddr l, + hwaddr len, hwaddr addr1, hwaddr l, MemoryRegion *mr) { uint8_t *ptr; @@ -3337,7 +3337,7 @@ MemTxResult flatview_read_continue(FlatView *fv, hwaddr addr, /* Called from RCU critical section. */ static MemTxResult flatview_read(FlatView *fv, hwaddr addr, - MemTxAttrs attrs, uint8_t *buf, int len) + MemTxAttrs attrs, uint8_t *buf, hwaddr len) { hwaddr l; hwaddr addr1; @@ -3350,7 +3350,7 @@ static MemTxResult flatview_read(FlatView *fv, hwaddr addr, } MemTxResult address_space_read_full(AddressSpace *as, hwaddr addr, - MemTxAttrs attrs, uint8_t *buf, int len) + MemTxAttrs attrs, uint8_t *buf, hwaddr len) { MemTxResult result = MEMTX_OK; FlatView *fv; @@ -3367,7 +3367,7 @@ MemTxResult address_space_read_full(AddressSpace *as, hwaddr addr, MemTxResult address_space_write(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len) + const uint8_t *buf, hwaddr len) { MemTxResult result = MEMTX_OK; FlatView *fv; @@ -3383,7 +3383,7 @@ MemTxResult address_space_write(AddressSpace *as, hwaddr addr, } MemTxResult address_space_rw(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - uint8_t *buf, int len, bool is_write) + uint8_t *buf, hwaddr len, bool is_write) { if (is_write) { return address_space_write(as, addr, attrs, buf, len); @@ -3393,7 +3393,7 @@ MemTxResult address_space_rw(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, } void cpu_physical_memory_rw(hwaddr addr, uint8_t *buf, - int len, int is_write) + hwaddr len, int is_write) { address_space_rw(&address_space_memory, addr, MEMTXATTRS_UNSPECIFIED, buf, len, is_write); @@ -3408,7 +3408,7 @@ static inline MemTxResult address_space_write_rom_internal(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, const uint8_t *buf, - int len, + hwaddr len, enum write_rom_type type) { hwaddr l; @@ -3448,13 +3448,13 @@ static inline MemTxResult address_space_write_rom_internal(AddressSpace *as, /* used for ROM loading : can write in RAM and ROM */ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len) + const uint8_t *buf, hwaddr len) { return address_space_write_rom_internal(as, addr, attrs, buf, len, WRITE_DATA); } -void cpu_flush_icache_range(hwaddr start, int len) +void cpu_flush_icache_range(hwaddr start, hwaddr len) { /* * This function should do the same thing as an icache flush that was @@ -3557,7 +3557,7 @@ static void cpu_notify_map_clients(void) qemu_mutex_unlock(&map_client_list_lock); } -static bool flatview_access_valid(FlatView *fv, hwaddr addr, int len, +static bool flatview_access_valid(FlatView *fv, hwaddr addr, hwaddr len, bool is_write, MemTxAttrs attrs) { MemoryRegion *mr; @@ -3580,7 +3580,7 @@ static bool flatview_access_valid(FlatView *fv, hwaddr addr, int len, } bool address_space_access_valid(AddressSpace *as, hwaddr addr, - int len, bool is_write, + hwaddr len, bool is_write, MemTxAttrs attrs) { FlatView *fv; @@ -3833,7 +3833,7 @@ static inline MemoryRegion *address_space_translate_cached( */ void address_space_read_cached_slow(MemoryRegionCache *cache, hwaddr addr, - void *buf, int len) + void *buf, hwaddr len) { hwaddr addr1, l; MemoryRegion *mr; @@ -3851,7 +3851,7 @@ address_space_read_cached_slow(MemoryRegionCache *cache, hwaddr addr, */ void address_space_write_cached_slow(MemoryRegionCache *cache, hwaddr addr, - const void *buf, int len) + const void *buf, hwaddr len) { hwaddr addr1, l; MemoryRegion *mr; @@ -3874,11 +3874,10 @@ address_space_write_cached_slow(MemoryRegionCache *cache, hwaddr addr, /* virtual memory access for debug (includes writing to ROM) */ int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr, - uint8_t *buf, int len, int is_write) + uint8_t *buf, target_ulong len, int is_write) { - int l; hwaddr phys_addr; - target_ulong page; + target_ulong l, page; cpu_synchronize_state(cpu); while (len > 0) { diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 117d2fb..b16c9ec 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -367,7 +367,7 @@ void dump_opcount_info(FILE *f, fprintf_function cpu_fprintf); #endif /* !CONFIG_USER_ONLY */ int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr, - uint8_t *buf, int len, int is_write); + uint8_t *buf, target_ulong len, int is_write); int cpu_exec(CPUState *cpu); diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 2ad2d6d..63ec1f9 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -83,14 +83,14 @@ size_t qemu_ram_pagesize(RAMBlock *block); size_t qemu_ram_pagesize_largest(void); void cpu_physical_memory_rw(hwaddr addr, uint8_t *buf, - int len, int is_write); + hwaddr len, int is_write); static inline void cpu_physical_memory_read(hwaddr addr, - void *buf, int len) + void *buf, hwaddr len) { cpu_physical_memory_rw(addr, buf, len, 0); } static inline void cpu_physical_memory_write(hwaddr addr, - const void *buf, int len) + const void *buf, hwaddr len) { cpu_physical_memory_rw(addr, (void *)buf, len, 1); } @@ -111,7 +111,7 @@ bool cpu_physical_memory_is_io(hwaddr phys_addr); */ void qemu_flush_coalesced_mmio_buffer(void); -void cpu_flush_icache_range(hwaddr start, int len); +void cpu_flush_icache_range(hwaddr start, hwaddr len); extern struct MemoryRegion io_mem_rom; extern struct MemoryRegion io_mem_notdirty; diff --git a/include/exec/memory.h b/include/exec/memory.h index abe9cc7..1625913 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1791,7 +1791,7 @@ void address_space_destroy(AddressSpace *as); */ MemTxResult address_space_rw(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, uint8_t *buf, - int len, bool is_write); + hwaddr len, bool is_write); /** * address_space_write: write to address space. @@ -1808,7 +1808,7 @@ MemTxResult address_space_rw(AddressSpace *as, hwaddr addr, */ MemTxResult address_space_write(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len); + const uint8_t *buf, hwaddr len); /** * address_space_write_rom: write to address space, including ROM. @@ -1834,7 +1834,7 @@ MemTxResult address_space_write(AddressSpace *as, hwaddr addr, */ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - const uint8_t *buf, int len); + const uint8_t *buf, hwaddr len); /* address_space_ld*: load from an address space * address_space_st*: store to an address space @@ -2035,7 +2035,7 @@ static inline MemoryRegion *address_space_translate(AddressSpace *as, * @is_write: indicates the transfer direction * @attrs: memory attributes */ -bool address_space_access_valid(AddressSpace *as, hwaddr addr, int len, +bool address_space_access_valid(AddressSpace *as, hwaddr addr, hwaddr len, bool is_write, MemTxAttrs attrs); /* address_space_map: map a physical memory region into a host virtual address @@ -2072,19 +2072,19 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len, /* Internal functions, part of the implementation of address_space_read. */ MemTxResult address_space_read_full(AddressSpace *as, hwaddr addr, - MemTxAttrs attrs, uint8_t *buf, int len); + MemTxAttrs attrs, uint8_t *buf, hwaddr len); MemTxResult flatview_read_continue(FlatView *fv, hwaddr addr, MemTxAttrs attrs, uint8_t *buf, - int len, hwaddr addr1, hwaddr l, + hwaddr len, hwaddr addr1, hwaddr l, MemoryRegion *mr); void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr); /* Internal functions, part of the implementation of address_space_read_cached * and address_space_write_cached. */ void address_space_read_cached_slow(MemoryRegionCache *cache, - hwaddr addr, void *buf, int len); + hwaddr addr, void *buf, hwaddr len); void address_space_write_cached_slow(MemoryRegionCache *cache, - hwaddr addr, const void *buf, int len); + hwaddr addr, const void *buf, hwaddr len); static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write) { @@ -2112,7 +2112,7 @@ static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write) static inline __attribute__((__always_inline__)) MemTxResult address_space_read(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, uint8_t *buf, - int len) + hwaddr len) { MemTxResult result = MEMTX_OK; hwaddr l, addr1; @@ -2151,7 +2151,7 @@ MemTxResult address_space_read(AddressSpace *as, hwaddr addr, */ static inline void address_space_read_cached(MemoryRegionCache *cache, hwaddr addr, - void *buf, int len) + void *buf, hwaddr len) { assert(addr < cache->len && len <= cache->len - addr); if (likely(cache->ptr)) { @@ -2171,7 +2171,7 @@ address_space_read_cached(MemoryRegionCache *cache, hwaddr addr, */ static inline void address_space_write_cached(MemoryRegionCache *cache, hwaddr addr, - void *buf, int len) + void *buf, hwaddr len) { assert(addr < cache->len && len <= cache->len - addr); if (likely(cache->ptr)) { From patchwork Tue Feb 5 18:14:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037062 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TJDdKWro"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDHt5prwz9s7T for ; Wed, 6 Feb 2019 05:53:46 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5qq-0007ZD-LN for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:53:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36331) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gb-0002Zh-Im for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GZ-00045Y-IU for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:41217) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GV-0003y1-N1 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:12 -0500 Received: by mail-wr1-x431.google.com with SMTP id x10so4692994wrs.8 for ; Tue, 05 Feb 2019 10:16:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=Pv7QOZfFzXUBUAJfwOCLg8Ta9/NfHbHT1o8qe8GcQYk=; b=TJDdKWrok7q8jVAMX/hlgJfmt4kLxzCUY1K2tS2qf0krx0gw3NSq/JsSacON5bt+FB PyGTYU2DNsiVOdzwtc8YxH5NFryUnbJhS210XhxPHJOU718QzX1n8iwnlPXvH35hol9O XmOiiniRLyN36sIl/AFmYUVNYx6TwI2z3fLSQfZQIyMgFkh8RUWdEipRxUI0rT7PDORw 4CZqRF+IX0624NIGhfFM0VFkGyV6x/abEVul6qYBidKpjYuvuyp4L02wprhUtAEunzeV Ux2kdykgsvdpZ7XXHej0wefLB0yLXgzh0wh1fgqTRbrCYsvThQlxlNYglpVcUX/vAWHE 8IMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=Pv7QOZfFzXUBUAJfwOCLg8Ta9/NfHbHT1o8qe8GcQYk=; b=Yu0DqSz5Cu/K2VUuNS3pP3ja78xFeNSJKjICayefZGyWL5G+PXOEEuWm0dIb7Dj3s9 U3U+9Tp25HR80G1ClbdiaREqvCN0RTIKkmLoAUwteQ+tpkncY/nO1QhHHZoBba6cZFTv abEnnuR5wD2n/SXzyt/fCAJ6uIM6unaP3cedt2cEcGuwhCJGXx+Oi02GjeFNE64ey82G 3PE4GK/R9URrr9bt/T//N6bWWYNmK0I0IawkOhIG5eIC6qxwPFQ0/HyXLS3N/90SQSvd Jfz9x/GnAIJyRfE6T2Ua04NwEDWK828GPmIYPaoSxhAzo06K0dtpM6NyLPgT+DEubUzX Gb2Q== X-Gm-Message-State: AHQUAuYXTlG5DESuwYJ5nGM/cNdeI4LoN83s5RVVydhZeziVNBPgBPgG vnGMBgnKjOyEMifZlMw1rAGJ2L1R X-Google-Smtp-Source: AHgI3IYXgm6ZehXlqY9zfsgn+6hfvnKlCfNerosH6bGQlMqcz0wZ9w+IWZ/8KQnuoJWdTtIkVTJCiA== X-Received: by 2002:a5d:6507:: with SMTP id x7mr2203684wru.299.1549390565212; Tue, 05 Feb 2019 10:16:05 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:04 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:46 +0100 Message-Id: <1549390526-24246-37-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 Subject: [Qemu-devel] [PULL 36/76] hw/core/loader.c: Read as long as possible in load_image_size() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Li Zhijian , Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian Don't expect read(2) can always read as many as it's told. CC: Richard Henderson CC: Stefano Garzarella Signed-off-by: Li Zhijian Reviewed-by: Richard Henderson Reviewed-by: Stefano Garzarella Signed-off-by: Paolo Bonzini --- hw/core/loader.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index 3a000d5..fe5cb24 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -77,21 +77,20 @@ int64_t get_image_size(const char *filename) ssize_t load_image_size(const char *filename, void *addr, size_t size) { int fd; - ssize_t actsize; + ssize_t actsize, l = 0; fd = open(filename, O_RDONLY | O_BINARY); if (fd < 0) { return -1; } - actsize = read(fd, addr, size); - if (actsize < 0) { - close(fd); - return -1; + while ((actsize = read(fd, addr + l, size - l)) > 0) { + l += actsize; } + close(fd); - return actsize; + return actsize < 0 ? -1 : l; } /* read()-like version */ From patchwork Tue Feb 5 18:14:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037109 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XjdrzJFL"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDkm3yczz9sDX for ; Wed, 6 Feb 2019 06:13:36 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38252 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6A2-0007JV-Cv for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:13:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36463) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ge-0002di-RN for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gd-00049W-8N for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:39042) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gc-0003z8-Te for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:19 -0500 Received: by mail-wm1-x342.google.com with SMTP id y8so4739335wmi.4 for ; Tue, 05 Feb 2019 10:16:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=i1n8jLvWrUzAyecYeF85aYrxW/dgM4MAF5HJIRp6TYU=; b=XjdrzJFLPK9isu8IbuC0OS5RpMASjdrauvUdghTzttAxA7iihzXkOW6DR3Wn1hhr0f e5YOKCXp/7XTJHv6ukg9N9ucyzS7wxOE45GalsYTtvQO1Sy+dWg9KeATLB0XisofOu/O 6AJApqvm/lFeCEs2Mr6+XiOOFP5pX1sUUnASnJUpetwFRJVgcBUzPKfjkGWKV946wSoP yjjPUwIL24PZSKmm1JaDKCTl0VQCZWUSyZ0ByakR8P9++9++zOAY45Mk5q6mWmPglBOn ojUs5bzoO788LiVyVv/f0OwaF6RrDLiXPbNBZ7DzyoNzH3+gK8iXDL18dQCVipPwSELF ttnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=i1n8jLvWrUzAyecYeF85aYrxW/dgM4MAF5HJIRp6TYU=; b=H5pdHNkpGuw/VR8hlGWHEU5OEHoT/6Burki3z4qAyP8PcND6pTKhxWRyleJDXM+rie asIXe+88woSIhThwJiq4hHxh02fZdwmpeTfu6rn38K5EVu4sLGM30mokOZ/zoy8bxuXN x2Bb8CxAiiz0xVh4w0994m5AiDJI51CXQEcVtSmu1Z+CClEdztDuWGzWqYsYRmZoESxr 4IDKIqXEuvaGcPN8FqqnjZBKpzHaVOdbeUMwGzQ2pQiRJ2h/RfxhfAkx8OFgYpnippuE r1CqmYYsTASLMehcMnUfwGzUI1TXrt5T+XOkj3lpE42NNEH5O5UHRgX29lVwRDg80WsZ 6vEg== X-Gm-Message-State: AHQUAuZBH8WjXFRSmrTVdz3eGIAzn1rtaaXsStExCcFcI5nx3820g5Zj WrFcy7ODQ0vpX6FbvjgA1zpKngLg X-Google-Smtp-Source: AHgI3IbwZT7c11Jnb2yOS7C9tdPasZ+0q5KaGaMd7N7TyUuUlP/cgT/naBj9ziQAc7SO9lNFHaQVMg== X-Received: by 2002:a1c:5dce:: with SMTP id r197mr8793wmb.130.1549390566327; Tue, 05 Feb 2019 10:16:06 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:05 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:47 +0100 Message-Id: <1549390526-24246-38-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PULL 37/76] i386: import & use bootparam.h X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S. Tsirkin" , Li Zhijian , Stefano Garzarella Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian it's from v4.20-rc5. CC: Stefano Garzarella CC: Michael S. Tsirkin Signed-off-by: Li Zhijian Reviewed-by: Michael S. Tsirkin Reviewed-by: Stefano Garzarella Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 8 +------ include/standard-headers/asm-x86/bootparam.h | 34 ++++++++++++++++++++++++++++ scripts/update-linux-headers.sh | 6 +++++ 3 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 include/standard-headers/asm-x86/bootparam.h diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 00166d1..9664822 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -76,6 +76,7 @@ #include "hw/usb.h" #include "hw/i386/intel_iommu.h" #include "hw/net/ne2000-isa.h" +#include "standard-headers/asm-x86/bootparam.h" /* debug PC/ISA interrupts */ //#define DEBUG_IRQ @@ -1059,13 +1060,6 @@ static long get_file_size(FILE *f) return size; } -/* setup_data types */ -#define SETUP_NONE 0 -#define SETUP_E820_EXT 1 -#define SETUP_DTB 2 -#define SETUP_PCI 3 -#define SETUP_EFI 4 - struct setup_data { uint64_t next; uint32_t type; diff --git a/include/standard-headers/asm-x86/bootparam.h b/include/standard-headers/asm-x86/bootparam.h new file mode 100644 index 0000000..67d4f01 --- /dev/null +++ b/include/standard-headers/asm-x86/bootparam.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_BOOTPARAM_H +#define _ASM_X86_BOOTPARAM_H + +/* setup_data types */ +#define SETUP_NONE 0 +#define SETUP_E820_EXT 1 +#define SETUP_DTB 2 +#define SETUP_PCI 3 +#define SETUP_EFI 4 +#define SETUP_APPLE_PROPERTIES 5 +#define SETUP_JAILHOUSE 6 + +/* ram_size flags */ +#define RAMDISK_IMAGE_START_MASK 0x07FF +#define RAMDISK_PROMPT_FLAG 0x8000 +#define RAMDISK_LOAD_FLAG 0x4000 + +/* loadflags */ +#define LOADED_HIGH (1<<0) +#define KASLR_FLAG (1<<1) +#define QUIET_FLAG (1<<5) +#define KEEP_SEGMENTS (1<<6) +#define CAN_USE_HEAP (1<<7) + +/* xloadflags */ +#define XLF_KERNEL_64 (1<<0) +#define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1) +#define XLF_EFI_HANDOVER_32 (1<<2) +#define XLF_EFI_HANDOVER_64 (1<<3) +#define XLF_EFI_KEXEC (1<<4) + + +#endif /* _ASM_X86_BOOTPARAM_H */ diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh index 0a964fe..3578cfe 100755 --- a/scripts/update-linux-headers.sh +++ b/scripts/update-linux-headers.sh @@ -120,6 +120,12 @@ for arch in $ARCHLIST; do cp "$tmpdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/" cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/" cp_portable "$tmpdir/include/asm/kvm_para.h" "$output/include/standard-headers/asm-$arch" + # Remove everything except the macros from bootparam.h avoiding the + # unnecessary import of several video/ist/etc headers + sed -e '/__ASSEMBLY__/,/__ASSEMBLY__/d' \ + "$tmpdir/include/asm/bootparam.h" > "$tmpdir/bootparam.h" + cp_portable "$tmpdir/bootparam.h" \ + "$output/include/standard-headers/asm-$arch" fi done From patchwork Tue Feb 5 18:14:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037055 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="d83chxxH"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDBG5y6qz9s7T for ; Wed, 6 Feb 2019 05:48:54 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37814 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5m8-0003cS-Jq for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:48:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36418) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gd-0002cS-W7 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00047r-BQ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:19 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:37937) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-0003zj-LO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wr1-x441.google.com with SMTP id v13so4717969wrw.5 for ; Tue, 05 Feb 2019 10:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=2ZmDsNTvSqq9wAUp4eF9ynOF4kD3WulPOABTzSsTzHQ=; b=d83chxxHcF4/0EFbdxko1+Q0OykaoS8jm+a+XRCAB0UvJGGRqsEEaYxEZB62qxoGkK QEhX/PfvaYK9osqDZpW0u+/JSuGbhU/V/+BwYD+ccTJ82rkB2TG9myN0vMfIyZL8VP5R P5f/M5eE23EDHNHwvKBMvdcRpQimdb6vQ12BHmWDilognQGtFXC1VSfQLhAv4vYuaTWq c7ezRtzXuiTzoAeWrpGGJK8eHM0QYOKiR1DZ5TPqE0Sxo5C/v/UM2zF+4kfPxtN5m7m9 k1BujQSpK34wp+RTUXQJX0WHD92dyjNyqJ1ccXBtJL5nZCogwaFh2qlTVBpWQj1Iyx8U N2Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=2ZmDsNTvSqq9wAUp4eF9ynOF4kD3WulPOABTzSsTzHQ=; b=ebJC215RXEFFpFWHKYLnT4Rv38jf1ekjq9K1TaoJULlI1T7Qt98rMfyjjVCZD9PwZ9 GheIztL+6d2LWTOcT0ouY9EhLYKmGLiSbKrhfxxlCobPxb9AhRoX3GtFHEJIsd3nEYbA tC8KwX47nKikb251UuI7Dj8eIEZELnONTcUCVkmvqau+V3eMAqJUFdB0fzDvw7iOV7us FnzdyjD8Bs3eC7q1aqaoLhbWX23GbQzVIwqgIGnUmGCYZ59mOX2oFJiDS/6LnI5xlAl2 7dTDNnzrHcb915CbGa4FWZhHAbBl569UDoqV//3F97qymvBZuxBCko2HQSP70v1tEtXF Dh1w== X-Gm-Message-State: AHQUAuauTfxjThRU7oJwfUriohErpuKtCVW4R2q6wor62wRdQvadFmME 2Ve4KMOmPq790QnGYYRb54B9pI+B X-Google-Smtp-Source: AHgI3IYTEBUdP5HCtHlhVtsZ6K9bU+FQgLShZ/sddDcePkzefzU7pMuC8VZQsDboL5cz450NQIytUg== X-Received: by 2002:a5d:6187:: with SMTP id j7mr4707264wru.300.1549390567327; Tue, 05 Feb 2019 10:16:07 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:06 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:48 +0100 Message-Id: <1549390526-24246-39-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PULL 38/76] i386: allow to load initrd below 4 GB for recent linux X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S. Tsirkin" , Eduardo Habkost , Li Zhijian , Richard Henderson Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian Since linux commit: cf8fa920cb42 ("i386: handle an initrd in highmem (version 2)") linux has supported initrd up to 4 GB, but the header field ramdisk_max is still set to 2 GB to avoid "possible bootloader bugs". When use '-kernel vmlinux -initrd initrd.cgz' to launch a VM, the firmware(it could be linuxboot_dma.bin) helps to read initrd contents into guest memory(below ramdisk_max) and jump to kernel. that's similar with what bootloader does, like grub. In addition, initrd_max is uint32_t simply because QEMU doesn't support the 64-bit boot protocol (specifically the ext_ramdisk_image field). Therefore here just limit initrd_max to UINT32_MAX simply as well to allow initrd to be loaded below 4 GB. NOTE: it's possible that linux protocol within [0x208, 0x20c] supports up to 4 GB initrd as well. CC: Paolo Bonzini CC: Richard Henderson CC: Eduardo Habkost CC: "Michael S. Tsirkin" CC: Marcel Apfelbaum Signed-off-by: Li Zhijian Reviewed-by: Eduardo Habkost Reviewed-by: Stefano Garzarella Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 9664822..7d8f351 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1299,7 +1299,26 @@ static void load_linux(PCMachineState *pcms, #endif /* highest address for loading the initrd */ - if (protocol >= 0x203) { + if (protocol >= 0x20c && + lduw_p(header+0x236) & XLF_CAN_BE_LOADED_ABOVE_4G) { + /* + * Linux has supported initrd up to 4 GB for a very long time (2007, + * long before XLF_CAN_BE_LOADED_ABOVE_4G which was added in 2013), + * though it only sets initrd_max to 2 GB to "work around bootloader + * bugs". Luckily, QEMU firmware(which does something like bootloader) + * has supported this. + * + * It's believed that if XLF_CAN_BE_LOADED_ABOVE_4G is set, initrd can + * be loaded into any address. + * + * In addition, initrd_max is uint32_t simply because QEMU doesn't + * support the 64-bit boot protocol (specifically the ext_ramdisk_image + * field). + * + * Therefore here just limit initrd_max to UINT32_MAX simply as well. + */ + initrd_max = UINT32_MAX; + } else if (protocol >= 0x203) { initrd_max = ldl_p(header+0x22c); } else { initrd_max = 0x37ffffff; From patchwork Tue Feb 5 18:14:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037048 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fivVHCS9"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD3K0yDmz9sDX for ; Wed, 6 Feb 2019 05:42:53 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37729 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5gJ-00079B-40 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:42:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36329) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gb-0002Zg-IY for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5GZ-00045j-KF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:43587) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5GV-00040G-OA for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:13 -0500 Received: by mail-wr1-x432.google.com with SMTP id r2so4685358wrv.10 for ; Tue, 05 Feb 2019 10:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=s/KgG4lTubO5Xnhl4ERqxCUZDUrKTy0ix5R+4thLcLw=; b=fivVHCS922L0jXQCzCwiEHCYk5ce0poZCbWU0mW6CeqfYRwQm4tgz7t5nmEHEJjzOJ 6kYuV9k81i4FlvMLd8bycc5x/HpPAYoJ5Lxg2ysKnTPBuov3DEoyzbmz+FW5XoxZ+PRq OxN2VqYJwvGSkhWyfqAWJdMptNDp6JFiIgAD0tyELchvlcl0HZybVp7Fgt/Dw1r+L0VR pak4jXGSj6HaCRKg+I5xD5PiqxDw8G2KwRLT4cmmzLAtFcaySnzoDYLXZt2qE8EcMMOc M59ngBJwDqH74yuua81CZZjrFLL3AFFkd6ihIBHCi4cs9AAQuvn/EVxyTBuBdLq6Jdh8 0ebA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=s/KgG4lTubO5Xnhl4ERqxCUZDUrKTy0ix5R+4thLcLw=; b=MGuAGy4Qui+kJDjArfPd8nzafy5NG++5/cD/gOvvCcJwBRBjGqvmtmmoRvrMazj5eZ UwxXhegjGpGubKxEhlgv/RmG6y28yon51AwTFsG6/qVntvF9FTEqAl+oi7xV2iMVt0iQ VgEwtL121oIP1a3tBrEA7JE2o0H/3d5Bn2tI48KJHXDudQF0dR7UG8wWGq9BB+6PQdva TrDM75qZbP/PFA5y6Z16tF4y7M2slFOepSbKUHFyCFfeRKdKoy8SZJB4kXK5lJNPuwK7 lYfbi+Kl4lLnMbeUQyUqvXH4Cz+4By2vDYOT41GscJPXS+339pNEDzrIiABaiN7T0Ue4 DaLg== X-Gm-Message-State: AHQUAuazmgeZJgsyPM/xGdSOU3SZcklZKUDP6EmHMz7TysDl/ieDIHBP P0VNN7JRK50MLhdPDmqKhQbg5fDz X-Google-Smtp-Source: AHgI3IawJdZ+SmdvoF/klUc7Dzz8OeN71NtDiu5X6yjObeFn4G+MsIsYK87usCHkacF87cCaUajXXg== X-Received: by 2002:a5d:60cc:: with SMTP id x12mr4481710wrt.193.1549390568883; Tue, 05 Feb 2019 10:16:08 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:07 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:49 +0100 Message-Id: <1549390526-24246-40-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::432 Subject: [Qemu-devel] [PULL 39/76] docker: adjust Xen repository for CentOS 7 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The Xen repository is failing to install, pick the right name for the release package. Signed-off-by: Paolo Bonzini --- tests/docker/dockerfiles/centos7.docker | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker index e0f18f5..e0b9d7d 100644 --- a/tests/docker/dockerfiles/centos7.docker +++ b/tests/docker/dockerfiles/centos7.docker @@ -1,5 +1,6 @@ FROM centos:7 -RUN yum install -y epel-release centos-release-xen +RUN yum install -y epel-release centos-release-xen-48 + RUN yum -y update ENV PACKAGES \ bison \ @@ -8,7 +9,7 @@ ENV PACKAGES \ ccache \ csnappy-devel \ flex \ - g++ \ + gcc-c++ \ gcc \ gettext \ git \ From patchwork Tue Feb 5 18:14:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037102 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Qh3UPCug"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDc06dvlz9s7T for ; Wed, 6 Feb 2019 06:07:44 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38106 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr64M-0002SP-QH for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:07:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gd-0002bB-4H for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00047g-6j for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:19 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:50506) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-00041x-Kn for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wm1-x342.google.com with SMTP id z5so4669304wmf.0 for ; Tue, 05 Feb 2019 10:16:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=tA2jlZTIBs8Nb/dH8CrSBeXx6EsmTO9sShcsouJF7kI=; b=Qh3UPCugd6+RBln+Uyk3MgFwqbgjv1zt+dlY08IeASZMxOaG1cC2QuUlMq65oXSN4+ PZF1zXQb68Q2wO+J58C+/pnubIIWNLIuNq0iQB8GzOng+EDuX3vKDcWD7E7NN8b28Xvf gC6Kvw0X3VmkoKQnbfJY2w7dbHPCoygvycgPKpTpz0IGePNa/dMW3WdXXlFMnjIXEHHu 5RcO269Kz3xPKMSpaJX802ycXyGhWsLaRaoaffyH5JqUcGJWDrkPwrrZC9FyBkhPwDB/ v9TVk5Z6bdDiWbeLlEI4ycD8DN7gSf70d6hmwGxa9T7vN8dtPI9m8wddej1enw2fb6da 9DaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=tA2jlZTIBs8Nb/dH8CrSBeXx6EsmTO9sShcsouJF7kI=; b=TKIdS6AeXy37Ej667ts5J1wqF5vA8VHPirtoYz/elTFdiF/ucu7lGjE/r97QSChXzi 1B9R9fbcSrlhJIR2GIybSWAYNlCVP34tXkQf752qbDjuefedzBS3NHuWHL3HKCUtchkx LS4Bu0DIv/HneVHw0p+agvp0PxYW6s8CYbO0jIyurHsxHrHKiveUuQsBudCDb9Q72XDL PRLRv/SmDxU1qjbQWBzfx4YieqYFEtXvXecLmof9LxDj8JI4mRGbC7ay4lWrpYmq5u+J AoppNCrQsf57yNbCMaC/nlRKKUqSEF0BYRrEyK7tk86c8Rc1jnrRaiHhwkidcwcCRzKk 8gCw== X-Gm-Message-State: AHQUAubEhq4DVHwcyWPAdLG7DvziL8pybxdPVRkMAL4XnPtpZXgKfvdq FZp94NMR5cdJPiG6zx9qEWpQYk9+ X-Google-Smtp-Source: AHgI3IYwRH9hZMpJLYQ+77QUl1NvkxP2w28Tz8Lp3De+4wdPy4QakGuQrufvNgjkec5rxvyHZNk83g== X-Received: by 2002:a1c:ac85:: with SMTP id v127mr20918wme.62.1549390569957; Tue, 05 Feb 2019 10:16:09 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:09 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:50 +0100 Message-Id: <1549390526-24246-41-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 Subject: [Qemu-devel] [PULL 40/76] i386: hvf: Don't miss 16-bit displacement X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Roman Bolshakov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Roman Bolshakov In 16-bit addressing mode, when Mod = 0 and R/M = 6, decoded displacement doesn't reach decode_linear_addr and gets lost. Instructions that involve the combination of ModRM always get a pointer with zero offset from the beginning of DS segment. The change fixes drawing in F-BIRD from day 1 of '18 advent calendar. Signed-off-by: Roman Bolshakov Message-Id: <20190125154743.14498-1-r.bolshakov@yadro.com> Signed-off-by: Paolo Bonzini --- target/i386/hvf/x86_decode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/hvf/x86_decode.c b/target/i386/hvf/x86_decode.c index 5f513c5..9ef7d75 100644 --- a/target/i386/hvf/x86_decode.c +++ b/target/i386/hvf/x86_decode.c @@ -1642,7 +1642,7 @@ void calc_modrm_operand16(CPUX86State *env, struct x86_decode *decode, X86Seg seg = R_DS; if (!decode->modrm.mod && 6 == decode->modrm.rm) { - op->ptr = (uint16_t)decode->displacement; + ptr = decode->displacement; goto calc_addr; } From patchwork Tue Feb 5 18:14:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037077 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cxKwvBQs"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDRf3SD6z9s7T for ; Wed, 6 Feb 2019 06:00:27 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37979 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5xI-00059l-NZ for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:00:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gl-0002kd-Dd for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00048T-KY for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:27 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:37801) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-00043y-LW for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: by mail-wm1-x32c.google.com with SMTP id g67so4751865wmd.2 for ; Tue, 05 Feb 2019 10:16:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=GMaciAI6fR3ISGKcuLXOoaMIb7/BktbacbO1fFNQRY0=; b=cxKwvBQstn8GN903KvDxtZIRjqUX7uZsHLTKpV+iSIFPzFaeUAXUkyuCOn8tOS7z91 Te6ZbXn/QQd17s/orKK0PB3YHsY5fw8Jmc5PCvTu2Zrw4uzOATylWOMJUoojNkVZxji3 h4cwzTOqwzx/VkhgdcmNb5CN3sE38ezFoWS3q5IAE4pli39s6Qkvyeuevd2k1ZEKo0HK 7l+pUxV7mW31Y0YAVG80x+3A/W9ytDj4K1jBZNbtFMJewuPk82lrcpfVtOTPyKlZ7ARy TLaSVwv//Trd2rvhisDgwMPqqXBaEFwwmZ1GCTHLb0UeOWCdAcSUPd9zGpbdwFQckeVE akDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=GMaciAI6fR3ISGKcuLXOoaMIb7/BktbacbO1fFNQRY0=; b=n6xseCX30wljvSEpD+Sg5MArbItM140PQEviRSg0xZDx+zt7fqBepKcZK149K8arrK 0a8e5he5oBwp7001mh/sWIFLUIL5qmty2MRxZQjLR10JGwnhe4YSdSgwxrhpDDXMCNoM byMlUhV1Z5aGQCgrJs10SCfcIbrkguNuNi/3T6V7j/c/lAak/jiuknIgM0ZEggXaOI4X /us69HiwefXHZK0rDpvAYa3kXs62HhRgK8Hw/tg08H5j+XwoK1l1jVb6nsx02e8TK0sH 6/inVQb8lJMsfmhgonufGb8pjjFhKsn3w2LppeH6SILzQ9tbEOV0EiNonZdEOdlBaKdg J3rQ== X-Gm-Message-State: AHQUAuYCUFE4Ukat/TB2jrwbvcthxmBtS7zeIkKN5EfdbzwSoDMdCt3e R7LgqcUipgeoUWFuGp51QEtIvkS6 X-Google-Smtp-Source: AHgI3IZrQ+gsnsPxkRJ00U/KHyEEFtYU3TmTAi1ikeAYRlTgEul0gaavSwp0iXDtUsKtNIbo4myItw== X-Received: by 2002:a1c:2408:: with SMTP id k8mr14655wmk.110.1549390570937; Tue, 05 Feb 2019 10:16:10 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:10 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:51 +0100 Message-Id: <1549390526-24246-42-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c Subject: [Qemu-devel] [PULL 41/76] gdbstub: Fix i386/x86_64 machine description and add control registers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Doug Gale Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Doug Gale The machine description we send is being (silently) thrown on the floor by GDB and GDB silently uses the default machine description, because the xml parse fails on nested within . Changes to the xml in qemu source code have no effect. In addition, the default machine description has fs_base, which fails to be retrieved, which breaks the whole register window. Add it and the other control registers. Signed-off-by: Doug Gale Message-Id: <20190124040457.2546-1-doug16k@gmail.com> Signed-off-by: Paolo Bonzini --- configure | 4 +- gdb-xml/i386-32bit-core.xml | 65 -------------- gdb-xml/i386-32bit-sse.xml | 52 ----------- gdb-xml/i386-32bit.xml | 184 +++++++++++++++++++++++++++++++++++++- gdb-xml/i386-64bit-core.xml | 73 --------------- gdb-xml/i386-64bit-sse.xml | 60 ------------- gdb-xml/i386-64bit.xml | 210 +++++++++++++++++++++++++++++++++++++++++++- target/i386/cpu.c | 4 +- target/i386/gdbstub.c | 193 +++++++++++++++++++++++++++++++++++++++- 9 files changed, 580 insertions(+), 265 deletions(-) delete mode 100644 gdb-xml/i386-32bit-core.xml delete mode 100644 gdb-xml/i386-32bit-sse.xml delete mode 100644 gdb-xml/i386-64bit-core.xml delete mode 100644 gdb-xml/i386-64bit-sse.xml diff --git a/configure b/configure index 244bc7a..558170c 100755 --- a/configure +++ b/configure @@ -7137,14 +7137,14 @@ TARGET_ABI_DIR="" case "$target_name" in i386) mttcg="yes" - gdb_xml_files="i386-32bit.xml i386-32bit-core.xml i386-32bit-sse.xml" + gdb_xml_files="i386-32bit.xml" target_compiler=$cross_cc_i386 target_compiler_cflags=$cross_cc_ccflags_i386 ;; x86_64) TARGET_BASE_ARCH=i386 mttcg="yes" - gdb_xml_files="i386-64bit.xml i386-64bit-core.xml i386-64bit-sse.xml" + gdb_xml_files="i386-64bit.xml" target_compiler=$cross_cc_x86_64 ;; alpha) diff --git a/gdb-xml/i386-32bit-core.xml b/gdb-xml/i386-32bit-core.xml deleted file mode 100644 index 7aeeeca..0000000 --- a/gdb-xml/i386-32bit-core.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb-xml/i386-32bit-sse.xml b/gdb-xml/i386-32bit-sse.xml deleted file mode 100644 index 5767847..0000000 --- a/gdb-xml/i386-32bit-sse.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb-xml/i386-32bit.xml b/gdb-xml/i386-32bit.xml index 956fc7f..872fcea 100644 --- a/gdb-xml/i386-32bit.xml +++ b/gdb-xml/i386-32bit.xml @@ -8,7 +8,185 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gdb-xml/i386-64bit-core.xml b/gdb-xml/i386-64bit-core.xml deleted file mode 100644 index 5088d84..0000000 --- a/gdb-xml/i386-64bit-core.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb-xml/i386-64bit-sse.xml b/gdb-xml/i386-64bit-sse.xml deleted file mode 100644 index e86efc9..0000000 --- a/gdb-xml/i386-64bit-sse.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gdb-xml/i386-64bit.xml b/gdb-xml/i386-64bit.xml index 0b2f00c..6d88969 100644 --- a/gdb-xml/i386-64bit.xml +++ b/gdb-xml/i386-64bit.xml @@ -5,10 +5,212 @@ are permitted in any medium without royalty provided the copyright notice and this notice are preserved. --> - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6f3b841..b077196 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5870,10 +5870,10 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data) cc->gdb_arch_name = x86_gdb_arch_name; #ifdef TARGET_X86_64 cc->gdb_core_xml_file = "i386-64bit.xml"; - cc->gdb_num_core_regs = 57; + cc->gdb_num_core_regs = 66; #else cc->gdb_core_xml_file = "i386-32bit.xml"; - cc->gdb_num_core_regs = 41; + cc->gdb_num_core_regs = 50; #endif #if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY) cc->debug_excp_handler = breakpoint_handler; diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c index 9b94ab8..1221433 100644 --- a/target/i386/gdbstub.c +++ b/target/i386/gdbstub.c @@ -32,18 +32,61 @@ static const int gpr_map[16] = { #endif static const int gpr_map32[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +/* + * Keep these in sync with assignment to + * gdb_num_core_regs in target/i386/cpu.c + * and with the machine description + */ + +/* + * SEG: 6 segments, plus fs_base, gs_base, kernel_gs_base + */ + +/* + * general regs -----> 8 or 16 + */ +#define IDX_NB_IP 1 +#define IDX_NB_FLAGS 1 +#define IDX_NB_SEG (6 + 3) +#define IDX_NB_CTL 6 +#define IDX_NB_FP 16 +/* + * fpu regs ----------> 8 or 16 + */ +#define IDX_NB_MXCSR 1 +/* + * total ----> 8+1+1+9+6+16+8+1=50 or 16+1+1+9+6+16+16+1=66 + */ + #define IDX_IP_REG CPU_NB_REGS -#define IDX_FLAGS_REG (IDX_IP_REG + 1) -#define IDX_SEG_REGS (IDX_FLAGS_REG + 1) -#define IDX_FP_REGS (IDX_SEG_REGS + 6) -#define IDX_XMM_REGS (IDX_FP_REGS + 16) +#define IDX_FLAGS_REG (IDX_IP_REG + IDX_NB_IP) +#define IDX_SEG_REGS (IDX_FLAGS_REG + IDX_NB_FLAGS) +#define IDX_CTL_REGS (IDX_SEG_REGS + IDX_NB_SEG) +#define IDX_FP_REGS (IDX_CTL_REGS + IDX_NB_CTL) +#define IDX_XMM_REGS (IDX_FP_REGS + IDX_NB_FP) #define IDX_MXCSR_REG (IDX_XMM_REGS + CPU_NB_REGS) +#define IDX_CTL_CR0_REG (IDX_CTL_REGS + 0) +#define IDX_CTL_CR2_REG (IDX_CTL_REGS + 1) +#define IDX_CTL_CR3_REG (IDX_CTL_REGS + 2) +#define IDX_CTL_CR4_REG (IDX_CTL_REGS + 3) +#define IDX_CTL_CR8_REG (IDX_CTL_REGS + 4) +#define IDX_CTL_EFER_REG (IDX_CTL_REGS + 5) + +#ifdef TARGET_X86_64 +#define GDB_FORCE_64 1 +#else +#define GDB_FORCE_64 0 +#endif + + int x86_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n) { X86CPU *cpu = X86_CPU(cs); CPUX86State *env = &cpu->env; + uint64_t tpr; + /* N.B. GDB can't deal with changes in registers or sizes in the middle of a session. So if we're in 32-bit mode on a 64-bit cpu, still act as if we're on a 64-bit cpu. */ @@ -105,6 +148,28 @@ int x86_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n) case IDX_SEG_REGS + 5: return gdb_get_reg32(mem_buf, env->segs[R_GS].selector); + case IDX_SEG_REGS + 6: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->segs[R_FS].base); + } + return gdb_get_reg32(mem_buf, env->segs[R_FS].base); + + case IDX_SEG_REGS + 7: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->segs[R_GS].base); + } + return gdb_get_reg32(mem_buf, env->segs[R_GS].base); + + case IDX_SEG_REGS + 8: +#ifdef TARGET_X86_64 + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->kernelgsbase); + } + return gdb_get_reg32(mem_buf, env->kernelgsbase); +#else + return gdb_get_reg32(mem_buf, 0); +#endif + case IDX_FP_REGS + 8: return gdb_get_reg32(mem_buf, env->fpuc); case IDX_FP_REGS + 9: @@ -125,6 +190,47 @@ int x86_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n) case IDX_MXCSR_REG: return gdb_get_reg32(mem_buf, env->mxcsr); + + case IDX_CTL_CR0_REG: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->cr[0]); + } + return gdb_get_reg32(mem_buf, env->cr[0]); + + case IDX_CTL_CR2_REG: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->cr[2]); + } + return gdb_get_reg32(mem_buf, env->cr[2]); + + case IDX_CTL_CR3_REG: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->cr[3]); + } + return gdb_get_reg32(mem_buf, env->cr[3]); + + case IDX_CTL_CR4_REG: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->cr[4]); + } + return gdb_get_reg32(mem_buf, env->cr[4]); + + case IDX_CTL_CR8_REG: +#ifdef CONFIG_SOFTMMU + tpr = cpu_get_apic_tpr(cpu->apic_state); +#else + tpr = 0; +#endif + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, tpr); + } + return gdb_get_reg32(mem_buf, tpr); + + case IDX_CTL_EFER_REG: + if ((env->hflags & HF_CS64_MASK) || GDB_FORCE_64) { + return gdb_get_reg64(mem_buf, env->efer); + } + return gdb_get_reg32(mem_buf, env->efer); } } return 0; @@ -229,6 +335,32 @@ int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) case IDX_SEG_REGS + 5: return x86_cpu_gdb_load_seg(cpu, R_GS, mem_buf); + case IDX_SEG_REGS + 6: + if (env->hflags & HF_CS64_MASK) { + env->segs[R_FS].base = ldq_p(mem_buf); + return 8; + } + env->segs[R_FS].base = ldl_p(mem_buf); + return 4; + + case IDX_SEG_REGS + 7: + if (env->hflags & HF_CS64_MASK) { + env->segs[R_GS].base = ldq_p(mem_buf); + return 8; + } + env->segs[R_GS].base = ldl_p(mem_buf); + return 4; + +#ifdef TARGET_X86_64 + case IDX_SEG_REGS + 8: + if (env->hflags & HF_CS64_MASK) { + env->kernelgsbase = ldq_p(mem_buf); + return 8; + } + env->kernelgsbase = ldl_p(mem_buf); + return 4; +#endif + case IDX_FP_REGS + 8: cpu_set_fpuc(env, ldl_p(mem_buf)); return 4; @@ -253,6 +385,59 @@ int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) case IDX_MXCSR_REG: cpu_set_mxcsr(env, ldl_p(mem_buf)); return 4; + + case IDX_CTL_CR0_REG: + if (env->hflags & HF_CS64_MASK) { + cpu_x86_update_cr0(env, ldq_p(mem_buf)); + return 8; + } + cpu_x86_update_cr0(env, ldl_p(mem_buf)); + return 4; + + case IDX_CTL_CR2_REG: + if (env->hflags & HF_CS64_MASK) { + env->cr[2] = ldq_p(mem_buf); + return 8; + } + env->cr[2] = ldl_p(mem_buf); + return 4; + + case IDX_CTL_CR3_REG: + if (env->hflags & HF_CS64_MASK) { + cpu_x86_update_cr3(env, ldq_p(mem_buf)); + return 8; + } + cpu_x86_update_cr3(env, ldl_p(mem_buf)); + return 4; + + case IDX_CTL_CR4_REG: + if (env->hflags & HF_CS64_MASK) { + cpu_x86_update_cr4(env, ldq_p(mem_buf)); + return 8; + } + cpu_x86_update_cr4(env, ldl_p(mem_buf)); + return 4; + + case IDX_CTL_CR8_REG: + if (env->hflags & HF_CS64_MASK) { +#ifdef CONFIG_SOFTMMU + cpu_set_apic_tpr(cpu->apic_state, ldq_p(mem_buf)); +#endif + return 8; + } +#ifdef CONFIG_SOFTMMU + cpu_set_apic_tpr(cpu->apic_state, ldl_p(mem_buf)); +#endif + return 4; + + case IDX_CTL_EFER_REG: + if (env->hflags & HF_CS64_MASK) { + cpu_load_efer(env, ldq_p(mem_buf)); + return 8; + } + cpu_load_efer(env, ldl_p(mem_buf)); + return 4; + } } /* Unrecognised register. */ From patchwork Tue Feb 5 18:14:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037106 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VzlUSqzx"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDgY6p6pz9s7T for ; Wed, 6 Feb 2019 06:10:49 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr67L-00050F-Rr for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:10:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36430) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ge-0002cY-4P for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00048c-Mw for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:53038) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gc-00044I-5d for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: by mail-wm1-x331.google.com with SMTP id m1so4688284wml.2 for ; Tue, 05 Feb 2019 10:16:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=Q4q/94jj+z0ypX5AER6s+SzJaldmbQ9+tU9nQ4E88ko=; b=VzlUSqzxT8UwjhiwhYyy480v+2j/1kYaTYG3LI9j1R7JdDKnR39BOoCXgfHsTWkCl6 Tjj3urhjGnPpiFkrr+yLwi6Tfis/fWTuUtNfzDJ0aoz+0eQz3+tFXMmcuKf1GCQHu7Oy uQL4pIx/jSN8exQtKeV2HG2XDMXbyVKZviF23GZXoInFeLxwSh+C95oCqKJ6OBVGB41T FVkdECm1SNsIcH3x5mCjgsEYXqVYRuWypfwgW5vr7PS9F0oAA8j/fQxRjSW3xtAj37BQ ktHA6eWPYJOnW2U8NqFwohD/RwrUXFEZzXjXyFzKnIb26Q+R9Nbbqpoy2BfYcoKsa75z zdoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=Q4q/94jj+z0ypX5AER6s+SzJaldmbQ9+tU9nQ4E88ko=; b=XoBVT3VPbO0mB0O3UCArruNBU/dJsMJa9lZ889IkpXoNb8kDQhScOcwUSRhFfdC32y Kgm0GYUL/obkp910ZFdWvmsdfbBdEzc7l55DjeiXRxLzMeDIWEy8Vhgf3hdeF2N4iNty 8/4ExDdYhuPsmCZtcJRa1KiM/2EMhjAwMPmpUFh7VyMQv/v26eQ69uq7kmCFNLwJeRB5 BanIkOrDGDAvRKtkea8drDs7ZASV1STOhPjqOomNttkJCRSrneN8u0ukD6yPHCQly+eU W7IfXm48S4S44BGMOhhHUjvjjw41Y9R6ZTx6IuaKMkaPLvQJEO1c2KNPQrRfrOyd4iDk oqXA== X-Gm-Message-State: AHQUAuYXOkpyyfNvV1DeMa+5AIEtwylufY9aEBhNPsq8F6ETh7f+O9yd ZKfbI/XWMF2mufc4cILExfN26Qt/ X-Google-Smtp-Source: AHgI3IZDTR/TPO4vVjU14TIIpjRa0x0ZFHvSxS1CvLU4oQuK4L++N37Hcyf7EDQayVsJjQFHgbP8/A== X-Received: by 2002:a7b:c191:: with SMTP id y17mr22927wmi.60.1549390571928; Tue, 05 Feb 2019 10:16:11 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.10 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:11 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:52 +0100 Message-Id: <1549390526-24246-43-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::331 Subject: [Qemu-devel] [PULL 42/76] scsi-generic: avoid possible out-of-bounds access to r->buf X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Whenever the allocation length of a SCSI request is shorter than the size of the VPD page list, page_idx is used blindly to index into r->buf. Even though the stores in the insertion sort are protected against overflows, the same is not true of the reads and the final store of 0xb0. This basically does the same thing as commit 57dbb58d80 ("scsi-generic: avoid out-of-bounds access to VPD page list", 2018-11-06), except that here the allocation length can be chosen by the guest. Note that according to the SCSI standard, the contents of the PAGE LENGTH field are not altered based on the allocation length. The code was introduced by commit 6c219fc8a1 ("scsi-generic: keep VPD page list sorted", 2018-11-06) but the overflow was already possible before. Reported-by: Kevin Wolf Fixes: a71c775b24ebc664129eb1d9b4c360590353efd5 Signed-off-by: Paolo Bonzini --- hw/scsi/scsi-generic.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c index 7237b41..42700e8 100644 --- a/hw/scsi/scsi-generic.c +++ b/hw/scsi/scsi-generic.c @@ -182,7 +182,7 @@ static void scsi_handle_inquiry_reply(SCSIGenericReq *r, SCSIDevice *s) /* Also take care of the opt xfer len. */ stl_be_p(&r->buf[12], MIN_NON_ZERO(max_transfer, ldl_be_p(&r->buf[12]))); - } else if (s->needs_vpd_bl_emulation && page == 0x00) { + } else if (s->needs_vpd_bl_emulation && page == 0x00 && r->buflen >= 4) { /* * Now we're capable of supplying the VPD Block Limits * response if the hardware can't. Add it in the INQUIRY @@ -193,18 +193,20 @@ static void scsi_handle_inquiry_reply(SCSIGenericReq *r, SCSIDevice *s) * and will use it to proper setup the SCSI device. * * VPD page numbers must be sorted, so insert 0xb0 at the - * right place with an in-place insert. After the initialization - * part of the for loop is executed, the device response is - * at r[0] to r[page_idx - 1]. + * right place with an in-place insert. When the while loop + * begins the device response is at r[0] to r[page_idx - 1]. */ - for (page_idx = lduw_be_p(r->buf + 2) + 4; - page_idx > 4 && r->buf[page_idx - 1] >= 0xb0; - page_idx--) { + page_idx = lduw_be_p(r->buf + 2) + 4; + page_idx = MIN(page_idx, r->buflen); + while (page_idx > 4 && r->buf[page_idx - 1] >= 0xb0) { if (page_idx < r->buflen) { r->buf[page_idx] = r->buf[page_idx - 1]; } + page_idx--; + } + if (page_idx < r->buflen) { + r->buf[page_idx] = 0xb0; } - r->buf[page_idx] = 0xb0; stw_be_p(r->buf + 2, lduw_be_p(r->buf + 2) + 1); } } From patchwork Tue Feb 5 18:14:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037113 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="M5n6Mjgr"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDp90TBPz9s7h for ; Wed, 6 Feb 2019 06:16:31 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6Cr-0001OY-Rg for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:16:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36461) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ge-0002dY-QD for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00048o-Ou for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:54478) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gc-00044i-DX for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:18 -0500 Received: by mail-wm1-x333.google.com with SMTP id a62so4680165wmh.4 for ; Tue, 05 Feb 2019 10:16:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=FxQL0I6zVjrBGwNj7hWkkkzdytQIz4zftpZnZb8SJ3o=; b=M5n6MjgrYFArRruZw79T3SakTpCDKN5pM7y/OG/6+y212Y5VncWMGKt6yUFQHHYaAo Aj6UU7Na4+i8k83//l5rUk0MV75NHidf29gz7dBchAapNXns6gK8JXEWxsUEBmmEsEM7 NOjF+xv8N9lm34wnMjZRwF+yhJZ0psMk78mffs1ruRNqNFfplXPi8qa/BBFXiqMJVFsj bqrj4TYm6U4PYA9EhB0YTDGCWs0l+aF8eOctHD1t0hMbrUrn0MXsEbc3ubu9OLKKHpbW X6rc0xs+aW0QMT2koQzPNlsRmh+OP4dLI0NqfWATVvpsSicfn2KOKM3K65D6qmjGAx63 0yxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=FxQL0I6zVjrBGwNj7hWkkkzdytQIz4zftpZnZb8SJ3o=; b=YQQT/8xT5YdAfdyxtP8g3/rJPHSuFvC4MkShot9d2UpGOoDjcwXDe+1b1d4fJmHVcj Ub2KT9F3889Dq7RN1yvSRe9SelDmbMgdkrACJXKN3+6sSxP2DaKwBmF9C1QMaiMEMdt8 9A09f95+DTk3kz66DLTOogTD577I4Ru9qNyhjaIh0dlHWyusXb9QjAxwal9NbDOEMyNK AvckifDMSQ9pBtfqJMRrl0bMN/sSrbs0C5ef57plA1vdfkWK9X+HTSXgDYrMI1lJiKoP YTozSzewqnwl0k7SseXNSeW3MlRgPZqjQlNFyqobUraLc1LI/a2YPw/ror8yQPwwsQT7 lCZw== X-Gm-Message-State: AHQUAuZxJfu0vnWpoFEdF8Y8sAoGTwIY/F523QdC2hozVIBfd6jC0V/C oa3kfOY2C6DoWj1fiGvCkUk+gNAO X-Google-Smtp-Source: AHgI3IYCULSwpNIMAz9niEDyyEmnwav9i7wfBj53QGMYIuCepxATqgjWB+T7Ucu+yzWXJJbGHAtLwA== X-Received: by 2002:a7b:c218:: with SMTP id x24mr23811wmi.58.1549390572905; Tue, 05 Feb 2019 10:16:12 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:12 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:53 +0100 Message-Id: <1549390526-24246-44-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 Subject: [Qemu-devel] [PULL 43/76] Remove deprecated -enable-hax option X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Thomas Huth Our command line interface is really quite overcrowded, we should avoid duplicated options that do the same thing in just a slightly different way. "-accel hax" is shorter and more generic that "-enable-hax", so there is really no real usage for the latter option. "-enable-hax" has been deprecated since two releases, and nobody complained so far, so it's time to remove this now. Signed-off-by: Thomas Huth Message-Id: <1544790073-23049-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini --- qemu-deprecated.texi | 5 ----- qemu-options.hx | 11 ----------- vl.c | 5 ----- 3 files changed, 21 deletions(-) diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index 8a6174d..dcf85a9 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -53,11 +53,6 @@ Option @option{-virtioconsole} has been replaced by The @code{-clock} option is ignored since QEMU version 1.7.0. There is no replacement since it is not needed anymore. -@subsection -enable-hax (since 3.0.0) - -The @option{-enable-hax} option has been replaced by @option{-accel hax}. -Both options have been introduced in QEMU version 2.9.0. - @subsection -drive file=json:@{...@{'driver':'file'@}@} (since 3.0) The 'file' driver for drives is no longer appropriate for character or host diff --git a/qemu-options.hx b/qemu-options.hx index 521511e..8f34dce 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3381,17 +3381,6 @@ Enable KVM full virtualization support. This option is only available if KVM support is enabled when compiling. ETEXI -DEF("enable-hax", 0, QEMU_OPTION_enable_hax, \ - "-enable-hax enable HAX virtualization support\n", QEMU_ARCH_I386) -STEXI -@item -enable-hax -@findex -enable-hax -Enable HAX (Hardware-based Acceleration eXecution) support. This option -is only available if HAX support is enabled when compiling. HAX is only -applicable to MAC and Windows platform, and thus does not conflict with -KVM. This option is deprecated, use @option{-accel hax} instead. -ETEXI - DEF("xen-domid", HAS_ARG, QEMU_OPTION_xen_domid, "-xen-domid id specify xen guest domain id\n", QEMU_ARCH_ALL) DEF("xen-attach", 0, QEMU_OPTION_xen_attach, diff --git a/vl.c b/vl.c index 9cf0fbe..804fbdb 100644 --- a/vl.c +++ b/vl.c @@ -3655,11 +3655,6 @@ int main(int argc, char **argv, char **envp) olist = qemu_find_opts("machine"); qemu_opts_parse_noisily(olist, "accel=kvm", false); break; - case QEMU_OPTION_enable_hax: - warn_report("Option is deprecated, use '-accel hax' instead"); - olist = qemu_find_opts("machine"); - qemu_opts_parse_noisily(olist, "accel=hax", false); - break; case QEMU_OPTION_M: case QEMU_OPTION_machine: olist = qemu_find_opts("machine"); From patchwork Tue Feb 5 18:14:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037051 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rjSZxC2b"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD6R2FfRz9sDX for ; Wed, 6 Feb 2019 05:45:34 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37755 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5iu-00019A-2H for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:45:32 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36450) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Ge-0002cx-C9 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-00047Y-26 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:38875) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-000459-Jb for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wm1-x329.google.com with SMTP id m22so4769611wml.3 for ; Tue, 05 Feb 2019 10:16:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=NcoI/clAipDXi+/3v4AXAFpbue6/HLav3WBGIk2T2Ig=; b=rjSZxC2bMYgVEviNYFY0OAuHQ4gt4ogEz1GPxzX8h7F8abmeE5qMM4y+5UYVgxoLlr LgwyZZ9Ofsfd/ITAYKijOSssWWWbxoC2awuS/7PunAgNtNwNHpBdFmbCOg4TbiEg7QN1 XXArFGJmVrkosjbWRAlgxMbo7gOo8lAljJcK7nEuKbtj8zqPKL68LHJ4lMpljSpRjY8P Wp4nWLnJLg9iC9O4nTZtXBRxGUdigC0L4ez4xSe/PVtROBQcijzZ+kXq7jMLcIq47THC OMJ9RPKELQgK6ZH9o+J+pZvc+pND4BDkTY+eMbgXidxJY+84nZbIgjCHCmvpcIr13cKS e2Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=NcoI/clAipDXi+/3v4AXAFpbue6/HLav3WBGIk2T2Ig=; b=gGmhAQp9HFkCfbB6RDSGXapUyUbr2mkejm51/9m+ImGaGlygzcm77Qs0sOOn8z705R D8abN10Yqj7ek/33ts9pcjb6bSAyZSW6EIWyKXfoaLfkNtsvCJ2tz51nlorsPRpQ/Hlp nHn5y+SSv9/SnyTMqHfHqpc/MmOVEryijSZ1iT+YN+H3xrec5lbPGIVLMKUQlmhlGKlk R8QRJVrD1AhMe3qKZYOahsgOlPpkBR+PEBtbOUSWBoixqpyPx/W0I9YSkjCvuD6pB7uv guizNaFM295PYKH1SIMhP1h1DAanNElJ8DdzH9Ziwc/dMtEG61fNwudcpffkr4I90wYW nbZA== X-Gm-Message-State: AHQUAuZm5Tw1nVf26lKB8Ly+xpBNO8CkIGayEvzIarSzVMGIXP7Qvomu sKlKRDZLWDJ4bp4fkQE6T/7oFrUL X-Google-Smtp-Source: AHgI3IYN4O11H42dyyH75WZWFgupyenQUs3JQJ2mnq4zfZTyu7e3vi+4AUw3CrLrfModGVSKCsOeYg== X-Received: by 2002:a1c:2c6:: with SMTP id 189mr4417wmc.21.1549390573945; Tue, 05 Feb 2019 10:16:13 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:13 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:54 +0100 Message-Id: <1549390526-24246-45-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::329 Subject: [Qemu-devel] [PULL 44/76] qemu-options: Remove deprecated "-virtioconsole" option X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" It's been deprecated since QEMU 3.0, and nobody complained so far, so it is time to remove this option now. Signed-off-by: Thomas Huth Message-Id: <1544684731-18828-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini --- docs/qdev-device-use.txt | 4 ---- include/hw/boards.h | 1 - qemu-deprecated.texi | 5 ---- qemu-options.hx | 10 -------- vl.c | 61 +----------------------------------------------- 5 files changed, 1 insertion(+), 80 deletions(-) diff --git a/docs/qdev-device-use.txt b/docs/qdev-device-use.txt index 98229b3..cc53e97 100644 --- a/docs/qdev-device-use.txt +++ b/docs/qdev-device-use.txt @@ -190,10 +190,6 @@ The appropriate DEVNAME depends on the machine type. For type "pc": -device usb-braille,chardev=braille -chardev braille,id=braille -* -virtioconsole becomes - -device virtio-serial-pci,class=C,vectors=V,ioeventfd=IOEVENTFD,max_ports=N - -device virtconsole,is_console=NUM,nr=NR,name=NAME - LEGACY-CHARDEV translates to -chardev HOST-OPTS... as follows: * null becomes -chardev null diff --git a/include/hw/boards.h b/include/hw/boards.h index 02f1140..05f9f45 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -180,7 +180,6 @@ struct MachineClass { int default_cpus; unsigned int no_serial:1, no_parallel:1, - use_virtcon:1, no_floppy:1, no_cdrom:1, no_sdcard:1, diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index dcf85a9..87c4e55 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -43,11 +43,6 @@ The @code{--no-frame} argument works with SDL 1.2 only. The other user interfaces never implemented this in the first place. So this will be removed together with SDL 1.2 support. -@subsection -virtioconsole (since 3.0.0) - -Option @option{-virtioconsole} has been replaced by -@option{-device virtconsole}. - @subsection -clock (since 3.0.0) The @code{-clock} option is ignored since QEMU version 1.7.0. There is no diff --git a/qemu-options.hx b/qemu-options.hx index 8f34dce..2769c0c 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3616,16 +3616,6 @@ character to Control-t. @end table ETEXI -DEF("virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon, \ - "-virtioconsole c\n" \ - " set virtio console\n", QEMU_ARCH_ALL) -STEXI -@item -virtioconsole @var{c} -@findex -virtioconsole -Set virtio console. -This option is deprecated, please use @option{-device virtconsole} instead. -ETEXI - DEF("show-cursor", 0, QEMU_OPTION_show_cursor, \ "-show-cursor show cursor\n", QEMU_ARCH_ALL) STEXI diff --git a/vl.c b/vl.c index 804fbdb..41d6af2 100644 --- a/vl.c +++ b/vl.c @@ -164,7 +164,6 @@ int no_frame; static int num_serial_hds; static Chardev **serial_hds; Chardev *parallel_hds[MAX_PARALLEL_PORTS]; -Chardev *virtcon_hds[MAX_VIRTIO_CONSOLES]; int win2k_install_hack = 0; int singlestep = 0; int smp_cpus; @@ -215,7 +214,6 @@ bool xen_domid_restrict; static int has_defaults = 1; static int default_serial = 1; static int default_parallel = 1; -static int default_virtcon = 1; static int default_monitor = 1; static int default_floppy = 1; static int default_cdrom = 1; @@ -236,8 +234,6 @@ static struct { { .driver = "ide-drive", .flag = &default_cdrom }, { .driver = "scsi-cd", .flag = &default_cdrom }, { .driver = "scsi-hd", .flag = &default_cdrom }, - { .driver = "virtio-serial-pci", .flag = &default_virtcon }, - { .driver = "virtio-serial", .flag = &default_virtcon }, { .driver = "VGA", .flag = &default_vga }, { .driver = "isa-vga", .flag = &default_vga }, { .driver = "cirrus-vga", .flag = &default_vga }, @@ -2405,7 +2401,6 @@ struct device_config { DEV_BT, /* -bt */ DEV_SERIAL, /* -serial */ DEV_PARALLEL, /* -parallel */ - DEV_VIRTCON, /* -virtioconsole */ DEV_DEBUGCON, /* -debugcon */ DEV_GDB, /* -gdb, -s */ DEV_SCLP, /* s390 sclp */ @@ -2503,39 +2498,6 @@ static int parallel_parse(const char *devname) return 0; } -static int virtcon_parse(const char *devname) -{ - QemuOptsList *device = qemu_find_opts("device"); - static int index = 0; - char label[32]; - QemuOpts *bus_opts, *dev_opts; - - if (strcmp(devname, "none") == 0) - return 0; - if (index == MAX_VIRTIO_CONSOLES) { - error_report("too many virtio consoles"); - exit(1); - } - - bus_opts = qemu_opts_create(device, NULL, 0, &error_abort); - qemu_opt_set(bus_opts, "driver", "virtio-serial", &error_abort); - - dev_opts = qemu_opts_create(device, NULL, 0, &error_abort); - qemu_opt_set(dev_opts, "driver", "virtconsole", &error_abort); - - snprintf(label, sizeof(label), "virtcon%d", index); - virtcon_hds[index] = qemu_chr_new_mux_mon(label, devname); - if (!virtcon_hds[index]) { - error_report("could not connect virtio console" - " to character backend '%s'", devname); - return -1; - } - qemu_opt_set(dev_opts, "chardev", label, &error_abort); - - index++; - return 0; -} - static int debugcon_parse(const char *devname) { QemuOpts *opts; @@ -3570,15 +3532,6 @@ int main(int argc, char **argv, char **envp) exit(1); } break; - case QEMU_OPTION_virtiocon: - warn_report("This option is deprecated, " - "use '-device virtconsole' instead"); - add_device_config(DEV_VIRTCON, optarg); - default_virtcon = 0; - if (strncmp(optarg, "mon:", 4) == 0) { - default_monitor = 0; - } - break; case QEMU_OPTION_parallel: add_device_config(DEV_PARALLEL, optarg); default_parallel = 0; @@ -4183,9 +4136,6 @@ int main(int argc, char **argv, char **envp) if (!has_defaults || machine_class->no_parallel) { default_parallel = 0; } - if (!has_defaults || !machine_class->use_virtcon) { - default_virtcon = 0; - } if (!has_defaults || machine_class->no_floppy) { default_floppy = 0; } @@ -4218,8 +4168,7 @@ int main(int argc, char **argv, char **envp) * usage, -nographic is just a no-op in this case. */ if (nographic - && (default_parallel || default_serial - || default_monitor || default_virtcon)) { + && (default_parallel || default_serial || default_monitor)) { error_report("-nographic cannot be used with -daemonize"); exit(1); } @@ -4236,13 +4185,9 @@ int main(int argc, char **argv, char **envp) add_device_config(DEV_PARALLEL, "null"); if (default_serial && default_monitor) { add_device_config(DEV_SERIAL, "mon:stdio"); - } else if (default_virtcon && default_monitor) { - add_device_config(DEV_VIRTCON, "mon:stdio"); } else { if (default_serial) add_device_config(DEV_SERIAL, "stdio"); - if (default_virtcon) - add_device_config(DEV_VIRTCON, "stdio"); if (default_monitor) monitor_parse("stdio", "readline", false); } @@ -4253,8 +4198,6 @@ int main(int argc, char **argv, char **envp) add_device_config(DEV_PARALLEL, "vc:80Cx24C"); if (default_monitor) monitor_parse("vc:80Cx24C", "readline", false); - if (default_virtcon) - add_device_config(DEV_VIRTCON, "vc:80Cx24C"); } #if defined(CONFIG_VNC) @@ -4485,8 +4428,6 @@ int main(int argc, char **argv, char **envp) exit(1); if (foreach_device_config(DEV_PARALLEL, parallel_parse) < 0) exit(1); - if (foreach_device_config(DEV_VIRTCON, virtcon_parse) < 0) - exit(1); if (foreach_device_config(DEV_DEBUGCON, debugcon_parse) < 0) exit(1); From patchwork Tue Feb 5 18:14:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037052 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BFE6U/yj"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vD6V6V77z9s7T for ; Wed, 6 Feb 2019 05:45:38 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37759 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5iy-0001G5-O6 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:45:36 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gd-0002bc-9y for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gc-000481-DJ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:19 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:37122) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gb-00046N-LP for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:17 -0500 Received: by mail-wr1-x42e.google.com with SMTP id s12so4726430wrt.4 for ; Tue, 05 Feb 2019 10:16:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=wTGAmqxa50rKhGtnRb+Qp73toAxF2PRthIBr476h4Gc=; b=BFE6U/yjq6h/kc7qa/Cv6DNDL91yMx5YOMX0q+A21H9dbJCgAr8dc28pwvTQrIW2eP HWYnjfGzqf3FG1HTGLw2KlL28eSf6McgyI7nAeFoCsAWx6g49y2Ddy7v3a1oQ1ZnPrRB uuKcMj48z4fcprZzYLZhc4uWD/d0XjpxA0/UWj53Qpxhi144MWU2RS1IpwVnSPurSW8v HviNgC/smAPLpi01DEABEyviQ3mqhZVYhxuy9mJc5MgthR+/Ir3m2Gy5BeKaHlfVHsrH 1Xs3p22Fifx0VAq4CBVl2pYWiaQWgve6llP1EsH02d5nbuhsgO2AxZ9gT57Piu3lKfS2 quBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=wTGAmqxa50rKhGtnRb+Qp73toAxF2PRthIBr476h4Gc=; b=UKCPS6xX8wmWXyQYhEjmPwGQDBhW5Z0Autv0nnYy3wsHMUB4FVvffh1VxlfvfntLBc v0B8/SAUSDM7BDuLQ0JB0mS5gO/7+QqSFVDv1Vr34SG3wscQAnp5tyB7T47Z94b2bq/a 3WdJndw9dnrS3f5zPkojnROKKtiMVEys8OkCLYU7JTr8ExBubZaFNfjT/Yhnnqb9BdFM ijNiAnnYBvyahZRMV9Mahu2fO/kJ1sxXFSs+PxsImP/wKXLBv4leJ3ycuoGX7oUjH/sC mJPpZeIcXIyuXrAFv9ML/jdsq5uFi8pMYe1ejaWxoNZIg97ruGQNAMbXBprN3WiWNN7v ILow== X-Gm-Message-State: AHQUAuatsp4T2uxs1XB89Azr0jop1XcqDQWBv0Yxn3rx2OvPdxIeSUxM ecFXfjB9K/x/5YHkKvmmmp8nTBhe X-Google-Smtp-Source: AHgI3IaZHUNTFY5w+rs2RP4B3nqE5VsRJ7TUibnKNQ1Qphfjq8GgI6lyq1ca/UIxKOmm/FEsUrjCJw== X-Received: by 2002:adf:db01:: with SMTP id s1mr4579554wri.214.1549390575629; Tue, 05 Feb 2019 10:16:15 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:14 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:55 +0100 Message-Id: <1549390526-24246-46-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e Subject: [Qemu-devel] [PULL 45/76] arm: disable CONFIG_SERIAL_ISA X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" ARM should not have an ISA bus, this device should not be enabled. Kconfig allows to clean up the dependencies and remove CONFIG_ISA_BUS=y from ARM, and then catches a contradiction between the hardcoded CONFIG_SERIAL_ISA=y and CONFIG_ISA_BUS=n. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-2-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/arm-softmmu.mak | 1 - 1 file changed, 1 deletion(-) diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak index be88870..d7b540c 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -6,7 +6,6 @@ CONFIG_VGA=y CONFIG_NAND=y CONFIG_ECC=y CONFIG_SERIAL=y -CONFIG_SERIAL_ISA=y CONFIG_PTIMER=y CONFIG_SD=y CONFIG_MAX7310=y From patchwork Tue Feb 5 18:14:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037057 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pXNufnZV"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDCk2YnGz9s7T for ; Wed, 6 Feb 2019 05:50:10 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37824 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5nM-0004aH-71 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:50:08 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gf-0002f9-Vx for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gd-00049I-47 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:38884) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gc-00047I-Qx for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:19 -0500 Received: by mail-wm1-x332.google.com with SMTP id m22so4769784wml.3 for ; Tue, 05 Feb 2019 10:16:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=f1X7XFI/XSHALiPtUQC3oMcosPCum0quwFXIamNZMX0=; b=pXNufnZV3xnIVpLKOy+xd22txJyE9VuCWMn3ka35h09hsvH+mWb9joRxtLDZrBzL05 iU9oxRn1zNIA548d24FKZKw7qT+bKnMkl2ATyH87vhMRLFS9Abr7txDNbQE37Eut2d9f FqI27efUhzWuUqk9IoA+PqAMGpR3HwlM9ISXWg77PP58/VfaOliJOrM8bkJbA8g2CeeV JtY03A5gBB/AHBDsYhHiKppkxCOZAE9JCvGMjVfpw4zPmM9PhbSm3mxN8fGw2D1awwDU Cf/N5WC1E7g+8iPUea3G8ZoaIgnTlViTXa4QHWiUY78Ls0flru/xRHte9XKEzNhk4zDk ufyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=f1X7XFI/XSHALiPtUQC3oMcosPCum0quwFXIamNZMX0=; b=Ksp7NFOAt43mpAkl17YFrjA/NnUKFqKhrdSBswptU3qtlaQIxmKEi5E4BJ9yysDhVK PJmpaWZoSv/FExWHbLGC9AVVYniJ/7/SQNzIkZv3Fu7/cCtpqukUhXrEK8mWVEYa1+GU jG7M8sisC6fwQiUvdl1mqRbm8Om6GQmKv5QbSsWAPRTeSyahRGLdeipoK7N4FyH+fIZd 05ANYcS+jOHq3cDkR5kUP5Dxngv0zaR1jPFibfTML9SKN7qJTte9zvUc4D72eE4mvuVZ EvMoFCv+bDvqOAMyDocVNgNM4cowzAsjsV9VEmQhPmNnBr8njJyYwG7OxeM6tOnveJOK AqoQ== X-Gm-Message-State: AHQUAuZboxCRor4b0Ayz7BtZ8jD14vVy0klXoyv6vyswKSXYawCIg5Mq FX4qacRW94+Wp26AECU7dZz2dFFX X-Google-Smtp-Source: AHgI3IZP0ih6UPaTnyetQDZ3H0Wjsil8W2YZ8UCA4l2Fm+ZkXilntRLca6TqU3OQxP5JTS383+ja5w== X-Received: by 2002:a7b:c4cb:: with SMTP id g11mr4774126wmk.149.1549390576982; Tue, 05 Feb 2019 10:16:16 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:15 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:56 +0100 Message-Id: <1549390526-24246-47-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 Subject: [Qemu-devel] [PULL 46/76] ide: split ioport registration to a separate file X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This is not needed on ARM, and brings in ISA bus code which is otherwise not necessary. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-3-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/ide/Makefile.objs | 4 ++-- hw/ide/core.c | 25 -------------------- hw/ide/ioport.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 27 deletions(-) create mode 100644 hw/ide/ioport.c diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs index fc328ff..a142add 100644 --- a/hw/ide/Makefile.objs +++ b/hw/ide/Makefile.objs @@ -1,8 +1,8 @@ common-obj-$(CONFIG_IDE_CORE) += core.o atapi.o common-obj-$(CONFIG_IDE_QDEV) += qdev.o common-obj-$(CONFIG_IDE_PCI) += pci.o -common-obj-$(CONFIG_IDE_ISA) += isa.o -common-obj-$(CONFIG_IDE_PIIX) += piix.o +common-obj-$(CONFIG_IDE_ISA) += isa.o ioport.o +common-obj-$(CONFIG_IDE_PIIX) += piix.o ioport.o common-obj-$(CONFIG_IDE_CMD646) += cmd646.o common-obj-$(CONFIG_IDE_MACIO) += macio.o common-obj-$(CONFIG_IDE_MMIO) += mmio.o diff --git a/hw/ide/core.c b/hw/ide/core.c index c3d779d..8483200 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2686,31 +2686,6 @@ void ide_exit(IDEState *s) qemu_vfree(s->io_buffer); } -static const MemoryRegionPortio ide_portio_list[] = { - { 0, 8, 1, .read = ide_ioport_read, .write = ide_ioport_write }, - { 0, 1, 2, .read = ide_data_readw, .write = ide_data_writew }, - { 0, 1, 4, .read = ide_data_readl, .write = ide_data_writel }, - PORTIO_END_OF_LIST(), -}; - -static const MemoryRegionPortio ide_portio2_list[] = { - { 0, 1, 1, .read = ide_status_read, .write = ide_cmd_write }, - PORTIO_END_OF_LIST(), -}; - -void ide_init_ioport(IDEBus *bus, ISADevice *dev, int iobase, int iobase2) -{ - /* ??? Assume only ISA and PCI configurations, and that the PCI-ISA - bridge has been setup properly to always register with ISA. */ - isa_register_portio_list(dev, &bus->portio_list, - iobase, ide_portio_list, bus, "ide"); - - if (iobase2) { - isa_register_portio_list(dev, &bus->portio2_list, - iobase2, ide_portio2_list, bus, "ide"); - } -} - static bool is_identify_set(void *opaque, int version_id) { IDEState *s = opaque; diff --git a/hw/ide/ioport.c b/hw/ide/ioport.c new file mode 100644 index 0000000..a0b3c1f --- /dev/null +++ b/hw/ide/ioport.c @@ -0,0 +1,66 @@ +/* + * QEMU IDE disk and CD/DVD-ROM Emulator + * + * Copyright (c) 2003 Fabrice Bellard + * Copyright (c) 2006 Openedhand Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "qemu/osdep.h" +#include "hw/hw.h" +#include "hw/isa/isa.h" +#include "qemu/error-report.h" +#include "qemu/timer.h" +#include "sysemu/sysemu.h" +#include "sysemu/blockdev.h" +#include "sysemu/dma.h" +#include "hw/block/block.h" +#include "sysemu/block-backend.h" +#include "qapi/error.h" +#include "qemu/cutils.h" +#include "sysemu/replay.h" + +#include "hw/ide/internal.h" +#include "trace.h" + +static const MemoryRegionPortio ide_portio_list[] = { + { 0, 8, 1, .read = ide_ioport_read, .write = ide_ioport_write }, + { 0, 1, 2, .read = ide_data_readw, .write = ide_data_writew }, + { 0, 1, 4, .read = ide_data_readl, .write = ide_data_writel }, + PORTIO_END_OF_LIST(), +}; + +static const MemoryRegionPortio ide_portio2_list[] = { + { 0, 1, 1, .read = ide_status_read, .write = ide_cmd_write }, + PORTIO_END_OF_LIST(), +}; + +void ide_init_ioport(IDEBus *bus, ISADevice *dev, int iobase, int iobase2) +{ + /* ??? Assume only ISA and PCI configurations, and that the PCI-ISA + bridge has been setup properly to always register with ISA. */ + isa_register_portio_list(dev, &bus->portio_list, + iobase, ide_portio_list, bus, "ide"); + + if (iobase2) { + isa_register_portio_list(dev, &bus->portio2_list, + iobase2, ide_portio2_list, bus, "ide"); + } +} From patchwork Tue Feb 5 18:14:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037059 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sKYbtFJ6"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDFw6Ry5z9s7T for ; Wed, 6 Feb 2019 05:52:04 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37868 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5pC-0006AB-I5 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:52:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36507) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gf-0002ed-HK for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Ge-0004Ao-5J for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:34049) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gd-00049d-Sn for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:20 -0500 Received: by mail-wr1-x434.google.com with SMTP id z15so2673702wrn.1 for ; Tue, 05 Feb 2019 10:16:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=ZNPeJWjxuFwOrZxs/BZaoK239OsYJZcgmx7KfmHi4Zk=; b=sKYbtFJ6QhUEyp4n/PNEjcYzpi3le3krjjse9sI8AjLd6olAkppPB6IdhURw3wb0bL 7PwrEi0tksBvj//Rfsk3fV5pqtNdCRPyoaXubPKoSTMMe+1m1tBL7N4cOK1xJBvO2u4O st1ZLEFvJAl2zGEdvVWN/8VVqR5qc9ZQulKeohQxu8eicoRrSzU0E8E9Hun8RiuIWQ2J gLE3btfDnUSTDlsyqm87XSgdVLgDks/rJ+0jlOhcjoU/IFUN5eKIvHSIAHqWM0qGrUrP 6F/Ou1T7+NwjQFzGTDrZVsHHjzbhI9FCHonoqm9KrPKUBmyq7yrBnG519FGR72ID+YsW V+UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=ZNPeJWjxuFwOrZxs/BZaoK239OsYJZcgmx7KfmHi4Zk=; b=NjV84YgRhx1vuL19ZztnO+1634g4l/vdmiB/92evIvDqENjxxyp98PbLZJfPXCMx3t 4O53fEDUU+zmetpoCh3IYme3EteFRyvE0soB4EmN1Cnga4o1WmiBpj+sIBHaQOrF1gY0 7vE8/ZU3xqnX+Oh8GQBGvTvTp0BNIjHdWEu222BxEFpOtdI9aaQ3SHPRVk3p01LT1d6L 6qRJ5TfShJWrdmqnOQDMptbPLpm+K6caDLqpIjuZ9U4nLq/P8cKF8AK+dQmEwO3c84Lx 2Yzt56qRnKXe8BtLzzOqnOPrR24hZjMXALFiCnz2FNBJqw47kavhNAVRjdxmJ++mWljI ycFw== X-Gm-Message-State: AHQUAuYZLRFyE+iX2QaCcWxfg/xrAshLNAlNNloeBc9UkUzYD6UPTAwU +wWJOjRBv78IC4CF1YAvzpNy1CBt X-Google-Smtp-Source: AHgI3IbwVyiaK4PLa7xdV2yXP8Vv8eZpwlOkUldeR0rGmWDSZ30C++ReFjwYvNXT83L+DydAZIOSGw== X-Received: by 2002:adf:c70f:: with SMTP id k15mr4616149wrg.155.1549390578541; Tue, 05 Feb 2019 10:16:18 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:17 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:57 +0100 Message-Id: <1549390526-24246-48-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::434 Subject: [Qemu-devel] [PULL 47/76] vfio: move conditional up to hw/Makefile.objs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Instead of wrapping the entire Makefile.objs with an ifeq/endif, just include the directory only for Linux. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-4-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/Makefile.objs | 2 +- hw/vfio/Makefile.objs | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 39d882a..22dd211 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -30,7 +30,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += ssi/ devices-dirs-$(CONFIG_SOFTMMU) += timer/ devices-dirs-$(CONFIG_TPM) += tpm/ devices-dirs-$(CONFIG_SOFTMMU) += usb/ -devices-dirs-$(CONFIG_SOFTMMU) += vfio/ +devices-dirs-$(CONFIG_LINUX) += vfio/ devices-dirs-$(CONFIG_SOFTMMU) += virtio/ devices-dirs-$(CONFIG_SOFTMMU) += watchdog/ devices-dirs-$(CONFIG_SOFTMMU) += xen/ diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs index 8b3f664..9180589 100644 --- a/hw/vfio/Makefile.objs +++ b/hw/vfio/Makefile.objs @@ -1,4 +1,3 @@ -ifeq ($(CONFIG_LINUX), y) obj-$(CONFIG_SOFTMMU) += common.o obj-$(CONFIG_PCI) += pci.o pci-quirks.o display.o obj-$(CONFIG_VFIO_CCW) += ccw.o @@ -7,4 +6,3 @@ obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o obj-$(CONFIG_SOFTMMU) += spapr.o obj-$(CONFIG_VFIO_AP) += ap.o -endif From patchwork Tue Feb 5 18:14:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037071 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gJ77MT02"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDPc4RkBz9s7T for ; Wed, 6 Feb 2019 05:58:44 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37962 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5vc-0003YF-LR for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:58:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36576) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gh-0002gu-IQ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gf-0004CO-6a for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:44634) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Ge-0004B5-Vc for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: by mail-wr1-x435.google.com with SMTP id v16so2846812wrn.11 for ; Tue, 05 Feb 2019 10:16:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=q5P0ht8B7A81Us2nnZ6Afm4zreSYVhr2EL8Qjqi7eUg=; b=gJ77MT024yjjKmTGk4yVfXKlF2e46K+ome8dm49vzaf5mxGxxlrSkJ3V21BszE2Rwp /caknJE3Z1M6dInj/Kzp/JIMoegNsKdHIrw/JI19guVX1AUABAaNVWlI5AKMTNs5Kenv 3jYc59KF7YNiNrKF9lsRJI8GKrtZ/MjC1YUhDo22jYbW4MZPDYR1EpI5VC0z/9m4tdOS fmXEj1xlGrdagljSWf6ArCyoCdoeSpQgt9WmzjtkDe53z8VLmWql14JGCJ/B2cZWi0st KTt9sE4Bnv9Pmgdh3CjUGIOlPuySLV2ojSX2OS3nSafSXfjlYzgR5l+fjMa71dfoK/3b S/rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=q5P0ht8B7A81Us2nnZ6Afm4zreSYVhr2EL8Qjqi7eUg=; b=XHg3IxVfNzOtk5xPT/E0Iontile9dDDzYBiPGurf2Jmor418Wa8Iq+IUCt+dtOP8Ou Mh/R7ltouvv/vwA+VvgAxf45347NlIjBxp6KCHjmZ1xys/bkDBlLI9/GwxejTs5YqOu/ Po88T6zIEWpOFW9oZ3qGp5aFo4FtZk7gLWmLBhQbRaHp0am5Sp6u4EYC/2o4+CprROmc bXoP853ERRGgSTEZ1O79KCWjMhomkbniTCqxS4krTjvZx2GlaM8Q1YlCURYwAzSjNEcT KJkAVLPzZyCVXslOwb0ux51eLHACUl5+FNvwr7DcKBPNkzGjO/uUEaW0W4EVLbgxkOqD FEfw== X-Gm-Message-State: AHQUAuZkdqj4R0LIDJmIASKiXlOrnMHg7iaW89JiE5IxYtBOSrBhxpJP OVzDFj8Fe65wOhAneUiX/aeUEBEH X-Google-Smtp-Source: AHgI3IbpShBPMXBlPL7Pd3MXcROQru5i1cOt9AcEyb9s2HRSbO8b0QJTuM1NnBnwRmCp5aT02vuUTA== X-Received: by 2002:adf:f1c5:: with SMTP id z5mr4767708wro.118.1549390579569; Tue, 05 Feb 2019 10:16:19 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:18 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:58 +0100 Message-Id: <1549390526-24246-49-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 48/76] hw/pci-host/Makefile.objs: make CONFIGS clear for PCI EXPRESS X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong , "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Change the CONFIGs for PCI EXPRESS and make module name more clear for code files. Signed-off-by: Yang Zhong Cc: Michael S. Tsirkin Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-5-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/arm-softmmu.mak | 4 ++-- default-configs/i386-softmmu.mak | 2 +- default-configs/mips64el-softmmu.mak | 2 +- default-configs/pci.mak | 2 +- default-configs/riscv32-softmmu.mak | 2 +- default-configs/riscv64-softmmu.mak | 2 +- hw/net/Makefile.objs | 4 ++-- hw/pci-host/Makefile.objs | 8 ++++---- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak index d7b540c..32f4a4a 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -123,7 +123,7 @@ CONFIG_VERSATILE=y CONFIG_VERSATILE_PCI=y CONFIG_VERSATILE_I2C=y -CONFIG_PCI_GENERIC=y +CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y CONFIG_VFIO_XGMAC=y CONFIG_VFIO_AMD_XGBE=y @@ -154,7 +154,7 @@ CONFIG_GPIO_KEY=y CONFIG_MSF2=y CONFIG_FW_CFG_DMA=y CONFIG_XILINX_AXI=y -CONFIG_PCI_DESIGNWARE=y +CONFIG_PCI_EXPRESS_DESIGNWARE=y CONFIG_STRONGARM=y CONFIG_HIGHBANK=y diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak index 64c998c..2f919df 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -47,7 +47,7 @@ CONFIG_ISA_TESTDEV=y CONFIG_VMPORT=y CONFIG_SGA=y CONFIG_LPC_ICH9=y -CONFIG_PCI_Q35=y +CONFIG_PCI_EXPRESS_Q35=y CONFIG_APIC=y CONFIG_IOAPIC=y CONFIG_PVPANIC=y diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak index c2ae313..9eb1208 100644 --- a/default-configs/mips64el-softmmu.mak +++ b/default-configs/mips64el-softmmu.mak @@ -12,4 +12,4 @@ CONFIG_JAZZ_LED=y CONFIG_VT82C686=y CONFIG_MIPS_BOSTON=y CONFIG_FITLOADER=y -CONFIG_PCI_XILINX=y +CONFIG_PCI_EXPRESS_XILINX=y diff --git a/default-configs/pci.mak b/default-configs/pci.mak index 6c7be12..83738cb 100644 --- a/default-configs/pci.mak +++ b/default-configs/pci.mak @@ -22,7 +22,7 @@ CONFIG_MEGASAS_SCSI_PCI=y CONFIG_MPTSAS_SCSI_PCI=y CONFIG_RTL8139_PCI=y CONFIG_E1000_PCI=y -CONFIG_E1000E_PCI=y +CONFIG_E1000E_PCI_EXPRESS=y CONFIG_IDE_CORE=y CONFIG_IDE_QDEV=y CONFIG_IDE_PCI=y diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak index c9c5971..fbfd1d4 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -8,7 +8,7 @@ CONFIG_VIRTIO_MMIO=y CONFIG_CADENCE=y -CONFIG_PCI_GENERIC=y +CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y CONFIG_VGA=y CONFIG_VGA_PCI=y diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak index c9c5971..fbfd1d4 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -8,7 +8,7 @@ CONFIG_VIRTIO_MMIO=y CONFIG_CADENCE=y -CONFIG_PCI_GENERIC=y +CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y CONFIG_VGA=y CONFIG_VGA_PCI=y diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs index fa461d4..a43351a 100644 --- a/hw/net/Makefile.objs +++ b/hw/net/Makefile.objs @@ -7,8 +7,8 @@ common-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o common-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o common-obj-$(CONFIG_PCNET_COMMON) += pcnet.o common-obj-$(CONFIG_E1000_PCI) += e1000.o e1000x_common.o -common-obj-$(CONFIG_E1000E_PCI) += net_tx_pkt.o net_rx_pkt.o -common-obj-$(CONFIG_E1000E_PCI) += e1000e.o e1000e_core.o e1000x_common.o +common-obj-$(CONFIG_E1000E_PCI_EXPRESS) += net_tx_pkt.o net_rx_pkt.o +common-obj-$(CONFIG_E1000E_PCI_EXPRESS) += e1000e.o e1000e_core.o e1000x_common.o common-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o common-obj-$(CONFIG_VMXNET3_PCI) += net_tx_pkt.o net_rx_pkt.o common-obj-$(CONFIG_VMXNET3_PCI) += vmxnet3.o diff --git a/hw/pci-host/Makefile.objs b/hw/pci-host/Makefile.objs index 6d6597c..073d512 100644 --- a/hw/pci-host/Makefile.objs +++ b/hw/pci-host/Makefile.objs @@ -14,8 +14,8 @@ common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o common-obj-$(CONFIG_PCI_SABRE) += sabre.o common-obj-$(CONFIG_FULONG) += bonito.o common-obj-$(CONFIG_PCI_PIIX) += piix.o -common-obj-$(CONFIG_PCI_Q35) += q35.o -common-obj-$(CONFIG_PCI_GENERIC) += gpex.o -common-obj-$(CONFIG_PCI_XILINX) += xilinx-pcie.o +common-obj-$(CONFIG_PCI_EXPRESS_Q35) += q35.o +common-obj-$(CONFIG_PCI_EXPRESS_GENERIC_BRIDGE) += gpex.o +common-obj-$(CONFIG_PCI_EXPRESS_XILINX) += xilinx-pcie.o -common-obj-$(CONFIG_PCI_DESIGNWARE) += designware.o +common-obj-$(CONFIG_PCI_EXPRESS_DESIGNWARE) += designware.o From patchwork Tue Feb 5 18:14:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037061 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hlq74+qq"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDHF0JYGz9s7h for ; Wed, 6 Feb 2019 05:53:13 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37878 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5qJ-00074Q-0u for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:53:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36581) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gh-0002gy-KA for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gf-0004DJ-Ug for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:39621) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gf-0004CH-MI for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:21 -0500 Received: by mail-wr1-x435.google.com with SMTP id t27so4711947wra.6 for ; Tue, 05 Feb 2019 10:16:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9SKD31gy9HDaYqv7IaFf8//333lMmHRMvcd/rcJVjcQ=; b=hlq74+qq3PW5hNbtLDgw0FMCz+tV6Sg0jDpe4WGzjKywb8D8+fi4UVI58DikZQi/vn oy+lhJrAUJ0vPDZ4/kNcURjuaxhEB/U+EaU/QAB4Hy2wpz5i+s9L6wg/A9mQ/q+m/xJf 5tU5DXv/gh0EUYmjD1aJjpS9cbXb/IqUbrReKvVNB35LRAJuxVCAHr35hCwOSMuJWY5E DfCLrL0SgrhKcNs5gUhyuBeOc9c0qhG8cOunUhJAPRgRAn+g5ji2dUrmbANs7bkV6n1t fUMx3AufNZCTNlXdkEPBIVkL+UsEmpMgIbBhJmT9b8BVf7uqEw0I8tFVx3WqQr/Xfz/S rbQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=9SKD31gy9HDaYqv7IaFf8//333lMmHRMvcd/rcJVjcQ=; b=FpAiBrqDaGkCQmJW1kWURgydi5TIu6qjSfiZyeZXVOKVDRYKYGErzD7PPPsuNLnU0Y rKItI7el2RYbMlkrtebSfPSEuTuJaAUojqMjtojVDcifhKmKQytsTtnQBcR38DN44ZRx v2o6cVZpTGk9TkhFTNhbsg8ZcTdlZMjkvvWgLdKrQg2j3sKJLKebhVeCOVqm7SC3+7nK sCLs1XlEjp+pa02g2En/slNxs44ae5oUD7GHShoTJAkYsLEpoTwznEb4gvlPgo9aCHZu VHC5D9iBkMedszDa1S9nWP0mxCnLjo5918veGZrXEJR5zRQlFKl0nF0OLXmDEmtlQ5KL V2sA== X-Gm-Message-State: AHQUAuYKgeJUzqO3+naTCLlwxWR5N5hvFXwy8zpaguYk4mu+T0FsYyUq Bf9m7qEGVYRL4NM7jT/V2Nt7cwjj X-Google-Smtp-Source: AHgI3IZ7zdAO1U4HFns3jkSrMF038C+hIL50pNxX+Anuv+L9ge8hP3/FU7Kr7rCF6hI63aTdB3EmsA== X-Received: by 2002:adf:e8c1:: with SMTP id k1mr4510608wrn.104.1549390580525; Tue, 05 Feb 2019 10:16:20 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:19 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:14:59 +0100 Message-Id: <1549390526-24246-50-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::435 Subject: [Qemu-devel] [PULL 49/76] build: actually use CONFIG_PAM X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Do not link it unconditionally into all binaries. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-6-yang.zhong@intel.com> Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- default-configs/i386-softmmu.mak | 1 + hw/pci-host/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak index 2f919df..48da996 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -67,3 +67,4 @@ CONFIG_I2C=y CONFIG_SEV=$(CONFIG_KVM) CONFIG_VTD=y CONFIG_AMD_IOMMU=y +CONFIG_PAM=y diff --git a/hw/pci-host/Makefile.objs b/hw/pci-host/Makefile.objs index 073d512..a9cd3e0 100644 --- a/hw/pci-host/Makefile.objs +++ b/hw/pci-host/Makefile.objs @@ -1,4 +1,4 @@ -common-obj-y += pam.o +common-obj-$(CONFIG_PAM) += pam.o # PPC devices common-obj-$(CONFIG_PREP_PCI) += prep.o From patchwork Tue Feb 5 18:15:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037066 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="poq/f6/y"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDLV40Bdz9s7T for ; Wed, 6 Feb 2019 05:56:02 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37917 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5t1-00019F-Hw for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:55:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gh-0002hH-Tq for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gg-0004EN-VC for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:44627) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gg-0004Dc-MZ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:22 -0500 Received: by mail-wr1-x42d.google.com with SMTP id v16so2846916wrn.11 for ; Tue, 05 Feb 2019 10:16:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=q0tFuM2x1sPH4IF44RVYwkdCkhjef8hxnkzko8f5UTg=; b=poq/f6/y8D2K0zJ40rowJB01nAJAwAPyXYPNul8VcwY/jxMSqxghRTlkr0r1b4YSv+ 3/UqysQQwi5q7Wzl8GNZL/595eZ9i3dkL3pmxzRIXtUuNrqiIAQ34LfsjTPwHpaEOAni 81WlEfVEQ1igRsc97CbjZAgJAHr0WZqiB/FJ0miB5MyScWqyM1LtZmtjt9ivFmiSXY9N cZwjvSWtsKj7/vHE3zsUmm8Ochq1nt20o7MpEqoy67i7Md273p7Y53+INgvbP0QBZ93E z2LSnho/f8wfBFjVgyQShMyJaJ3bNrlXEtyK3dK6J/72fdGnb6ikrRLn29NvwS92JE3W 0YNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=q0tFuM2x1sPH4IF44RVYwkdCkhjef8hxnkzko8f5UTg=; b=EKtKJFmIlxweHHB1pFFwMnkVO7pK84j0YK6RsY1hepdvLLDGS62e8M0/iTln0STcfo pc/l2vsjYNCd3zMCYyHhce+8bHo6umVDqMyRWJ6ce6fhENJkFl6VWtTmy/vOdxy0vJ0r oQbIVFci4Eb8dDTOWLgCoqZ4HHZ1UZLcCZyzLMwMFvvgYfa78mqCM61FS7zGGW2VedrN 7mDAQjjFnbc6EbRxtpN708lrIFFELjEfwb2cPtDxPllVfOroIB0oUiXVosuqpdgdqg3q TASfQu1CqYIQGzvxyGkTy3xx3fylAbombqMo/ZYFSnGxyeeAlI81Zby3IrZF3oNTgdLj XMtA== X-Gm-Message-State: AHQUAuZoVwwQdNFsOVrj+vBPtCovfMJfK6J4VafPOH+wYBeDYGqAEJSC If/C1wsw06Cg+rBzlcSuJdjPM22u X-Google-Smtp-Source: AHgI3IYsn9c+5WQjBhrtA+IoQhIE5tz8ge2UEeD+0SL+cKt5eD6Eh1fQ3qgagf47mcyqotONB901KQ== X-Received: by 2002:adf:9226:: with SMTP id 35mr4670794wrj.61.1549390581412; Tue, 05 Feb 2019 10:16:21 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:20 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:00 +0100 Message-Id: <1549390526-24246-51-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d Subject: [Qemu-devel] [PULL 50/76] hw/i386/Makefile.objs: Build pc_piix* and pc_q35 boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" CONFIG_PIIX and CONFIG_Q35 created for the pc board object files. These are enabled automatically at default-configs/i386-softmmu.mak and default-configs/x86_64-softmmu.mak Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-7-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/i386-softmmu.mak | 2 ++ hw/i386/Makefile.objs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak index 48da996..71c9f6f 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -68,3 +68,5 @@ CONFIG_SEV=$(CONFIG_KVM) CONFIG_VTD=y CONFIG_AMD_IOMMU=y CONFIG_PAM=y +CONFIG_I440FX=y +CONFIG_Q35=y diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs index fa87a14..3de7ca2 100644 --- a/hw/i386/Makefile.objs +++ b/hw/i386/Makefile.objs @@ -1,6 +1,8 @@ obj-$(CONFIG_KVM) += kvm/ obj-y += multiboot.o -obj-y += pc.o pc_piix.o pc_q35.o +obj-y += pc.o +obj-$(CONFIG_I440FX) += pc_piix.o +obj-$(CONFIG_Q35) += pc_q35.o obj-y += pc_sysfw.o obj-$(CONFIG_VTD) += x86-iommu.o intel_iommu.o obj-$(CONFIG_AMD_IOMMU) += x86-iommu.o amd_iommu.o From patchwork Tue Feb 5 18:15:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037067 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="j6TM/SuD"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDM34N96z9s7T for ; Wed, 6 Feb 2019 05:56:31 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5tV-0001fF-Gy for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:56:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36638) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gj-0002ia-AL for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gh-0004F6-Oz for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:25 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:45844) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gh-0004EI-Fv for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:23 -0500 Received: by mail-wr1-x434.google.com with SMTP id q15so4662073wro.12 for ; Tue, 05 Feb 2019 10:16:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=aIh/wmHyXbS/AYtTzn4wpwvdT5RqbAfUaYdhnUQRCEI=; b=j6TM/SuD9QJcxSM/CAHEj49ECaKdbTzgrl6Bor9TegpLJnvtyr9U3+4zCigCrPYXJy j2XgciHGEQ39u1x+zBXWbjqVUajwR6IY9EnTX+2FMXdKx//YZbODz/6UTrQX9N32lyZL zCdoTwsTWqqisEL7ZK4ISTYOSTRt6wUJHQV9tnhvhj6Y0egi8oe/i3kUO0+cI4wijvOu 4ZsQREymEqvvUKvdU5NgLSINy9pTzO/G6mQpLtnYnPfcrinAbQvPAaSAv5Ttb6B6yP5l LRbDPmqY2YMSKstP3aLwegXdUcPlNERfKnATnqCktZdawRdzEjqzDN7fTn5Hy+vkWRkD RF7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=aIh/wmHyXbS/AYtTzn4wpwvdT5RqbAfUaYdhnUQRCEI=; b=JOfM3auAsDaZDjBimx+aWujJSh0LFXxQXAzioKVQU2kTInF8Qf1lYzc4b9AYS+wPbH P2sfRT4nO1aQv7i09z24NOSx2cX9+CrtE/vm7rbnu4SmsTcgpOWeBJWQigPcbKGDkaHZ 6qpL2A1u1Tk0sn3LjsudPILkCV5kb0Vsl4Akb2SEbOfYT7ecT30vzVF8wtWwwz5B5lNa lokxBtMS5NvRYv7cF0gV/sub/q8kABWmeUJVxcRJK5JtyEpsUG2IF5oiVZy3cicQDbt+ 4vvNokpJEloGhkfzoGU+3Ojv7QX9a8e119pLeUHxc2AzMZ9uch+ekJrHzzA7OUvj6xtA JEXA== X-Gm-Message-State: AHQUAuZx/f0rdue65QutTsGyF98gYpPipz7SE/J9p1snhR5gHBUKENCG 145HZ+uiHEqN1MTEPp1/hewrqQ7A X-Google-Smtp-Source: AHgI3IbQZNqpdo17fl4oAK6WErsERzRAnw/r35wZ0LV6q9IelXuHAv8q7nGYo45OaMylu8ALUWM38w== X-Received: by 2002:a5d:514c:: with SMTP id u12mr2970937wrt.205.1549390582276; Tue, 05 Feb 2019 10:16:22 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:21 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:01 +0100 Message-Id: <1549390526-24246-52-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::434 Subject: [Qemu-devel] [PULL 51/76] hw/arm/Makefile.objs: CONFIG_ARM_VIRT created for virt board X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Make ARM virt code configurable and the new CONFIG_ARM_VIRT definitions added to the default-configs/arm-softmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-8-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/arm-softmmu.mak | 1 + hw/arm/Makefile.objs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak index 32f4a4a..1db3639 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -148,6 +148,7 @@ CONFIG_XIO3130=y CONFIG_IOH3420=y CONFIG_I82801B11=y CONFIG_ACPI=y +CONFIG_ARM_VIRT=y CONFIG_SMBIOS=y CONFIG_ASPEED_SOC=y CONFIG_GPIO_KEY=y diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs index 22b7f0e..fa40e8d 100644 --- a/hw/arm/Makefile.objs +++ b/hw/arm/Makefile.objs @@ -1,4 +1,5 @@ -obj-y += boot.o virt.o sysbus-fdt.o +obj-y += boot.o sysbus-fdt.o +obj-$(CONFIG_ARM_VIRT) += virt.o obj-$(CONFIG_ACPI) += virt-acpi-build.o obj-$(CONFIG_DIGIC) += digic_boards.o obj-$(CONFIG_EXYNOS4) += exynos4_boards.o From patchwork Tue Feb 5 18:15:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037079 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Hd2r87Hx"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDSd5Bmbz9s7T for ; Wed, 6 Feb 2019 06:01:21 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38017 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5yB-0005yW-7r for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:01:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36658) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gk-0002jk-EU for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gi-0004G9-PA for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:26 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:50602) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gi-0004FG-HN for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:24 -0500 Received: by mail-wm1-x32d.google.com with SMTP id z5so4669880wmf.0 for ; Tue, 05 Feb 2019 10:16:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dt0rHTyBLgg9xMQYFfVGs9tKsEuq9AIsIejTIqXfv9w=; b=Hd2r87HxX1byk46nvwowLg4bl5syHqnAhYDi6flzlK+9V9Y9WouAkAPJ5tI5O61Gnn L3jnP1eei+R+HwY6mwX0RsioZLp4W83VVPlaLyXEKG4A5N3kVUlWwZvoIsLnyYrfwqH0 Kla8vDFFqGsMaZ7LSUW0uPYZsjrIHzkG/jvPzIY5IXLlu2OCqBduqKCwQ+6Hl4MMbw57 5A+tu8abfUjudKhhynhZfwS/w+ql2sAR7dECI3u/vr2NLg2qJ+OXhuNHVtiA0g9CXb82 DTLdgDdmBHJd4/Qxa6+AE2uPRr99fNWT/yRot++QXHk7FFQuZ3n24KCSsB7LQm4LkBYw Pz4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=dt0rHTyBLgg9xMQYFfVGs9tKsEuq9AIsIejTIqXfv9w=; b=OMgi96YkCl+6zDmtJ51JE/JPuIxn5AFXrB9sXpWtuET3I6WqDp34PnT93uvEBKSJDn vmNL04Ey4HSWjcVcIsrZnl+unOU4UOn2SZgXKFAT7OYlH9kuoCFXTHvIr4z7qO6k5HZo VYvNAbQGLCWlj8yenuUJEqJEGQ9sgp6GdLztq/copbuqhBAIwRf107/TwaTToBIa8Tfz ylX7CtqAUElhnEBaTXL4kMlnCt+gFLN+T1OewpFcNYT9i8ZEMhgAlDCvMi+0SqtVyIdQ Rdm4F8UESKdXFX4eCWPPjXWVa+ETk0bua3/c3XRcQINIKW10mg4IpaYPeztbTaLbDJGo 6i7g== X-Gm-Message-State: AHQUAubvCjtWbzOBzYRu6br+d1ny0Hoknlyk52L8TwuHZzjhl26RoZPH WMgWQW9B5YOwEyZ9tG03923fCt2f X-Google-Smtp-Source: AHgI3IYwTfV4nr3t4R26DjhJxy2HaT33uCRb0IAE2MJQak+FO7wRRROQRfPNYbdqlGtvhf9Yj+2WBQ== X-Received: by 2002:a1c:541a:: with SMTP id i26mr13120wmb.128.1549390583236; Tue, 05 Feb 2019 10:16:23 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:22 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:02 +0100 Message-Id: <1549390526-24246-53-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 52/76] hw/m68k/Makefile.objs: Conditionally build boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács CONFIG_AN5206, CONFIG_MCF5206 and CONFIG_MCF5208 make variables created for m68k boards, and added to default-configs/m86k-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-9-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/m68k-softmmu.mak | 2 ++ hw/m68k/Makefile.objs | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/default-configs/m68k-softmmu.mak b/default-configs/m68k-softmmu.mak index 60f7cdf..27f5274 100644 --- a/default-configs/m68k-softmmu.mak +++ b/default-configs/m68k-softmmu.mak @@ -2,3 +2,5 @@ CONFIG_COLDFIRE=y CONFIG_PTIMER=y +CONFIG_AN5206=y +CONFIG_MCF5208=y diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs index d1f089c..482f847 100644 --- a/hw/m68k/Makefile.objs +++ b/hw/m68k/Makefile.objs @@ -1,2 +1,2 @@ -obj-y += an5206.o mcf5208.o -obj-y += mcf5206.o mcf_intc.o +obj-$(CONFIG_AN5206) += an5206.o mcf5206.o +obj-$(CONFIG_MCF5208) += mcf5208.o mcf_intc.o From patchwork Tue Feb 5 18:15:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037069 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NCbfT+i7"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDNV45kGz9s7T for ; Wed, 6 Feb 2019 05:57:46 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37952 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5ui-0002kD-4U for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:57:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gl-0002kf-E5 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gk-0004Hb-E2 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:27 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:43582) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gj-0004GG-JD for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:26 -0500 Received: by mail-wr1-x42b.google.com with SMTP id r2so4686275wrv.10 for ; Tue, 05 Feb 2019 10:16:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MWwcjFjPj+ncYy1SgtcSwJpCn3WuE0Vyqjo8jXDnwnE=; b=NCbfT+i7hCOTRXFC8/LKKXYT+nmFlmJoFZ0IftyFpcFAxugWyLqdI7NKAPjqQt0Pkz cAvTxpXU1LfRUSnyl13oDgzP+47Gqaln/hzfzamdrNZ7CVXDJnR8oZunD5ZqbeA7dUay 0DeJw5oA5cT4nMPKwauVsaLUsh9bJI+Gt9EmwUda+gaTwPXiFp0KBrEuNVVNhL7msEAl fILQAN9QAO9zXZ1maGkcZseeOCUL7LRoq1ElUdbJj49f4ufmZMNaZTzi5sGDa+0uMJxh Dy/opmnqK87x9jV8SX+cAwqCEwhtCktwdUQr4NjQNkRVCnYAwIZ/RrczIKX0I6wRauLI e/Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=MWwcjFjPj+ncYy1SgtcSwJpCn3WuE0Vyqjo8jXDnwnE=; b=sd0vVdv9L4JoTRF5A78cLNjBjUfF8JUMUW/sqflWDcZ5Boxf5KKlo+PyNwqJ9iqX+6 97qxeQBEo/QPJKQ5b4D5zQsZ1mF5f1RDheFVPHhhIWJOXOUtuRlnHNXWcPKn1+BaZwbJ PYGeZunVI31K6FzLkqDw2j/VDADuKpfvuBhxbDu7ONboe21u3ErDMthMoeAcR7CyRcbR 5AM9KA9VPsylD57vcAkLdMHPELKEqpEzVhPhP8TyKGjy9uQIhtLUN/OoGCcsHSvu/GRK wgbs0d0Y4Emb4wRUcF1Jf7cR0VrAcuq01cCEFA9pY65w7G7lfHzpr/8SHuyLsEE/tfgh /+YA== X-Gm-Message-State: AHQUAuZQA5qxp6punC9Dr0OlkXw5X4d+AWFbIKtKrSPto/C9WJWxNKCp h1kDN5/LHcxRuXK+595TCRhpyvuS X-Google-Smtp-Source: AHgI3IaOQQd6a0WweUJG9qaUHX4nrBWWo202xpEAVSZ+lMaiXP8k7M3F1pl63fswjbTkWY388u3gnA== X-Received: by 2002:a5d:4acb:: with SMTP id y11mr4569937wrs.281.1549390584205; Tue, 05 Feb 2019 10:16:24 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:23 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:03 +0100 Message-Id: <1549390526-24246-54-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42b Subject: [Qemu-devel] [PULL 53/76] hw/microblaze/Makefile.objs: Create configs for petalogix and xilinx boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács CONFIG_PETALOGIX_* and CONFIG_XLNX_* configs added to default-configs/microblaze-softmmu.mak and default-configs/microblazeel-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-10-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/microblaze-softmmu.mak | 3 +++ hw/microblaze/Makefile.objs | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak index 7fca8e4..14837cf 100644 --- a/default-configs/microblaze-softmmu.mak +++ b/default-configs/microblaze-softmmu.mak @@ -10,3 +10,6 @@ CONFIG_XILINX_ETHLITE=y CONFIG_SSI=y CONFIG_SSI_M25P80=y CONFIG_XLNX_ZYNQMP=y +CONFIG_PETALOGIX_S3ADSP1800=y +CONFIG_PETALOGIX_ML605=y +CONFIG_XLNX_ZYNQMP_PMU=y diff --git a/hw/microblaze/Makefile.objs b/hw/microblaze/Makefile.objs index ae9fd40..8595a62 100644 --- a/hw/microblaze/Makefile.objs +++ b/hw/microblaze/Makefile.objs @@ -1,4 +1,4 @@ -obj-y += petalogix_s3adsp1800_mmu.o -obj-y += petalogix_ml605_mmu.o -obj-y += xlnx-zynqmp-pmu.o +obj-$(CONFIG_PETALOGIX_S3ADSP1800) += petalogix_s3adsp1800_mmu.o +obj-$(CONFIG_PETALOGIX_ML605) += petalogix_ml605_mmu.o +obj-$(CONFIG_XLNX_ZYNQMP_PMU) += xlnx-zynqmp-pmu.o obj-y += boot.o From patchwork Tue Feb 5 18:15:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037120 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HcGPmw/2"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDxf0dYMz9s7T for ; Wed, 6 Feb 2019 06:23:02 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38493 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6J9-0006TW-Hn for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:22:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gn-0002n8-B0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gl-0004IH-52 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:29 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:43586) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gk-0004HE-HF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:26 -0500 Received: by mail-wr1-x42f.google.com with SMTP id r2so4686334wrv.10 for ; Tue, 05 Feb 2019 10:16:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KWIx0VyB2uY/Zm9j5zFN5JpShAx8zHf7+AIjNw5FQvk=; b=HcGPmw/2dItinIP78Qe4FSnS5kdwWQzyH5ZNcEldLg7SYIGYudjciCnDnwzspjU6D7 zfMWj9gVMhjKeCQK4SmbeZZ08zlOp6eq3b5Qs5Gz2e0FcR8VjQpPkGXnOjMjR2d0+36X 2fkGy1sp5bWw27mvKtpurUOr5pK8ted13tko2m57MCNtyr+ZQJqD33CLcU1/fF4kPk5M lm4MI5QdDreZ4452ji507WjdueBnoWP6bW31oMaV44tq/eTTwB/o/z8jIj6AkDAoaCU0 5JMfeE6OFvcoVrjhZwWJjRbxY7QR6uVqgYa8nIq67HA/AKdU6NdfRbIcQealJ6bdsolh xCDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KWIx0VyB2uY/Zm9j5zFN5JpShAx8zHf7+AIjNw5FQvk=; b=RKHjNeWdW1qnb3Wl/l14jY8V81390lxMo4M8Ao/MwZVUpGZYebwfV3k9d8PZwLQKAx VmcA9HMci2qUg87HfWpeLOtZYoWBECt6TVl+Sh4JkptpgSoxXZUrOQz4Mjfbm401//sM uh2265iaEzLc5gU9P86NNjMz5bGXkNdqZIlp3EYGuWonjTSIYLIQOU/L0CSSrSpqqvwI SJmVQpQ8v6kdRoPRrxsEisnh5rN9FETLxIvnXy1hbAbFb/WiEHWFDRtcTuriqiN830+9 bA6gbG8WRK8x4NC4pVeNpsjQmPsE+Y/3iWrL9KgP/rVKqHVd8aZ/kk7U6YQVQAGz4oow s5iw== X-Gm-Message-State: AHQUAuYr73ZN8eHp2rvpgHm1poH623cBzhkwg0Vzg1/vqe6Iq8OnCJ09 L3iSeKuN9yQf7CUo58Q7h9UpK0xJ X-Google-Smtp-Source: AHgI3IYtJK0v7cUPnbTrIKOkf9qVC7lizEgzlM1Ms585nwqB6fn1EZJyByIGzUbN9o0Vobi/aFWUGg== X-Received: by 2002:adf:c711:: with SMTP id k17mr4540352wrg.197.1549390585063; Tue, 05 Feb 2019 10:16:25 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:24 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:04 +0100 Message-Id: <1549390526-24246-55-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42f Subject: [Qemu-devel] [PULL 54/76] hw/mips/Makefile.objs: Create CONFIG_* for r4k, malta, mipssim boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong , =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács Add the new configs to default-configs/mips*-sofmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-11-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/mips-softmmu-common.mak | 3 +++ hw/mips/Makefile.objs | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak index fae2347..479fb4d 100644 --- a/default-configs/mips-softmmu-common.mak +++ b/default-configs/mips-softmmu-common.mak @@ -36,3 +36,6 @@ CONFIG_EMPTY_SLOT=y CONFIG_MIPS_CPS=y CONFIG_MIPS_ITU=y CONFIG_I2C=y +CONFIG_R4K=y +CONFIG_MALTA=y +CONFIG_MIPSSIM=y diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs index 17a311a..525809a 100644 --- a/hw/mips/Makefile.objs +++ b/hw/mips/Makefile.objs @@ -1,7 +1,8 @@ -obj-y += mips_r4k.o mips_malta.o mips_mipssim.o obj-y += addr.o mips_int.o +obj-$(CONFIG_R4K) += mips_r4k.o +obj-$(CONFIG_MALTA) += gt64xxx_pci.o mips_malta.o +obj-$(CONFIG_MIPSSIM) += mips_mipssim.o obj-$(CONFIG_JAZZ) += mips_jazz.o obj-$(CONFIG_FULONG) += mips_fulong2e.o -obj-y += gt64xxx_pci.o obj-$(CONFIG_MIPS_CPS) += cps.o obj-$(CONFIG_MIPS_BOSTON) += boston.o From patchwork Tue Feb 5 18:15:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037072 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UQHnlU8r"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDQC5HRvz9s7T for ; Wed, 6 Feb 2019 05:59:15 +1100 (AEDT) Received: from localhost ([127.0.0.1]:37971 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5w9-00041E-IB for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 13:59:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gp-0002qS-L8 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gn-0004Jo-Co for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:30 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:44385) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gl-0004Ht-DV for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:29 -0500 Received: by mail-wr1-x441.google.com with SMTP id v16so2847211wrn.11 for ; Tue, 05 Feb 2019 10:16:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=doMOywx7TzX0CH/QdFLHC52uzdKsfH7JMAwe4eFLXe4=; b=UQHnlU8ryaJ3RuMRWglpglZKHBbLgKO1bpc/JER9tFzHp2VkmXKGCq+dP8v3eA2nOa r3CW8uh1GUgox13Qcldqwi3uOWUCVMXDzjgwFmU9K8rVvixkgTcBdQjrNpGeW2yllkK2 R8Sj+LzlydMKjzF3GN6bVXRH8fQPg5HNbNps8Mstkz2RDnyuDAdvr1scl/KaxaJ34wDE pTRUbq+LkRgvPvNJu0bs9zgtPHcQkKymoCitoLjRcIewAI5Akkkn2D2Rkw0YcF9s2SAa jnYblYtdW85BHXWqDh5xiM/WMjCaru6ios1uhChWsC9CxH4iRoyHcEjq1CUgFuqOLCmz CQ0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=doMOywx7TzX0CH/QdFLHC52uzdKsfH7JMAwe4eFLXe4=; b=XENdXTck64q4VaZJXBfI9JGoBpsi6uw83ya2AbQNciSt5KVd8cE0wQaXTD6OCqHjcm 0p/AFxm3gGR1CWOrP17Xoa+2KCG5JYhNi9KyGPRdzi4ozA/L2A7zZVFvLpTqZFiEIr1l JWldCC3pAz/yRw5GP1ciGD8kL/8HeTwaTwDOPemekgSeExp5OaMiq0OCHXOm6Td5BpLj qSqbzqfBKi2Mh9DZLKSNP+gKVyy+4//ol7+c8Q5Sb5WajAqSu+ybyLpPo3LmdGzjPwTf fYMRN0RRR4MAtKoYjiFXmGXH7qbUjXebhvMlmkbXC2gLiQpQX/kUIuufO+ivKI5GvLWF rhFA== X-Gm-Message-State: AHQUAuZ4q+8ApagUVusku7Fypxn/rae7UUqy2HfV58O8kJqq8Rao6C+n d6/5CeOWePS1qfIrQY79gX65i/A7 X-Google-Smtp-Source: AHgI3Ibvse25Z0D/TA+crs1hVEKYrAu/z1dez785tODPxAcM1Zq792edHICJXc+G+yWqWwQ8P/tQJQ== X-Received: by 2002:a5d:4d47:: with SMTP id a7mr5112061wru.42.1549390585990; Tue, 05 Feb 2019 10:16:25 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:25 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:05 +0100 Message-Id: <1549390526-24246-56-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PULL 55/76] hw/ppc/Makefile.objs: Build all boards conditinally with CONFIG_* X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong , =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács CONFIG_PPC405, CONFIG_PPC440, CONFIG_MAC_OLDWORLD, CONFIG_MAX_NEWWORLD and CONFIG_VIRTEX configuration options created for default-configs/ppc*-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-12-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/ppc-softmmu.mak | 7 ++++++- hw/ppc/Makefile.objs | 11 ++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak index 23d871f..7f80f0c 100644 --- a/default-configs/ppc-softmmu.mak +++ b/default-configs/ppc-softmmu.mak @@ -21,6 +21,10 @@ CONFIG_E500=y CONFIG_OPENPIC_KVM=$(call land,$(CONFIG_E500),$(CONFIG_KVM)) CONFIG_PLATFORM_BUS=y CONFIG_ETSEC=y +CONFIG_PPC405=y +CONFIG_PPC440=y +CONFIG_VIRTEX=y + # For Sam460ex CONFIG_SAM460EX=y CONFIG_USB_EHCI_SYSBUS=y @@ -34,7 +38,6 @@ CONFIG_M41T80=y CONFIG_VGA_CIRRUS=y # For Macs -CONFIG_MAC=y CONFIG_ESCC=y CONFIG_MACIO=y CONFIG_MACIO_GPIO=y @@ -50,6 +53,8 @@ CONFIG_GRACKLE_PCI=y CONFIG_UNIN_PCI=y CONFIG_DEC_PCI=y CONFIG_IDE_MACIO=y +CONFIG_MAC_OLDWORLD=y +CONFIG_MAC_NEWWORLD=y # For PReP CONFIG_PREP=y diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs index 1e753de..1111b21 100644 --- a/hw/ppc/Makefile.objs +++ b/hw/ppc/Makefile.objs @@ -13,19 +13,20 @@ obj-y += spapr_pci_vfio.o endif obj-$(CONFIG_PSERIES) += spapr_rtas_ddw.o # PowerPC 4xx boards -obj-$(CONFIG_PPC4XX) += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o -obj-$(CONFIG_PPC4XX) += ppc440_bamboo.o ppc440_pcix.o ppc440_uc.o +obj-$(CONFIG_PPC405) += ppc405_boards.o ppc405_uc.o +obj-$(CONFIG_PPC440) += ppc440_bamboo.o ppc440_pcix.o ppc440_uc.o +obj-$(CONFIG_PPC4XX) += ppc4xx_pci.o ppc4xx_devs.o obj-$(CONFIG_SAM460EX) += sam460ex.o # PReP obj-$(CONFIG_PREP) += prep.o obj-$(CONFIG_PREP) += prep_systemio.o obj-${CONFIG_RS6000_MC} += rs6000_mc.o # OldWorld PowerMac -obj-$(CONFIG_MAC) += mac_oldworld.o +obj-$(CONFIG_MAC_OLDWORLD) += mac_oldworld.o # NewWorld PowerMac -obj-$(CONFIG_MAC) += mac_newworld.o +obj-$(CONFIG_MAC_NEWWORLD) += mac_newworld.o # e500 obj-$(CONFIG_E500) += e500.o mpc8544ds.o e500plat.o obj-$(CONFIG_E500) += mpc8544_guts.o ppce500_spin.o # PowerPC 440 Xilinx ML507 reference board. -obj-$(CONFIG_XILINX) += virtex_ml507.o +obj-$(CONFIG_VIRTEX) += virtex_ml507.o From patchwork Tue Feb 5 18:15:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037099 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BTiIRzKJ"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDYx6yPgz9sDX for ; Wed, 6 Feb 2019 06:05:54 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38057 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr62a-000140-6C for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:05:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36750) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gz-00030m-2x for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gp-0004L5-FF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:34 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:45841) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gn-0004Ii-CI for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:30 -0500 Received: by mail-wr1-x430.google.com with SMTP id q15so4662362wro.12 for ; Tue, 05 Feb 2019 10:16:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Q5FeMQnRtxAUrC7uv4KnOr9YKsOQ6H3tHVumndJDCoY=; b=BTiIRzKJER1ex3rOdTJwaeEfMYg+e07RUY3ZHHw6en9QSDuw59cC/unrzprkDutv9t oq4nYYYZsuPUdOGpIl1N1L2bZukP2DfQhmLLqTE2WJJi3VlqWuZ1xBPR3r93jRx6VMn3 IKe1YC4A2rNCZpS9PX9ySKcBkVoRJUiInzaqTLAhZqaOyqkWUJw5TLpPLGiZD1dpNfte tGURIqKuueKpEMGDBtPHpQFI6Ac+ceemtKpaBsGyz25fApgn5QHjV5fCC89ll31EKA7K NMTusBD2LOm7zdz15qElOt8zE1lnvWV4Lnhg5MNZ14IuzxSFBXjp4Kek7d/u4WcFSTpv P7mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Q5FeMQnRtxAUrC7uv4KnOr9YKsOQ6H3tHVumndJDCoY=; b=lSBjLRiQBLBH2esq60riSr8QYkiAxkzXCM4t7bgJRfDOXK4BGXpA/doaQcWDLl4mPK kd2SqhS6a5lKWCpgTUU/m3WPNm+xptk2JAN9A/6h0eAzVf3xcsDZjGNlUma/jMrQPcM6 sVj1GTINEW2XdYE6svAg7T6BSuXS1SAKx0vTI4DHhD3VSP+zuXB+EHTeZWnwdlbPRxvP oHqjdf4/YnfcIcW5TReqzm6VMbiE4qWMwy1Pxgqcj182Tmj2yLVkCBynJ92wRVYSCR1c E1Lp2KiwQ3k6qltdTIisv2UA13/3LaeY7HF2xlbBDqISPwFlTkurbtPnyRp+kNxBGpI4 s1Ig== X-Gm-Message-State: AHQUAuaIMsdijVykBUI6LCsxqTPrlrHEyeuoXCuLzgvlnX3G2iqRyWsc AmrK97LUaoNFpOGswJGKtToxKsVs X-Google-Smtp-Source: AHgI3IbSNU0JktBi1bHhRExbhxcFMtMFrr6H6DbUbX6vSWnfaYmg3qFtn9VS4KUsR17b8pDU5n/nqg== X-Received: by 2002:a5d:6187:: with SMTP id j7mr4708352wru.300.1549390586976; Tue, 05 Feb 2019 10:16:26 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:26 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:06 +0100 Message-Id: <1549390526-24246-57-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::430 Subject: [Qemu-devel] [PULL 56/76] hw/sh4/Makefile.objs: New CONFIG_* varibales created for sh4 boards and device X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács Make hw/sh4 configurable and add new CONFIG_* to the default-configs/sh4*-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-13-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/sh4-softmmu.mak | 2 ++ default-configs/sh4eb-softmmu.mak | 2 ++ hw/sh4/Makefile.objs | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak index caeccd5..1fdb009 100644 --- a/default-configs/sh4-softmmu.mak +++ b/default-configs/sh4-softmmu.mak @@ -19,3 +19,5 @@ CONFIG_PCSPK=y CONFIG_I82374=y CONFIG_I8257=y CONFIG_MC146818RTC=y +CONFIG_R2D=y +CONFIG_SHIX=y diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak index 53b9cd7..3b550a5 100644 --- a/default-configs/sh4eb-softmmu.mak +++ b/default-configs/sh4eb-softmmu.mak @@ -19,3 +19,5 @@ CONFIG_PCSPK=y CONFIG_I82374=y CONFIG_I8257=y CONFIG_MC146818RTC=y +CONFIG_R2D=y +CONFIG_SHIX=y diff --git a/hw/sh4/Makefile.objs b/hw/sh4/Makefile.objs index 2393702..2a707f9 100644 --- a/hw/sh4/Makefile.objs +++ b/hw/sh4/Makefile.objs @@ -1,4 +1,4 @@ -obj-y += shix.o r2d.o - obj-y += sh7750.o sh7750_regnames.o obj-y += sh_pci.o +obj-$(CONFIG_R2D) += r2d.o +obj-$(CONFIG_SHIX) += shix.o From patchwork Tue Feb 5 18:15:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037083 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RbDg0XZD"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDWK2mVkz9s7T for ; Wed, 6 Feb 2019 06:03:41 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38040 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr60R-0007jq-CW for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:03:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36749) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gz-00030l-2z for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gp-0004LG-MT for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:34 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:56145) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gn-0004J5-Cb for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:30 -0500 Received: by mail-wm1-x32c.google.com with SMTP id y139so4641385wmc.5 for ; Tue, 05 Feb 2019 10:16:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=j/kPztzBFo8ImMIXJt6uf6/HYnuU5ztEoP5Il6Yu9fI=; b=RbDg0XZDhdVY+NdsaXcSyaUPxDjpMej9j9Jmc8F0LUzPRFK8Vge5Dx3UhLhR9zJNaQ Qrcs3I1NPUl+lvtpWOdsB+MINXClvwiB6A6bbpVAu2YfqEkOKKVm6yGpm0Y/kMe5hDsw yh5cryScAGW+AYEMCkdHBIMBwczBWuTXYYYIlXhufeSDh/bmPPsPZnMQXBTjNu896UO/ wDO8CCNa/PKgTNUqPNmosAuT34v/p3ZIWKIqEKQAAdZxFGMBXN5p6qLBOKOR1hJ35YWp PXWYoyXRQV1ce6/lJzG89nvxGgbON299Xo6hFjYSF2GFE/oAf2X5J9CWTQ9zfoRw8ssp 91Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=j/kPztzBFo8ImMIXJt6uf6/HYnuU5ztEoP5Il6Yu9fI=; b=OD0H+ky7Cb3J30NElRVcKLoyb9qQB9c4NuOwJIaV9ZjDBmd1ar6o4ImsFywSU9uzki BaIy4jdRc/t80z1L7hJ1z6DYxebBtKBSh+i0MDLUSUpShf4C05OVIC/vrc3LISbJZRSZ OBUMW9XpGOu4DF/+KIqMExtjkaZVsKAAoiJX9gG7h48oTv9yIEuK0Dz2GpbNT9aTe9cS pwVcKs2b/A6VLCXxdTcK/Ce1rS9s0XoZBE234gQuNmv997qS5ElahApw2mgvZ9F+e9GZ cQWgNl/hOKKlKlmHYM6M6X1jNuLJhypQs1VFtp93bYcz1JUl4P39ehXJ/HKQxPBkPRf6 7EfQ== X-Gm-Message-State: AHQUAuZcrhog2LMX9ooomGbJJz8Pj6AZmRr1Z6XWZndukRi/ViLivK7E UNPyGbbXdawoHajW6/YVSYeBC+/W X-Google-Smtp-Source: AHgI3IbuudcdbX3APAe2X/5bbXHjBQJWO629Ap0xpsMKHUt+rOezz2UIfirNHx8ttGq0jAcgspUwHg== X-Received: by 2002:a1c:2501:: with SMTP id l1mr19646wml.102.1549390587829; Tue, 05 Feb 2019 10:16:27 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:27 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:07 +0100 Message-Id: <1549390526-24246-58-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c Subject: [Qemu-devel] [PULL 57/76] hw/s390/Makefile.objs: Create new CONFIG_* variables for s390x boards and devices X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Make hw/s390x configurable and add new CONFIG_* to the default-configs/s390x*-softmmu.mak. This will be used to enable/disable vfio-ccw. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-14-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/s390x-softmmu.mak | 1 + hw/s390x/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak index 5eef375..8bb7e43 100644 --- a/default-configs/s390x-softmmu.mak +++ b/default-configs/s390x-softmmu.mak @@ -8,3 +8,4 @@ CONFIG_S390_FLIC_KVM=$(CONFIG_KVM) CONFIG_VFIO_CCW=$(CONFIG_LINUX) CONFIG_WDT_DIAG288=y CONFIG_VFIO_AP=$(CONFIG_LINUX) +CONFIG_S390_CCW_VIRTIO=y diff --git a/hw/s390x/Makefile.objs b/hw/s390x/Makefile.objs index ca68806..a18c471 100644 --- a/hw/s390x/Makefile.objs +++ b/hw/s390x/Makefile.objs @@ -5,7 +5,7 @@ obj-y += sclpquiesce.o obj-y += sclpcpu.o obj-y += ipl.o obj-y += css.o -obj-y += s390-virtio-ccw.o +obj-$(CONFIG_S390_CCW_VIRTIO) += s390-virtio-ccw.o obj-y += 3270-ccw.o obj-y += virtio-ccw.o obj-$(CONFIG_VIRTIO_SERIAL) += virtio-ccw-serial.o From patchwork Tue Feb 5 18:15:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037101 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="M1FCXhb1"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDb90NR0z9s7T for ; Wed, 6 Feb 2019 06:07:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38095 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr63f-0001vT-2M for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:06:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5Gz-00031F-Lf for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gq-0004La-4q for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:36 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:37811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Go-0004Ja-Tu for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:31 -0500 Received: by mail-wm1-x334.google.com with SMTP id g67so4752730wmd.2 for ; Tue, 05 Feb 2019 10:16:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LSz8dxfQLWpJnqgwfif1Y5x9AwbZWEjzvHu+73cp+Fk=; b=M1FCXhb1XmMerBMZIjrwclO794YL3wKQvTYS5HHbTKn+9cmpFv8bvITifelmsGxWuw WmfSYXwwW3XdSfSTrW8eCohG970ytc0DI3JL/7yB+9FotZn1ISEXCc5jN/coGg2bFWuO NrKuhmDB+XawhNsiGT8j2WYzd/2dDzR65tUiR1ltsbgXh8/jxjRWg8Q371j1L7telq4B zN6c1llZ6GfY2hdldr2bA4mQWFAXSJ0q00BcGAuff/13kTyMSuxZo2qkmmGyC+woccXn yaM9POcbu4n9TZcSTMN/MOiwu3yvz5HH/lD4wW4A1CSNHG9R6YLaNH2u+J9ZtPeCTwEV dUNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=LSz8dxfQLWpJnqgwfif1Y5x9AwbZWEjzvHu+73cp+Fk=; b=qHxsqxSTVdIpEiMYn2iAVF62c20u27CkQRcRaUg0152WKNOhsGlK8eECrKdfqWunno 96XQfwrIH1iAgZI6W1cj8SeNuE3BCBakcvxMtLTpG5Z5t98bybxZ4KxgDS6ugBwzNz7a gvmeDyBefn57X7gINIS0nggX4eEs6JaZzlkG1qvOLJn9B5ungdeVk6iZGEk2+q+miJjC ymJmzg16/BeAITbGQMF4OhTPOHIu2qTDNL71K6GgbIJ74tG2MY12sGN2p0/VNDd0qozb d00tIap7WKyCf6SGOJk49ZsCloXiPIr4DMTtVGgVeSIpnNsZgdmal/CClpsGxzc8Kk/H cVMA== X-Gm-Message-State: AHQUAuYoTLCC0F3kmZ/uD3aoR2ymHkFg1JQlNqlCTWFsSLoKTsaDUjT9 swaFFEOXH2ADtlv+US7yaaowLR0m X-Google-Smtp-Source: AHgI3IatjkfHsXPoNIo6cwJfd19OT83teRJXgHQqz1aY7ycMqgbiAQzDLDhDJwazzrdIKZtAI6gyyw== X-Received: by 2002:a7b:c8d7:: with SMTP id f23mr4653382wml.121.1549390588598; Tue, 05 Feb 2019 10:16:28 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:28 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:08 +0100 Message-Id: <1549390526-24246-59-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 Subject: [Qemu-devel] [PULL 58/76] hw/sparc/Makefile.objs: CONFIG_* for sun4m and leon3 created X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács CONFIG_LEON3 added to default-configs/sparc-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-15-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/sparc-softmmu.mak | 2 ++ hw/sparc/Makefile.objs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak index 12f97ee..59a4a3d 100644 --- a/default-configs/sparc-softmmu.mak +++ b/default-configs/sparc-softmmu.mak @@ -18,4 +18,6 @@ CONFIG_CS4231=y CONFIG_GRLIB=y CONFIG_STP2000=y CONFIG_ECCMEMCTL=y + CONFIG_SUN4M=y +CONFIG_LEON3=y diff --git a/hw/sparc/Makefile.objs b/hw/sparc/Makefile.objs index e2d0828..d57e33f 100644 --- a/hw/sparc/Makefile.objs +++ b/hw/sparc/Makefile.objs @@ -1 +1,3 @@ -obj-y += sun4m_iommu.o sun4m.o leon3.o +obj-$(CONFIG_SUN4M) += sun4m_iommu.o +obj-$(CONFIG_SUN4M) += sun4m.o +obj-$(CONFIG_LEON3) += leon3.o From patchwork Tue Feb 5 18:15:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037105 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="STcp/aAx"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDfp59H0z9s7T for ; Wed, 6 Feb 2019 06:10:10 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38126 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr66i-0004TI-Jj for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:10:08 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36772) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H3-00035P-Fb for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gu-0004NN-2O for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:39 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:51901) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gp-0004KQ-Lt for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:32 -0500 Received: by mail-wm1-x335.google.com with SMTP id b11so4697300wmj.1 for ; Tue, 05 Feb 2019 10:16:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8LSIDazrcVd8zDVCYyTuLdEhx/aiE8/pjVdyheRsP8g=; b=STcp/aAxic72iq0uYIbsSu3t0cMdczXSw2aPabz+aEIjyq75ffozNzv4zRI/rZh2NB hy/ZdnbADTDJxBNaU/IQvM0DvNy/OfNq65XqkdsWsj15K10Zpzla0vEyef89hj+8kIra v3Uouv3dWxMHhXlt20AjWqPSs2fYzRoJXiGTv19MuOp5sl8S5x4m91b3cyT1nkAqkBD4 S0XabwnbeRXY9105nUxoJgayN08T4zB3iB5Dfekas3OWN1UhhksNzMRCl9UtrBOV7H3M fhUHptMHLI7LNz8AYhpn5KoFY5M21xnxP/u2/G4EJkB1RlDfuqhlX8QHd8+X35FUD4LN VrAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=8LSIDazrcVd8zDVCYyTuLdEhx/aiE8/pjVdyheRsP8g=; b=JBibG8bnWJXb72whVTFNQfrBxj7xkEl8aTXMzOdmxMq9jwbBwJOV7Yt5+AFiM7SE2m LX4k4W6x2JVn3nFINZSTk1bztVU0cum2+sn1s5/PvWf+tqFO5QlFVG4Pf1ucEVUK/7EB KTlpOFsMGuqkMcDAzIIDthGTsKqLBwEbPPPGCn5ol/84XLl6IO/UF351Rezz5K0shL36 zg71ZtgGmCUSATCZhP+jOsrp97N8j6U0piFVLeNbKxDfTkhiAFa3mQqIj4xRbI57wFm9 hel7veKWuDTqUAPwzaz34GeSKo/GpGeFE/eL/R4mk7hHTw25Rbf90bsgmZB5KXlYHw35 s+Lw== X-Gm-Message-State: AHQUAubdpcCeOXasphLxY8tFHGx992vTFrnNLLBIfIY+wUBl1d4W5mKY CisS0C+HM5KXZL68K39TTdx9PjjX X-Google-Smtp-Source: AHgI3IbkywKh8H4EcWFkqeSkFz3PoAwZkWGs2WPchlrbTmXPJjuMwv5ZNPHWt+zDgSaxky7iWbxoNA== X-Received: by 2002:a1c:48d:: with SMTP id 135mr6838wme.1.1549390589569; Tue, 05 Feb 2019 10:16:29 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:28 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:09 +0100 Message-Id: <1549390526-24246-60-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::335 Subject: [Qemu-devel] [PULL 59/76] hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács CONFIG_LM32 and CONFIG_MILKYMIST added for lm32 and milkmyst build. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-16-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/lm32/Makefile.objs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/lm32/Makefile.objs b/hw/lm32/Makefile.objs index ea6418a..c394186 100644 --- a/hw/lm32/Makefile.objs +++ b/hw/lm32/Makefile.objs @@ -1,3 +1,3 @@ # LM32 boards -obj-y += lm32_boards.o -obj-y += milkymist.o +obj-$(CONFIG_LM32) += lm32_boards.o +obj-$(CONFIG_MILKYMIST) += milkymist.o From patchwork Tue Feb 5 18:15:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037108 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KBlGkmdM"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDk50K9Mz9s7T for ; Wed, 6 Feb 2019 06:13:01 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38246 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr69S-0006sN-SY for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:12:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H4-00036L-IH for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5Gz-0004Ps-N8 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:45 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:40598) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5Gq-0004Kk-AU for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:36 -0500 Received: by mail-wm1-x331.google.com with SMTP id f188so4727051wmf.5 for ; Tue, 05 Feb 2019 10:16:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ircRBc6k5hgSZm+31EX5eyGI7FFt/IS5w7tEfRPC8Eg=; b=KBlGkmdM4z6++bGawUaKx6RwSqsi04Cfy7lPSvcDM/q9nLeRjx7+SMhSw3Ih5DP3DA fa/sRQ5pn+dnxyCVK0FkVY9b0A4SRcQQ4t0cejKpnYRhlJ0SnXKwEftJAgiY9Mu/jz63 K71xmMmWJcCp6E2FBT+B486zwuSyGw0i7Vej88IfVfliL2qJzNWW1ZByf0IjRw6lbpbp jUFg/kgR6IEdD0YNZcxgbP2YIqlH0bhuIeO92ELBFaaVCZ/3CrLofzPNYy3MCmELLt08 MN9ZpgTnIR4NGFFuWpI+8jqpKMneHziEAxMHl0g7U0qLVqW8KIeI1ZfBRLmAL6vVdpVE x2gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ircRBc6k5hgSZm+31EX5eyGI7FFt/IS5w7tEfRPC8Eg=; b=LPreikgUdiCMGXwH4Q7tzpilV4BHrSXbcW9g3ixdED1POd9C+FeGLDA2aKShQFXuUO MeP4e7el5lOg8EDreFhu+JcikaUVRChxfypHHuLY8bTSOegE+hr8ZEdSUa8z0ba4hJsm /qsCeI3XzHBcwXMfnkiMRGlkklCYqtc9D9lhrNf3YeUZy93+IuPBAfr1MZCMelx2JHk0 i6YG+4Z7Zl6I2xJyXT8za5dWnqlPIyCbbnq1sUVhYdVTGW3j1wFT1FujVe3Soq1dfFdn IjxdQwIqcl5t4mDYJ6TMQyL8VHJ2oym43G+1t16U3TJzOn6k8ZECAc4dMmbLytsEGI7u w8ng== X-Gm-Message-State: AHQUAub3Lqm35LLJhmicVP9zNgmSyKWl1RbWtkg6mIg/Z72cp6C5o3j+ ZEJnyTQl6IYnH7OjkQndqHItB0xp X-Google-Smtp-Source: AHgI3Ib/DUq7vN///sWkKUnoCzKvYYQt3WJ1voDD8UoWmZ/CubOZHmT8mFTkewKtXuVIYIk3KNp/8w== X-Received: by 2002:a1c:5dd1:: with SMTP id r200mr4904447wmb.93.1549390590500; Tue, 05 Feb 2019 10:16:30 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:29 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:10 +0100 Message-Id: <1549390526-24246-61-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::331 Subject: [Qemu-devel] [PULL 60/76] hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_fpga conditionally X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?w4Frb3MgS292w6Fjcw==?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Ákos Kovács Add the new CONFIG_* values to default-config/xtensa*-softmmu.mak. Signed-off-by: Ákos Kovács Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Acked-by: Max Filippov Message-Id: <20190202072456.6468-17-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/xtensa-softmmu.mak | 3 +++ default-configs/xtensaeb-softmmu.mak | 3 +++ hw/xtensa/Makefile.objs | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/default-configs/xtensa-softmmu.mak b/default-configs/xtensa-softmmu.mak index 9d8899c..baf90ca 100644 --- a/default-configs/xtensa-softmmu.mak +++ b/default-configs/xtensa-softmmu.mak @@ -3,3 +3,6 @@ CONFIG_SERIAL=y CONFIG_OPENCORES_ETH=y CONFIG_PFLASH_CFI01=y + +CONFIG_XTENSA_SIM=y +CONFIG_XTENSA_FPGA=y diff --git a/default-configs/xtensaeb-softmmu.mak b/default-configs/xtensaeb-softmmu.mak index 9d8899c..baf90ca 100644 --- a/default-configs/xtensaeb-softmmu.mak +++ b/default-configs/xtensaeb-softmmu.mak @@ -3,3 +3,6 @@ CONFIG_SERIAL=y CONFIG_OPENCORES_ETH=y CONFIG_PFLASH_CFI01=y + +CONFIG_XTENSA_SIM=y +CONFIG_XTENSA_FPGA=y diff --git a/hw/xtensa/Makefile.objs b/hw/xtensa/Makefile.objs index f30e4a7..fa86730 100644 --- a/hw/xtensa/Makefile.objs +++ b/hw/xtensa/Makefile.objs @@ -1,5 +1,5 @@ obj-y += mx_pic.o obj-y += pic_cpu.o -obj-y += sim.o obj-y += xtensa_memory.o -obj-y += xtfpga.o +obj-$(CONFIG_XTENSA_SIM) += sim.o +obj-$(CONFIG_XTENSA_FPGA) += xtfpga.o From patchwork Tue Feb 5 18:15:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037130 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="as3ETmM0"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vF8C4tcsz9s7T for ; Wed, 6 Feb 2019 06:32:09 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38745 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6Rz-0005YG-3A for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:32:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H9-0003AC-7G for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004WP-9A for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:51 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:56153) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004Le-0P for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x334.google.com with SMTP id y139so4641564wmc.5 for ; Tue, 05 Feb 2019 10:16:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=qrDAkW9uEUrlAgtodlfmphkxd4uPpm7vFvK+XT+HpkU=; b=as3ETmM0dr6IkZDVmKaGQ0HRVW9Nj4+24ZkDDT8Yjv7gMcMUkNbrgOijFdE+FzKOnB Ru/Ez/OIJIx3fnNxd4S9OXwe1Dva6to2+AhZ1KFv+xOXGW0vOr4RjuZSszoTTKFGgs/K LNkUpGHNtA1ULx89vNN5ytoN8FG8bwPm6Rf8p9kid003b5OXZlNiXwJIZxh2qfTIQ/qb oLnd0mZMzPsHw/Ke5s5WbwWfqdLRp3U4x2Jmadf9z9HNjJiMufCbcRK4hDfQNK+719sx 6Yel0zVTHiEYEPzAhmVTrffcr1KH/j2j7ivcUiUZ3C45Xs8qPiSChsGKtWyhT0wmam3d OKgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=qrDAkW9uEUrlAgtodlfmphkxd4uPpm7vFvK+XT+HpkU=; b=Kt/YQG0s0HQZFsdjU19esG3gMZvAulfsQDRWYFH8uWGSVDQrGF83GYXUlcrZ4foq7W hC0f4lPEC6k0FIj0dHE9jDofrYrZ9FoU0LdmokgPghkIofKqOe+o4Zh8PGZjrtAMFF/K l2Vry3x5qexYmJFk2ye0YiaUBwrNmDsahiFTR+DExZkK/Bzr43Kv22Mqy/gAWsY+rqg9 Sx7FyapNcZrcFqFN0O/oREQXw9ShCJqLJEOwZMPjG1AQ57cXz+AZDh9zmTTppPpMJbvj lxTYttuCb/yDD30TeXTcZBlZ4brqid36NssdM+bn++ud1bGFtvIQCQzbdjB7yN8z1uGD LSiQ== X-Gm-Message-State: AHQUAuZ0bpwwpAy6U1o54kmByptgX6cR4WBsYGFcBhAUlkYHztKSR6zd EzV7wbG3fSqXfFVC7jTK/pd8ixfW X-Google-Smtp-Source: AHgI3IbBVajXFih8njTUbP43gyHLxTG0NsSPIzTaPrpUk48fGjolEIRFrh4onaG+gRuo7WM20k569w== X-Received: by 2002:a1c:541a:: with SMTP id i26mr13547wmb.128.1549390591489; Tue, 05 Feb 2019 10:16:31 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:30 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:11 +0100 Message-Id: <1549390526-24246-62-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 Subject: [Qemu-devel] [PULL 61/76] hw/nios2/Makefile.objs: Conditionally build nios2 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong CONFIG_NIOS2_10M50 added for 10m50 dev board. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-18-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/nios2-softmmu.mak | 1 + hw/nios2/Makefile.objs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/default-configs/nios2-softmmu.mak b/default-configs/nios2-softmmu.mak index 74dc70c..ab42d0f 100644 --- a/default-configs/nios2-softmmu.mak +++ b/default-configs/nios2-softmmu.mak @@ -4,3 +4,4 @@ CONFIG_NIOS2=y CONFIG_SERIAL=y CONFIG_PTIMER=y CONFIG_ALTERA_TIMER=y +CONFIG_NIOS2_10M50=y diff --git a/hw/nios2/Makefile.objs b/hw/nios2/Makefile.objs index 6b5c421..89a419a 100644 --- a/hw/nios2/Makefile.objs +++ b/hw/nios2/Makefile.objs @@ -1 +1,2 @@ -obj-y = boot.o cpu_pic.o 10m50_devboard.o +obj-y = boot.o cpu_pic.o +obj-$(CONFIG_NIOS2_10M50) += 10m50_devboard.o From patchwork Tue Feb 5 18:15:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037107 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="p4CO9h8P"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDj12GjLz9s7T for ; Wed, 6 Feb 2019 06:12:05 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr68Z-00062t-4A for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:12:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36990) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003Bv-Kp for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Xp-PH for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:40600) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004MA-EW for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x333.google.com with SMTP id f188so4727154wmf.5 for ; Tue, 05 Feb 2019 10:16:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=OxyDhylZmne+lcFt5qce69tnUH/BHgH0svz94VFCUfE=; b=p4CO9h8PU9B/EQsrfWqpJaXLRWIFQgu4rUtiRKfndJwQX5afbcKXuK34Ks/BggLmCR 6I7d1H3M1CSQumZm1jW4O/gY6wKZ/XhzjiF2s97DWFmNxBrTm84iaHh+tIYFK9sEgqiI nZD8ifTV6NcMQV4cnrJdzHeudu75t9COSonp0II+NU/bmQFbP08WJn0w0A9zV1Ri8l0G +xNRXUVgcZmpPaWYhxvlxLkVRZ44Jdv0eNWGw4YSjr9RmipzI7iG4WpfrvDrl6PxPyzC A1/6uAQ254pnI8xgUIwdxTabDPbN3QF7cB4oD6d8xwhvM+5aZJ+lcTBuxSIHMOO2hma2 ngDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=OxyDhylZmne+lcFt5qce69tnUH/BHgH0svz94VFCUfE=; b=Goiuz45mLAYNbc+oJIC9RuehKeUrSV6VlSjz0498QTaIB2YC6F/tfeVV+uDK+3NV1x K1OQ5VAdDD8oHMZs+E4MuXwnoZ/FM0GiYkA5VNuS08tsGhSlEnzZC9XQdcJt96yi/Sq0 lInHPk1eJ5Ykibpf9lL59/DDsEBEMvqoSSBRVUVVDXgaNigP3QTm7ntQXcihuwdKJDwh hKqpo50l/PrFsIi6dMmn+eV6jnmobSdCMW+b4XTQ+sbySD4lRvQiEFEnH45qeLa9feoQ aLefmJIiuyzvVuzsNdZQa2ZQC8YShSpBXTPAm+5SQk8IJIdDi8XKegRoOu1dbhEaTOOZ la2Q== X-Gm-Message-State: AHQUAuZbn8I64RcObxXNFh1CmkdQaUshIr7+lAUjwhv7sdjC2+5P2m4V oKZGrsiugRiYC6zmeBs7QkKp/MRC X-Google-Smtp-Source: AHgI3IY4E85tDC6qUyEmyOVxsXDKWWPz3+Ffgj9Fl7xACvCfeE2/S7OQaijLh643WWd67po6mK0Dtw== X-Received: by 2002:a7b:c399:: with SMTP id s25mr21490wmj.90.1549390592434; Tue, 05 Feb 2019 10:16:32 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:31 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:12 +0100 Message-Id: <1549390526-24246-63-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 Subject: [Qemu-devel] [PULL 62/76] hw/riscv/Makefile.objs: Create CONFIG_* for riscv boards X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/riscv*-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Alistair Francis Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-19-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/riscv32-softmmu.mak | 7 +++++++ default-configs/riscv64-softmmu.mak | 7 +++++++ hw/riscv/Makefile.objs | 22 +++++++++++----------- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak index fbfd1d4..6533716 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -12,3 +12,10 @@ CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y CONFIG_VGA=y CONFIG_VGA_PCI=y + +CONFIG_SPIKE=y +CONFIG_HART=y +CONFIG_SIFIVE_E=y +CONFIG_SIFIVE=y +CONFIG_SIFIVE_U=y +CONFIG_RISCV_VIRT=y diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak index fbfd1d4..6533716 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -12,3 +12,10 @@ CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y CONFIG_VGA=y CONFIG_VGA_PCI=y + +CONFIG_SPIKE=y +CONFIG_HART=y +CONFIG_SIFIVE_E=y +CONFIG_SIFIVE=y +CONFIG_SIFIVE_U=y +CONFIG_RISCV_VIRT=y diff --git a/hw/riscv/Makefile.objs b/hw/riscv/Makefile.objs index 1dde01d..79bfb3a 100644 --- a/hw/riscv/Makefile.objs +++ b/hw/riscv/Makefile.objs @@ -1,11 +1,11 @@ -obj-y += riscv_htif.o -obj-y += riscv_hart.o -obj-y += sifive_e.o -obj-y += sifive_clint.o -obj-y += sifive_prci.o -obj-y += sifive_plic.o -obj-y += sifive_test.o -obj-y += sifive_u.o -obj-y += sifive_uart.o -obj-y += spike.o -obj-y += virt.o +obj-$(CONFIG_SPIKE) += riscv_htif.o +obj-$(CONFIG_HART) += riscv_hart.o +obj-$(CONFIG_SIFIVE_E) += sifive_e.o +obj-$(CONFIG_SIFIVE) += sifive_clint.o +obj-$(CONFIG_SIFIVE) += sifive_prci.o +obj-$(CONFIG_SIFIVE) += sifive_plic.o +obj-$(CONFIG_SIFIVE) += sifive_test.o +obj-$(CONFIG_SIFIVE_U) += sifive_u.o +obj-$(CONFIG_SIFIVE) += sifive_uart.o +obj-$(CONFIG_SPIKE) += spike.o +obj-$(CONFIG_RISCV_VIRT) += virt.o From patchwork Tue Feb 5 18:15:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037112 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="aGgAjU44"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDnR1Twyz9s7T for ; Wed, 6 Feb 2019 06:15:55 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38309 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6CH-0000oq-3t for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:15:53 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36810) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H7-00037K-KP for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H5-0004TQ-Nm for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:49 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:54475) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H3-0004MZ-GH for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:46 -0500 Received: by mail-wm1-x32d.google.com with SMTP id a62so4681191wmh.4 for ; Tue, 05 Feb 2019 10:16:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=nuyXR7RFGrGcuCAlpbUQ69RvzLFmMJYlJ/N5kaIwJrc=; b=aGgAjU44JBXAXfib5fpKNlIUg6atrYNhF5uarRLTzPE2xNAGTNPCtD8UTxKqfYK9yP Lcg9wqgqeJEngwurHh8IcfLqDWK6kPgnsK2fJC2WcdH6dHD9LO1W6Uxi7lhpI4aXwGkP b6NuPm7VqjsnY7WH6oOLQcnB/b/lFL9wNXn2mtdNp6/smzjOw6REJjATxuDLz3E1jZ7Q Zslx5bJE473EXTxxpWFdVZ47FRdxlAbY/OWoJJPQvvS7YXsbIl2ylhyl9f+vv6F/xvRO 8I+HGs6DGf6mfk2FOGL5yfasBbXUVwB610Exi1Xbz41F4STPsrUOMmQFZaAxUZpUJJLa XQww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=nuyXR7RFGrGcuCAlpbUQ69RvzLFmMJYlJ/N5kaIwJrc=; b=FIDmVy4ZShCrE97IOqwGJLrFHs7pcOhg+G8hfPvR3xsUy8H22IJi8kNcFhOPsgdTMR JMm+1gnYVdxBl2JlgNgJtx3DhUZzMQdkbvg6Tlf3nWLi/rMDWOoTvk/eFr0J1rpVrJpw GaDCWDEGgah1FfzfPE8s9OosqelwLp3pHS88uR5524GKbF4g5jVJwlfj/k14aXQeutf9 2YBWZ8VJYCBAv7ar+K31nLl+JESQCn/9ff0GOiiYs26APIBFyJWpr/GwjqUCXuccq5W+ UpCeVS29VZVBETCiqQJ4eXezMyWiqMLHmnr+eisGErxQxp1+XwRy7WRD0Gw4bUa8NfWJ +9sw== X-Gm-Message-State: AHQUAuaWJUCNjjqYLNmopOYVAzDVJSz3EGlGeflpTlOomeTm+x5z1ZHn u4FZUGr2V0+yen+IjWrmNHAUTjsr X-Google-Smtp-Source: AHgI3IakspTLI+QkbgbNq4ZUGYxHLom9elSiFxmeNeyxmQhOD5nClryVjLr8NAv8+mrcV+6MoiWVmg== X-Received: by 2002:a1c:2c6:: with SMTP id 189mr5406wmc.21.1549390593460; Tue, 05 Feb 2019 10:16:33 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:32 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:13 +0100 Message-Id: <1549390526-24246-64-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 63/76] hw/sparc64/Makefile.objs: Create CONFIG_* for sparc64 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/sparc64-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-20-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/sparc64-softmmu.mak | 2 ++ hw/sparc64/Makefile.objs | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak index ce63d47..1fae488 100644 --- a/default-configs/sparc64-softmmu.mak +++ b/default-configs/sparc64-softmmu.mak @@ -17,3 +17,5 @@ CONFIG_SUNHME=y CONFIG_MC146818RTC=y CONFIG_ISA_TESTDEV=y CONFIG_SUN4V_RTC=y +CONFIG_SUN4U=y +CONFIG_NIAGARA=y diff --git a/hw/sparc64/Makefile.objs b/hw/sparc64/Makefile.objs index 117e0ff..af0525c 100644 --- a/hw/sparc64/Makefile.objs +++ b/hw/sparc64/Makefile.objs @@ -1,4 +1,4 @@ obj-y += sparc64.o -obj-y += sun4u_iommu.o -obj-y += sun4u.o -obj-y += niagara.o \ No newline at end of file +obj-$(CONFIG_SUN4U) += sun4u_iommu.o +obj-$(CONFIG_SUN4U) += sun4u.o +obj-$(CONFIG_NIAGARA) += niagara.o From patchwork Tue Feb 5 18:15:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="GQqmUznm"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDs30VBCz9s7h for ; Wed, 6 Feb 2019 06:19:02 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38424 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6FF-0003IO-VL for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:18:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H8-00039u-Uk for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Vv-12 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:53327) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H7-0004Mv-PF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:49 -0500 Received: by mail-wm1-x32a.google.com with SMTP id d15so4680704wmb.3 for ; Tue, 05 Feb 2019 10:16:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=matwrA26EtYcdRo4HCSM4JmiBk7su/Tr1gzMlfiRqoM=; b=GQqmUznmn3AXaFBn7kEFBA2E3FfwTqsxr4C/n3sbGqmgDh7nh2m0yrto6BuqeKFfpH TomPBUWEgdEGiPtB3Ym0gVSjpnhJf+hO3larrN6MlnNja9ZG/JlNBkK3xekYqsP9ea2T HEsK9A7JqfKn2Iva2SdxMjtAydre+tQr0CuSmuWl9SwLVvC/cW6EKT3v4LCBYigpIJpY AoJQYJ3HBc0sSKHzB9A6mdtVF3373RkGAjtP46tEgs7sNb4MffEWrsTtrSlD/GVZicxg lpT40t53IVNCzFxGPz0zHo6I+Saq2TcF+aB7Brj3sFJA6PR0+rUoScbIas1s8t5FzDWK oFlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=matwrA26EtYcdRo4HCSM4JmiBk7su/Tr1gzMlfiRqoM=; b=qOiw8vHg6mVyiUw88y9VvbhIKAlg0qMTVyckiIRB+jqqFg941YUPWDXN233y/BzWQ8 CxcH9BvdL6Khpi3AUNtbQKw0VDgJ7lnesAFINmk43f2QC/oyWn/GG1/qUkx5d3nz/OXM tv0aUAQP3KnoLJpgxLVWLabykOmCbveJPglog1uiaNTbYv5MIYaq8m+NCbTS/sRe2rTO pHe400KGKducqrFlSbxyohewNVmqJjjGJm+5fqdANJbOY8oos5TLGJivoW7QvC7XREyw UdZUF/cYgS6mhQZxbfzEs1DU/lz6LUfa4r32jzsAILhEIc7qSOlrGAXFhzf8NT6PPMim nOSA== X-Gm-Message-State: AHQUAubYQr3fC7QQQ95I+51trdodKDeadhP0qZ7yRTU7ABTQTv/6f8a9 8aFjnuzbA8hU3JdjKP6eYf5U066M X-Google-Smtp-Source: AHgI3IaueEWQXp56P76c50QJTWUaxVFB8wqlwl+77b3CKY4pUTVsRlJkdIE9mY6MOz2UTL0bBE8sqw== X-Received: by 2002:a7b:c8d7:: with SMTP id f23mr4653672wml.121.1549390594419; Tue, 05 Feb 2019 10:16:34 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:33 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:14 +0100 Message-Id: <1549390526-24246-65-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32a Subject: [Qemu-devel] [PULL 64/76] hw/alpha/Makefile.objs: Create CONFIG_* for alpha X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/alpha-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20190202072456.6468-21-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/alpha-softmmu.mak | 1 + hw/alpha/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak index 4d654ea..49cb7ce 100644 --- a/default-configs/alpha-softmmu.mak +++ b/default-configs/alpha-softmmu.mak @@ -19,3 +19,4 @@ CONFIG_I8259=y CONFIG_MC146818RTC=y CONFIG_ISA_TESTDEV=y CONFIG_SMC37C669=y +CONFIG_DP264=y diff --git a/hw/alpha/Makefile.objs b/hw/alpha/Makefile.objs index 5c74275..62fdf3e 100644 --- a/hw/alpha/Makefile.objs +++ b/hw/alpha/Makefile.objs @@ -1 +1 @@ -obj-y += dp264.o pci.o typhoon.o +obj-$(CONFIG_DP264) += dp264.o pci.o typhoon.o From patchwork Tue Feb 5 18:15:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037128 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Frc0uahf"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vF4n0vyfz9s7T for ; Wed, 6 Feb 2019 06:29:12 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38621 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6P7-00031v-Ry for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:29:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H8-00039t-UF for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H7-0004Vo-Ut for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:34046) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H7-0004NJ-No for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:49 -0500 Received: by mail-wr1-x42f.google.com with SMTP id z15so2674786wrn.1 for ; Tue, 05 Feb 2019 10:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=h4mLjHPcNB9mneddCGXNsrCJ+pS0EKaaZkvsPkhwWtY=; b=Frc0uahfMBxq+poeUUxxt94sUeDwUd0E0mB33EUV/LBaC93Wj2wM4/bVRHO5CRIPIY VSbg5LFIb/n6/RT4JZc9bjJCdRCZ/BZZVqzH8adjnDhZnZ1KXFyqoAReoaxTxhUXjjhW rT5NPQLxFBW5i6jijbXFb1fJO8aBrYxrB9p7VxPAix9Siwqy9LKQqYa7UolHaO3L+Att /KuZMBdEjAP4M4cgvxS1apQ7eJWO0d380dlo9Pg8ARu1bTZngBsOc8UcnzXZrrKxtrP1 TJCHzzmTGKGVoQHuMTpJpL2hWbBwofvLczChLPhV8TI1vSXDNnzVcaK+OlakUv3vHfXE 3nRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=h4mLjHPcNB9mneddCGXNsrCJ+pS0EKaaZkvsPkhwWtY=; b=IJKJeDaddaJ3Tp/lBv2FtDCxpODOA1e/hpVDK1/sE3G2uA6EYrMf9PU1WWmBfRUGsG 2v3CB2qY5X3SrnX5OiXMYrrGQRHMRF0E6beIT8kBGZVEVYmDwTn82CepyEPJDdqNYa2L 2ODcT5ncxHM0YtHb0oMmpgoES8GAy1w4i5DmG3/Bnu4NulHPFH41UrV1VjeM7GLqGtHu F8MHNJPEJ8d4eJ5NI00/d1kMa5wzCxCOlh9caff12DiAemz9/OeH7Kw60YMCo9Nf8uql K0fy93TFQ0TaEjlYQlKNMXGY4ed/3e40A2oDmSIQFpm3a+Re/SabSK5+WBLuSRphEV9L rBzg== X-Gm-Message-State: AHQUAubC8ons6dyDc83i6oBYtflk1xknB1x7W/SzepgcpMga8iQs74DP d/O9LtxBYyv9SdJHrCs2v2NK3mAO X-Google-Smtp-Source: AHgI3IbOaLRxEzO8wsxvl0u1+1uN83WxU8i5tuy1VtxRUT7CzjUrduRpbfiuJYIvOVxorDLoT7Gl/g== X-Received: by 2002:a5d:514c:: with SMTP id u12mr2971607wrt.205.1549390595360; Tue, 05 Feb 2019 10:16:35 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:34 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:15 +0100 Message-Id: <1549390526-24246-66-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42f Subject: [Qemu-devel] [PULL 65/76] hw/cris/Makefile.objs: Create CONFIG_* for cris X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/cris-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-22-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/cris-softmmu.mak | 1 + hw/cris/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/cris-softmmu.mak b/default-configs/cris-softmmu.mak index d970d50..a637c4b 100644 --- a/default-configs/cris-softmmu.mak +++ b/default-configs/cris-softmmu.mak @@ -4,3 +4,4 @@ CONFIG_ETRAXFS=y CONFIG_NAND=y CONFIG_PTIMER=y CONFIG_PFLASH_CFI02=y +CONFIG_AXIS=y diff --git a/hw/cris/Makefile.objs b/hw/cris/Makefile.objs index 7624173..a4a27b3 100644 --- a/hw/cris/Makefile.objs +++ b/hw/cris/Makefile.objs @@ -1,2 +1,2 @@ obj-y += boot.o -obj-y += axis_dev88.o +obj-$(CONFIG_AXIS) += axis_dev88.o From patchwork Tue Feb 5 18:15:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037119 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ofdFz8BI"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDwb5nPJz9s7T for ; Wed, 6 Feb 2019 06:22:04 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38481 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6IE-0005lr-Sl for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:22:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003BD-0A for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Xv-PJ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:51 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:36259) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004Np-Gn for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x32b.google.com with SMTP id p6so4749818wmc.1 for ; Tue, 05 Feb 2019 10:16:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=mj7xAfz9pleAUnBQ1tgt7BGC4LAqwc1dS7JkoSONRJg=; b=ofdFz8BIohnuzT7MlpbKJTwqR48ZlWrcW53TejK7ahmByq1CGXvUUGGhAzhpGxqRuM ogWZc440rNM9j3eJOEAWRK0cqhVBCLyvO0opmlNfjhphy0AlEiTt93x9InyiU5e9ndtJ BcsU44E5QLHnjVeF9pgnXDg34/nzb6LFmYR6pesbtzEoQTQjwO9liWLOaGZsICjXOxqb 7+2OcTxUkYii+rSXYNhwUqTdBJJ2iMSOeAzCLlMCoCv/EN+jpoTLwFUD0RsQPvJtFjjO v5C5CEU6IZElFDUF2iAZs6XrIf4Xkdbg3ButryJT2DSsXw5gM7cKMe8KdQNgCoH4hmYI Z6uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=mj7xAfz9pleAUnBQ1tgt7BGC4LAqwc1dS7JkoSONRJg=; b=IueybiiUp1kwe3Li4wmqMOo9mr7qFNiJX2GAIkkoCSOENtF9Tj839VjJ2/y4XhhNXp /4BOCIn5Y4T9R5x8FSO5YU/jwop1RgFIFF4MvfK3GNL9aYBrWjRPY5DwuE15YoKxg0CE 0cTDKW4AkcauPYtFgjQPgTcfhqaDqUAfEXKr1lnMa1OCSo2Ix5gPrfrc77TCOnai24tr oP3SaZ94JqLVpM/8y28+2SU04qowu6Pn6DPNQO+2b3rbW6GjhOUvvSwr+Y6hW3oaSJyM nvVCC/jj2qq4lO7H/NYzOeGwzuswsdpsmltqSHNAg6wvgTmi/RaZIg6oFTytAo6G64wo gEmA== X-Gm-Message-State: AHQUAuaCLfA4QIHJgc1k2u1WLdSKuCYQMa6PG/TAftFGcJ9U6SrFUZOa cn489qF4sy7PHTViSDVvsSHWsBWi X-Google-Smtp-Source: AHgI3IYymaATwHVgi+dH+wB6LIKELGAdB/Z3PdoMisQx14+skDR9IR9xzWjt5qIHBj15shPV2G3EvQ== X-Received: by 2002:a1c:5dd1:: with SMTP id r200mr4904774wmb.93.1549390596310; Tue, 05 Feb 2019 10:16:36 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:35 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:16 +0100 Message-Id: <1549390526-24246-67-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32b Subject: [Qemu-devel] [PULL 66/76] hw/hppa/Makefile.objs: Create CONFIG_* for hppa X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/hppa-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Richard Henderson Message-Id: <20190202072456.6468-23-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/hppa-softmmu.mak | 1 + hw/hppa/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/hppa-softmmu.mak b/default-configs/hppa-softmmu.mak index 4badc05..b594a6d 100644 --- a/default-configs/hppa-softmmu.mak +++ b/default-configs/hppa-softmmu.mak @@ -10,3 +10,4 @@ CONFIG_IDE_CMD646=y # CONFIG_IDE_MMIO=y CONFIG_VIRTIO_VGA=y CONFIG_MC146818RTC=y +CONFIG_DINO=y diff --git a/hw/hppa/Makefile.objs b/hw/hppa/Makefile.objs index bef241e..67838f5 100644 --- a/hw/hppa/Makefile.objs +++ b/hw/hppa/Makefile.objs @@ -1 +1 @@ -obj-y += machine.o pci.o dino.o +obj-$(CONFIG_DINO) += pci.o machine.o dino.o From patchwork Tue Feb 5 18:15:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037100 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JxYUcflG"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDZh1XbLz9s7T for ; Wed, 6 Feb 2019 06:06:36 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38091 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr63G-0001c8-22 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:06:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003Bo-IA for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Y9-S0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:53330) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004OC-Iq for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x32d.google.com with SMTP id d15so4680837wmb.3 for ; Tue, 05 Feb 2019 10:16:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=zKA/WraDk7TZK1jEzXh5Esi+OpLTvDRCbzWJCV6Wi+M=; b=JxYUcflG4fZxiWjS5MAPkDkzcHNrGdcPdh6YI2/lnkbCfdc13AhpFbLfEb7E57xrlC uNZgFdpPH+vJ7pgB6XlZXp6mbTELJljGilD4f7ZzFj/uxq2EWBMP8HB+3UXBkIja2heI MY26g6keFOU9Fh5QnpG57lJ6bUz89vpwZO3IvnN5ln6Hn4NzI8kcEErdY4++kjbpnWwY mpxHNdXmDjguW8IzWJd6rWBVsVCawDgL5fu33DdB+WOMatbqNpFbJ3jzrsRTW0d0p8HV 72GMZRot5ARhrlDf8dKpuukap+FPSVTYFuPsnk9pTj7cqbOrqmMX+VfsHhgCKBnz3kNU LDRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=zKA/WraDk7TZK1jEzXh5Esi+OpLTvDRCbzWJCV6Wi+M=; b=fMEVBl4xyPXJc0qfgl6mrM/X11Lf0n2MzhdaV6uWJ1wEpxL13K2/jVnC3L2Q15Ffnv xXdlqatdDAjUFnlhh7IwC3gWEqr6CGB7KsV1eAZeavG+M+xTzpcjJacc/GcRvVhhivNE E0um2Eoj5ZARAWzgY0CgM8JXgwZjng5Em359z1cUzpfWeLABoHid15f4RvXhsFb5iIjD jhHCcKLFxcuNgFHmAxaDJkkWjYlFE8EXxLI0KIVEbgpg4fSB+sV2hgqMqPY/gKiwfAuH TsQEs9lldRVzmMSuEvYAHI/e75nmVduGyvU6PVaMOGNLzKgtiZdTcmZRsxSvokkGf+n0 OdSQ== X-Gm-Message-State: AHQUAuYypwyF3w8Gycn2b3rPgYk7ArSatcnNTaPqLPf+6OSB1+gSXLX8 INhBXLv8zMu++21DFEJe1X+2izXz X-Google-Smtp-Source: AHgI3IaC0yZxZHeWuKfP4Ph4C4Ul4cwHXzN5Sz8RCSo8OzcFJCgLOjnCGR3G7py54cVlOS0PoJL07Q== X-Received: by 2002:a1c:5dce:: with SMTP id r197mr10312wmb.130.1549390597319; Tue, 05 Feb 2019 10:16:37 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:36 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:17 +0100 Message-Id: <1549390526-24246-68-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 67/76] hw/moxie/Makefile.objs: Conditionally build moxie X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong CONFIG_MOXIE added for moxiesim board. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-24-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/moxie-softmmu.mak | 1 + hw/moxie/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/moxie-softmmu.mak b/default-configs/moxie-softmmu.mak index e00d099..17ba906 100644 --- a/default-configs/moxie-softmmu.mak +++ b/default-configs/moxie-softmmu.mak @@ -5,3 +5,4 @@ CONFIG_MC146818RTC=y CONFIG_SERIAL=y CONFIG_SERIAL_ISA=y CONFIG_VGA=y +CONFIG_MOXIESIM=y diff --git a/hw/moxie/Makefile.objs b/hw/moxie/Makefile.objs index bfc9001..ddbf300 100644 --- a/hw/moxie/Makefile.objs +++ b/hw/moxie/Makefile.objs @@ -1,2 +1,2 @@ # moxie boards -obj-y += moxiesim.o +obj-$(CONFIG_MOXIESIM) += moxiesim.o From patchwork Tue Feb 5 18:15:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037126 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="e5ZGuecy"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vF3D1lDsz9s7T for ; Wed, 6 Feb 2019 06:27:52 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38600 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6Nq-00022A-7b for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:27:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003Bf-EA for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Xe-NR for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:56149) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004OW-CZ for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x32f.google.com with SMTP id y139so4641923wmc.5 for ; Tue, 05 Feb 2019 10:16:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=kvAxYrZmYw7BZx2kV39x1yvTFeUrH2OPKd4UmriGhqs=; b=e5ZGuecy+nk1S8XsYIXroAc2nmSNyjFSvCV3ptFto7wZyLX6gYLR/gKjqB5hSRTngZ XieeF0Mv5nPgMVshGzT21sQzqE2qIJDkjQmFJtRd04SC7mSoQjVNZ8x/4JZ5Vux/LxYL deiiJGZz9o9VLNqwRushJfdShBELDSC0rd6NJO5ymNhDKNWFi/XOrDjFQRwz4NU/dU0P HpOhh7wY8l9XmLhmh6qG7JRvLC5eEWMPRfyh/yHL0pt3bgkUA0nIYblxVv3+v3qBjMXK 1uQkYSSD2NVUDI6zaBJus1+TpysM6zuY15Ljd9leraZ6Udk67sYwNAJhKKKF5QjhV4+y oNBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=kvAxYrZmYw7BZx2kV39x1yvTFeUrH2OPKd4UmriGhqs=; b=he6zHSQTSpBsV0QjBLnTXMRt5629MtVt39RBteZaMsg2HosvSrjgZzc9NUTRj7Nh8n WAn5j8AC6SknxsMQxmVS4kjrSqmfGI3AfeV/ybAFOZrD5MQDmpPIqhWDF5urLuElMtGW pLn67EdVipUqoqD7xkiVFXQ709jcRUFvdNILaTVbyTUPAIM8xXGOtjg/3C5y+CwTSBjE r09O3TLUFOkZe3dy1DS0QyrRnKi3DJOoZWZUsQ9TRwzLiVO/k35G60krXXmZgiTvZPCX 6w7QRSUGE3+9KE3qMc0jjTn+tCiQzj9wuXQXb1kjWYXZa0XGDwRug8u4lSjFh6SSDOud e4Xw== X-Gm-Message-State: AHQUAuZVTXeytFfL3dpPA/oJCYGnOiUQN8QF0uOvsiIXGMqgWciEMYEp 8+E7z7/itsW2HVjNxV1DQvLQP0qE X-Google-Smtp-Source: AHgI3IZkhK5J2Wf4sL/kMkO2tXugsUuE2h79Qnb+z1qidXeYiOlO4GgRJcpexY5No6VxhuVb8wWjjw== X-Received: by 2002:a1c:c181:: with SMTP id r123mr38878wmf.8.1549390598252; Tue, 05 Feb 2019 10:16:38 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:37 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:18 +0100 Message-Id: <1549390526-24246-69-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f Subject: [Qemu-devel] [PULL 68/76] hw/openrisc/Makefile.objs: Create CONFIG_* for openrisc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/or1k-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-25-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/or1k-softmmu.mak | 1 + hw/openrisc/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/or1k-softmmu.mak b/default-configs/or1k-softmmu.mak index 6f5824f..6a0f2ef 100644 --- a/default-configs/or1k-softmmu.mak +++ b/default-configs/or1k-softmmu.mak @@ -3,3 +3,4 @@ CONFIG_SERIAL=y CONFIG_OPENCORES_ETH=y CONFIG_OMPIC=y +CONFIG_OR1K_SIM=y diff --git a/hw/openrisc/Makefile.objs b/hw/openrisc/Makefile.objs index 61246b1..aa04de7 100644 --- a/hw/openrisc/Makefile.objs +++ b/hw/openrisc/Makefile.objs @@ -1,2 +1,2 @@ obj-y = pic_cpu.o cputimer.o -obj-y += openrisc_sim.o +obj-$(CONFIG_OR1K_SIM) += openrisc_sim.o From patchwork Tue Feb 5 18:15:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037103 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cXO1h0sI"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDdb60Bpz9s7T for ; Wed, 6 Feb 2019 06:09:07 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38116 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr65h-0003UT-OV for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:09:05 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003BR-7y for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Ws-HO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:37807) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004Os-7F for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x32f.google.com with SMTP id g67so4753247wmd.2 for ; Tue, 05 Feb 2019 10:16:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=b7LLy54TrH7DovUVSec+RFSaXEMPolukk/af78foMXY=; b=cXO1h0sIGH8+oaIWS65CnI6opBOMUMRtQGP2bU11jVMZcION102thjfBvp0ghZSGjE x3Uvd/OkTBIMZ9/moJKyBJPSMD7ko5uyG/jWs30j311AP622TXcvNkxt+wrM/4tXu9CI rpAq4nukHpjvlsxwLE+UIC5kybQhO5197tqxB/+61mPGh1Lncqtq9G5+szcQbpNGszkk fxhjps2cpGZ7YWO1vuzDS1kmTBsOwCsEOrfaobiS+71PcujVEaHAiqQ9TVNRTsZTfLZy wJ7ObB4cIUFM5Y4tLDOQs+XallomAggJ/UY/wG1LXCjA6v9zYcO/0AySsmx+4pV+Jx7q r9UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=b7LLy54TrH7DovUVSec+RFSaXEMPolukk/af78foMXY=; b=rKTmBmdGwNwfxQtYk8+2HCciAl+qvb2HK2Yr5bpRJu1Femnd8o1TNoKBrgTX4Ml1XP yFtCe1apuVZ/6ycM5jmt+X+V44yKJfcDz7Bl6pUtS2YegyMk5odqj4E0qIUtnbroRbSt /GKIWZ4ujmZMzrpNlR7zWDU/r0j/N/IODgTm2FXBsduz3C329kIJOhvbyP2QUuW8xXrB bXb7sTbryBPVLwM9k4widlgIx8aDuQfbV1bTHU8CH9ZIqopcnfneetoI/nInbVaTJ39e s9erlQ2Sn7XGeA59EOOGxBYZK2qTs9TCKmY7Ct8mS/xsrt+sd+4jZcWcLxqSvzdn+hN8 vRlw== X-Gm-Message-State: AHQUAuaz1m2msq4lVm7jKWdQSXpWgLQqwZJiv19xkfc5FuTTp1t/CiqC /qjorHBg/JIq/LHsjtH5yKOTmFq+ X-Google-Smtp-Source: AHgI3IbbhSdy2xeZbfHx8oSAMrXrrva5Gbfz2MaI9l67/9mm3keufktQOFl0/nc+dKWs81D+9Yba9w== X-Received: by 2002:a7b:cc86:: with SMTP id p6mr5447wma.19.1549390599038; Tue, 05 Feb 2019 10:16:39 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:38 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:19 +0100 Message-Id: <1549390526-24246-70-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32f Subject: [Qemu-devel] [PULL 69/76] hw/tricore/Makefile.objs: Create CONFIG_* for tricore X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Yang Zhong Add the new configs to default-configs/tricore-sofmmu.mak. Signed-off-by: Yang Zhong Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-26-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/tricore-softmmu.mak | 1 + hw/tricore/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/default-configs/tricore-softmmu.mak b/default-configs/tricore-softmmu.mak index e69de29..c397cff 100644 --- a/default-configs/tricore-softmmu.mak +++ b/default-configs/tricore-softmmu.mak @@ -0,0 +1 @@ +CONFIG_TRICORE=y diff --git a/hw/tricore/Makefile.objs b/hw/tricore/Makefile.objs index 435e095..5501f6c 100644 --- a/hw/tricore/Makefile.objs +++ b/hw/tricore/Makefile.objs @@ -1 +1 @@ -obj-y += tricore_testboard.o +obj-$(CONFIG_TRICORE) += tricore_testboard.o From patchwork Tue Feb 5 18:15:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037104 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="R6OXZkBW"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDfH6R2Cz9s7T for ; Wed, 6 Feb 2019 06:09:43 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr66H-00040P-RU for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:09:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36973) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003BZ-Bu for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004Wi-FS for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:37810) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004PG-5I for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x332.google.com with SMTP id g67so4753301wmd.2 for ; Tue, 05 Feb 2019 10:16:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=/+vRGE7TzfyFugmHGadAMn1PIOQMDkNEwmBp2RQwk30=; b=R6OXZkBWNu+bfxBnscOijl/A3i9OeNZIKnPSmEo4PfGl8P9/7PLQz+9n1Sw28WuGwO nOOwuEawZXHCmjkMyNE8DalpIS7ja5A1E6b6FrspXFK8HCOx7Lsf/UWVxiDZSMxghHbd yvz0sepFM79wuqtpBWLAycdqYN487mo2H9621q6yjwlTSMoyVSLiue23BqQjCZserwW1 moEc5fUF83C7Jf9IYg+8udl2e1eKG2umExCcncDWnQ11H2JTjqukSJkQx9bFW01On4ro l7YSuJy41Ccg9cIOKki+kO41y18NMfNhCrgtts99PsaWrknnROjMyGpBMT1FMu4ORb+/ nwpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=/+vRGE7TzfyFugmHGadAMn1PIOQMDkNEwmBp2RQwk30=; b=lPOk9H8BMMwdR9S1nGGia26tloa9nu2oFMSQdklSNTaCZYo1F2Tq32lRHasV9MckqG Rtl5DCUSbVciSB6RKu+8aIez85kY8RV6JrI1YSsDKXU2zM+amhS3ZI9+6Nt8ZcK2670G bvJ8/4iwBreg3wsopRqNVoiyJGCIBPn5EtLIRPLXTMxlX0TVV0G5Q49UoKdN/7dROGLQ L0CxOGmzuDReM29PMhOyQaQpldOBWQRdMGWf6JAc26EC8Du/IFYnWB1wi9SYoZftRugQ AsyGzVJ4+FclIIMpQ4dbIxLbxpgLdkDJXL7Eczvmt+nv5t2lAZCakoFg1ll+cY35DGgb Z02A== X-Gm-Message-State: AHQUAuYzktgJbhsZsnyer8v5H4urboKllt+l+WdIP59ppsbSqocq6CWW qayn/Qcn3lVw3CVOvttonca9A1dU X-Google-Smtp-Source: AHgI3IaaOtToLEqO/yh+9H98JTtfWAfmC0d2K5yV+OH16uib/3Km6AHRuf2A7YuSKBbC8kiXJsRC/w== X-Received: by 2002:a7b:c399:: with SMTP id s25mr21905wmj.90.1549390599991; Tue, 05 Feb 2019 10:16:39 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.39 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:39 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:20 +0100 Message-Id: <1549390526-24246-71-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::332 Subject: [Qemu-devel] [PULL 70/76] hw/i2c/Makefile.objs: Create new CONFIG_* variables for EEPROM and ACPI controller X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Create separate variables for these components, they are used in many boards but not all. This allows finer-grain selection of the included code with default-configs/*.mak. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-27-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/arm-softmmu.mak | 1 + default-configs/i386-softmmu.mak | 2 ++ default-configs/mips-softmmu-common.mak | 2 ++ default-configs/ppc-softmmu.mak | 1 + hw/i2c/Makefile.objs | 5 +++-- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak index 1db3639..d700d09 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -151,6 +151,7 @@ CONFIG_ACPI=y CONFIG_ARM_VIRT=y CONFIG_SMBIOS=y CONFIG_ASPEED_SOC=y +CONFIG_SMBUS_EEPROM=y CONFIG_GPIO_KEY=y CONFIG_MSF2=y CONFIG_FW_CFG_DMA=y diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak index 71c9f6f..15b6287 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -62,6 +62,8 @@ CONFIG_I82801B11=y CONFIG_SMBIOS=y CONFIG_PXB=y CONFIG_ACPI_VMGENID=y +CONFIG_ACPI_SMBUS=y +CONFIG_SMBUS_EEPROM=y CONFIG_FW_CFG_DMA=y CONFIG_I2C=y CONFIG_SEV=$(CONFIG_KVM) diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak index 479fb4d..ded7498 100644 --- a/default-configs/mips-softmmu-common.mak +++ b/default-configs/mips-softmmu-common.mak @@ -39,3 +39,5 @@ CONFIG_I2C=y CONFIG_R4K=y CONFIG_MALTA=y CONFIG_MIPSSIM=y +CONFIG_ACPI_SMBUS=y +CONFIG_SMBUS_EEPROM=y diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak index 7f80f0c..52acb7c 100644 --- a/default-configs/ppc-softmmu.mak +++ b/default-configs/ppc-softmmu.mak @@ -36,6 +36,7 @@ CONFIG_AT24C=y CONFIG_BITBANG_I2C=y CONFIG_M41T80=y CONFIG_VGA_CIRRUS=y +CONFIG_SMBUS_EEPROM=y # For Macs CONFIG_ESCC=y diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs index 82e747e..cecee48 100644 --- a/hw/i2c/Makefile.objs +++ b/hw/i2c/Makefile.objs @@ -1,8 +1,9 @@ -common-obj-$(CONFIG_I2C) += core.o smbus.o smbus_eeprom.o +common-obj-$(CONFIG_I2C) += core.o smbus.o +common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o common-obj-$(CONFIG_DDC) += i2c-ddc.o common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o common-obj-$(CONFIG_ACPI_X86) += smbus_ich9.o -common-obj-$(CONFIG_APM) += pm_smbus.o +common-obj-$(CONFIG_ACPI_SMBUS) += pm_smbus.o common-obj-$(CONFIG_BITBANG_I2C) += bitbang_i2c.o common-obj-$(CONFIG_EXYNOS4) += exynos4210_i2c.o common-obj-$(CONFIG_IMX_I2C) += imx_i2c.o From patchwork Tue Feb 5 18:15:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037122 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LsEcvC+M"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDzz5ZgKz9sDX for ; Wed, 6 Feb 2019 06:25:03 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38506 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6L7-00087b-Mk for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:25:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36979) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003Bd-Da for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004XN-Lh for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:39704) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004PY-B0 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x32d.google.com with SMTP id y8so4741017wmi.4 for ; Tue, 05 Feb 2019 10:16:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=elxNIzP1I4rUfSH6mYxs4mcBB9rKG98r2wmmPSf8QPQ=; b=LsEcvC+M3RhKvBqyng1xFPZElrqammR44Ufi+BU7lY4vRuyY5rWJOdUG0LwgoXmBW2 5hOEYzkBR3AFBeM8/daHbPLW1IO0Ek7hpRHB5MLrJaQ92M47TCNSUcyPBts0xxT/40KQ caIhlS0eB7Pf19VvA0MDzidAOtv323kVbvBhQeFZykd08yhGvUiN31EPq4w9r8t/AUrV MKft1oJeplktVSh/ycs6cPESbSRrxhtHke3X9TLVw1VjEOaBV0h+VEBMxsy5+wXE0otA L4VvZ3kuAU4karoAOCN7Y0Nr5PPlji/fzSktrWmsFlf+lKqd4+U3thix+xAA4MVqFMJ4 FkpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=elxNIzP1I4rUfSH6mYxs4mcBB9rKG98r2wmmPSf8QPQ=; b=TfXvgaWlFm+DryIqbYz1eSNg3MaFmsrFthnLYmSGcV3/h5EKLJ//bT8IDLcK/bVERj +N0gb+p/ntjPeHIcH6VQAguT0zG/9FAwAIDQN6KvaD/oLUFwC6S9SnfPhpsgSA7mivPl j19DN7nsQ7ZWmlmVuVDapGQpUZZhbF8QyBFmc9y4tVqfzW9cipWKr5RlZ2AG5eyV6Ci3 xHCH9CiDpke1ZTMZnfRDjiyL7uUU9Lx5oG7K8JQjRCSmdjbRDhnxNXtSFefBMOPf/9Or hUXD1jXbDeZkr2h1hRou/Csd1Z4tIggHHp+5PxEMFbgCA3P8033s0TXXRJS9W3J04Ji6 NJag== X-Gm-Message-State: AHQUAuaJAAsqpN8tUprLxE8DZagTOk9Ude2YO1OUO2auWUC0hsuIJm7C onS2twX942tPMOUEkXgFlXaeF5Lu X-Google-Smtp-Source: AHgI3Ia7pT05nOpF8yEEx2WIN6MISuXJChXIQkaA5jyckhDS1jrBJvhl59j6ebjOjjGQpSM5Fh5vlw== X-Received: by 2002:a7b:c191:: with SMTP id y17mr24435wmi.60.1549390600653; Tue, 05 Feb 2019 10:16:40 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:40 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:21 +0100 Message-Id: <1549390526-24246-72-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d Subject: [Qemu-devel] [PULL 71/76] hw/vfio/Makefile.objs: Create new CONFIG_* variables for VFIO core and PCI X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Make hw/vfio configurable and add new CONFIG_VFIO_* to the default-configs/s390x*-softmmu.mak. This allow a finer-grain selection of the various VFIO backends. Signed-off-by: Paolo Bonzini Reviewed-by: Thomas Huth Message-Id: <20190202072456.6468-28-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- default-configs/arm-softmmu.mak | 2 ++ default-configs/pci.mak | 2 ++ default-configs/s390x-softmmu.mak | 5 +++-- hw/Makefile.objs | 2 +- hw/vfio/Makefile.objs | 7 +++---- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak index d700d09..734ca72 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -124,6 +124,8 @@ CONFIG_VERSATILE_PCI=y CONFIG_VERSATILE_I2C=y CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y +CONFIG_VFIO=$(CONFIG_LINUX) +CONFIG_VFIO_PLATFORM=y CONFIG_VFIO_XGMAC=y CONFIG_VFIO_AMD_XGBE=y diff --git a/default-configs/pci.mak b/default-configs/pci.mak index 83738cb..037636f 100644 --- a/default-configs/pci.mak +++ b/default-configs/pci.mak @@ -47,3 +47,5 @@ CONFIG_VGA_PCI=y CONFIG_BOCHS_DISPLAY=y CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM) CONFIG_ROCKER=y +CONFIG_VFIO=$(CONFIG_LINUX) +CONFIG_VFIO_PCI=y diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak index 8bb7e43..6f2c6ce 100644 --- a/default-configs/s390x-softmmu.mak +++ b/default-configs/s390x-softmmu.mak @@ -5,7 +5,8 @@ CONFIG_SCLPCONSOLE=y CONFIG_TERMINAL3270=y CONFIG_S390_FLIC=y CONFIG_S390_FLIC_KVM=$(CONFIG_KVM) -CONFIG_VFIO_CCW=$(CONFIG_LINUX) CONFIG_WDT_DIAG288=y -CONFIG_VFIO_AP=$(CONFIG_LINUX) CONFIG_S390_CCW_VIRTIO=y +CONFIG_VFIO=$(CONFIG_LINUX) +CONFIG_VFIO_CCW=y +CONFIG_VFIO_AP=y diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 22dd211..e2fcd6a 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -30,7 +30,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += ssi/ devices-dirs-$(CONFIG_SOFTMMU) += timer/ devices-dirs-$(CONFIG_TPM) += tpm/ devices-dirs-$(CONFIG_SOFTMMU) += usb/ -devices-dirs-$(CONFIG_LINUX) += vfio/ +devices-dirs-$(CONFIG_VFIO) += vfio/ devices-dirs-$(CONFIG_SOFTMMU) += virtio/ devices-dirs-$(CONFIG_SOFTMMU) += watchdog/ devices-dirs-$(CONFIG_SOFTMMU) += xen/ diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs index 9180589..abad8b8 100644 --- a/hw/vfio/Makefile.objs +++ b/hw/vfio/Makefile.objs @@ -1,8 +1,7 @@ -obj-$(CONFIG_SOFTMMU) += common.o -obj-$(CONFIG_PCI) += pci.o pci-quirks.o display.o +obj-y += common.o spapr.o +obj-$(CONFIG_VFIO_PCI) += pci.o pci-quirks.o display.o obj-$(CONFIG_VFIO_CCW) += ccw.o -obj-$(CONFIG_SOFTMMU) += platform.o +obj-$(CONFIG_VFIO_PLATFORM) += platform.o obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o -obj-$(CONFIG_SOFTMMU) += spapr.o obj-$(CONFIG_VFIO_AP) += ap.o From patchwork Tue Feb 5 18:15:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037134 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="OiV6wiQt"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vFD05ybyz9s7T for ; Wed, 6 Feb 2019 06:35:28 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38813 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6VC-0007tj-RE for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:35:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36975) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003Bb-Cx for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004XQ-Lx for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:39707) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004QB-8L for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x330.google.com with SMTP id y8so4741050wmi.4 for ; Tue, 05 Feb 2019 10:16:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=JIvXHd4mlCTqxSS0fOCfFJEGAwzmeOAzTua89tVyfKQ=; b=OiV6wiQt4Ed7EWB9GoElzgyOpCXNDLOMdUskqsQeq0cNhS04mqfBlVqggU1nr056KK Z/IrybqVGCEsMHN1hBc0GBjWQIJLQBs5Gqw1PT2RAgOdH3NZdtoUq9EGxsPbQHtdG6A4 SK+FptQWCKpiNn6EvHcqeNH+XyYv+S0b3mDSvgcugiIG2OTDeepvIk3mrlskWx6wYIDL yo/FqXF6L3x35sSrnAJl5Ecid9A65byUx4IqoQV+6u+q3dKnB0eTt0zW7OesKX9r4qMa bpI2ZB4gRNHE5rWYrrpl8X1Bm5ehg7NQWAFIora5wTYBPuFnsaQjuq/f71Lg+a4rjaNv KFqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=JIvXHd4mlCTqxSS0fOCfFJEGAwzmeOAzTua89tVyfKQ=; b=b+c/JJcbK23acsU0vOIDPBtAR7TdgCqbVfsEucd5Hd4arv3tQDV4XoFCo+yGGd/fWh L/48wDjRth220iBjnHN866jS55LE6sY9fsAUK2sTspBakIDx+abC25moucSZYkhV6/yp xLB0+XF9On7l+CJLW/kr16RwGK5v/ZXYZqMgncbe+W8QrGD7y5WF44lPSfCr99f9xt8N bHzDDuoDKvGomcUXqQ5C73wLgShfr6tQ+gQeLvxJmh65e3DDx3/cigtoygBuNERicqxj Wx77jbaFmAc3gJaSejmvdBWBxrbwlzfORwK3y05lEGmMbFpH4YWXgr7a9ysNlhYrSD6u N9wA== X-Gm-Message-State: AHQUAuZ0ocUh14FvcOQ3jteE2kTv/qcH7tVp+D3J+O5mDeCXuJjpEn6X LdUg8J19yoes5Ng0NHEvLLus6tea X-Google-Smtp-Source: AHgI3IbpXtbgBnW5DoljmdpIPRceip+WNda9nSkowumD/7jGnf6VqWm3yVwzdz3QsAeitoWYF+DdbQ== X-Received: by 2002:a1c:f707:: with SMTP id v7mr40358wmh.18.1549390601550; Tue, 05 Feb 2019 10:16:41 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:40 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:22 +0100 Message-Id: <1549390526-24246-73-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::330 Subject: [Qemu-devel] [PULL 72/76] i386: hvf: Fix smp boot hangs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Heiher Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Heiher The machine that with hvf accelerator and smp sometimes boot hangs because all processors are executing instructions at startup, including early I/O emulations. We should just allow the bootstrap processor to initialize the machine and then to wake up slave processors by interrupt. Signed-off-by: Heiher Message-Id: <20190123073402.28465-1-r@hev.cc> Signed-off-by: Paolo Bonzini --- target/i386/hvf/hvf.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c index 689b585..42f9447 100644 --- a/target/i386/hvf/hvf.c +++ b/target/i386/hvf/hvf.c @@ -499,7 +499,6 @@ void hvf_reset_vcpu(CPUState *cpu) { } hv_vm_sync_tsc(0); - cpu->halted = 0; hv_vcpu_invalidate_tlb(cpu->hvf_fd); hv_vcpu_flush(cpu->hvf_fd); } @@ -582,8 +581,6 @@ int hvf_init_vcpu(CPUState *cpu) wvmcs(cpu->hvf_fd, VMCS_TPR_THRESHOLD, 0); - hvf_reset_vcpu(cpu); - x86cpu = X86_CPU(cpu); x86cpu->env.xsave_buf = qemu_memalign(4096, 4096); @@ -659,8 +656,6 @@ int hvf_vcpu_exec(CPUState *cpu) int ret = 0; uint64_t rip = 0; - cpu->halted = 0; - if (hvf_process_events(cpu)) { return EXCP_HLT; } From patchwork Tue Feb 5 18:15:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037137 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ofZeDaZ0"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vFHS4YcLz9s7T for ; Wed, 6 Feb 2019 06:38:28 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38906 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6Y6-0001wx-H3 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:38:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HA-0003CD-P1 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004X4-J8 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:54483) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004QX-7t for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wm1-x334.google.com with SMTP id a62so4681668wmh.4 for ; Tue, 05 Feb 2019 10:16:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=PJbmIS++Y3QIqf+F8xxZd9EWuX09QCDoLPY6jRrSWak=; b=ofZeDaZ0Hxw5yO+k7I0px03De5qpTu/IN+GOx5/Fwt4VEjUMpOLGwJjDlFFIyLCBxv GIBtIkIIpzvdU69atzyG4qzUVQ3OKW8a6sJouM0xI28OuDAOH9MVrA063OOVVkF+f6O0 K3UheN51dNgZNujfd5ZrcO99Q+qVN1BaVbBQShuaK0Vuxb/Hor/CxJd/mowtkDFZZIiS 4nNT8PwR/ShsZf5uAvBLBF9jFa1zySjuIg34ZkDjeg+S3U4++1Add+mf+/igUypENQDa 2T+jgBPtncVd8uI5rMnHPkZFQX3caGozb0NCGDL0JgHPIPtlc2mwON+s+9AWX1fZK0kf unWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=PJbmIS++Y3QIqf+F8xxZd9EWuX09QCDoLPY6jRrSWak=; b=eMrrUuIr6s8/LAM+5+CtY2hoL+lpUJymAgGK4bgdUHpV7p58w/cUSQ0dt1OPrGy8Mp CucGM+BInb7V9zgcFF5XStqDfA1cozuFqoQk51jUrQCKfWQyHo8DN+XXyDunUVsxpayk HXonFctcDm6OoVs5nr/13QrGnNL97XhJhFNIYxiLs39UqdQtxzh2TPtgVdbK7aSY6EGv yeXrGjKyu3G3HJAZorAahqgKVkcsEviehhRSaxEupqYOMbKXJBj2nshiG7TjuHPXYTc+ DW1RZT7FBvckg9k8cFsuejBQPpck/l+SnqGdjT2O4+JjjPXQGoVDFfzE1toMEEngmj5D JzsA== X-Gm-Message-State: AHQUAuY3MBN+9p+pwbwnrstjZmCv4gNAna+mAJUbRxnYiLDuLkfW0w7m NiNGN+cRYQn/GrLOjUKbdBRdQZFZ X-Google-Smtp-Source: AHgI3IaVmsOgcSjXGXz9YkZMK1qNmoHvvhMB4S7w14uJPhGEazRgm2TqoJNltrTlhPEGx01BZ/8Pzw== X-Received: by 2002:a1c:7dd6:: with SMTP id y205mr4452545wmc.121.1549390602492; Tue, 05 Feb 2019 10:16:42 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:41 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:23 +0100 Message-Id: <1549390526-24246-74-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 Subject: [Qemu-devel] [PULL 73/76] pc: Use hotplug_handler_(plug|unplug|unplug_request) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Hildenbrand Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: David Hildenbrand Let's avoid manually looking up the hotplug handler class. Use the existing wrappers instead. Signed-off-by: David Hildenbrand Message-Id: <20181212095707.19358-1-david@redhat.com> Signed-off-by: Paolo Bonzini --- hw/i386/pc.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 7d8f351..3889ecc 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -2122,7 +2122,6 @@ static void pc_memory_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev, static void pc_memory_plug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - HotplugHandlerClass *hhc; Error *local_err = NULL; PCMachineState *pcms = PC_MACHINE(hotplug_dev); bool is_nvdimm = object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM); @@ -2136,8 +2135,7 @@ static void pc_memory_plug(HotplugHandler *hotplug_dev, nvdimm_plug(&pcms->acpi_nvdimm_state); } - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->plug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &error_abort); + hotplug_handler_plug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &error_abort); out: error_propagate(errp, local_err); } @@ -2145,7 +2143,6 @@ out: static void pc_memory_unplug_request(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - HotplugHandlerClass *hhc; Error *local_err = NULL; PCMachineState *pcms = PC_MACHINE(hotplug_dev); @@ -2166,9 +2163,8 @@ static void pc_memory_unplug_request(HotplugHandler *hotplug_dev, goto out; } - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); - + hotplug_handler_unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, + &local_err); out: error_propagate(errp, local_err); } @@ -2177,12 +2173,9 @@ static void pc_memory_unplug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { PCMachineState *pcms = PC_MACHINE(hotplug_dev); - HotplugHandlerClass *hhc; Error *local_err = NULL; - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->unplug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); - + hotplug_handler_unplug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); if (local_err) { goto out; } @@ -2224,14 +2217,12 @@ static void pc_cpu_plug(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { CPUArchId *found_cpu; - HotplugHandlerClass *hhc; Error *local_err = NULL; X86CPU *cpu = X86_CPU(dev); PCMachineState *pcms = PC_MACHINE(hotplug_dev); if (pcms->acpi_dev) { - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->plug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); + hotplug_handler_plug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); if (local_err) { goto out; } @@ -2255,7 +2246,6 @@ static void pc_cpu_unplug_request_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { int idx = -1; - HotplugHandlerClass *hhc; Error *local_err = NULL; X86CPU *cpu = X86_CPU(dev); PCMachineState *pcms = PC_MACHINE(hotplug_dev); @@ -2272,9 +2262,8 @@ static void pc_cpu_unplug_request_cb(HotplugHandler *hotplug_dev, goto out; } - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); - + hotplug_handler_unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, + &local_err); if (local_err) { goto out; } @@ -2288,14 +2277,11 @@ static void pc_cpu_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { CPUArchId *found_cpu; - HotplugHandlerClass *hhc; Error *local_err = NULL; X86CPU *cpu = X86_CPU(dev); PCMachineState *pcms = PC_MACHINE(hotplug_dev); - hhc = HOTPLUG_HANDLER_GET_CLASS(pcms->acpi_dev); - hhc->unplug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); - + hotplug_handler_unplug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, &local_err); if (local_err) { goto out; } From patchwork Tue Feb 5 18:15:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037111 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="k9AsX1HD"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDmB24xrz9s7T for ; Wed, 6 Feb 2019 06:14:50 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38299 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr6BE-0008Mt-82 for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:14:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37076) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5HC-0003Es-TO for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004XG-M6 for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:54 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:33608) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H8-0004Qv-4c for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wr1-x42d.google.com with SMTP id a16so4764101wrv.0 for ; Tue, 05 Feb 2019 10:16:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3yWMr8bJPuhDcRI72eFZe6jcK8hyHQHvkkIUM9KdEbU=; b=k9AsX1HDWDXH9cK+UBKasNHi/Hp0kbQPKGft8A/aSRtLn8eiE+4NsOvP7/hOrBXMSF IGNtHJmaaxOCelcyjAA6enhVqglUiBTs46aVT2yJArpysYRQ/8iv4rXkHYwbX6EnRKtA 6YKlspkEEOJ9FyONERZltDt4/6pFFVhyZTwMuFBYqT4Lxv5wCpWUwMbYo4ahkPrv7Lni tIs3Ako0ogS6qQaJeuoPS+FJ+EKFOYYXJIrJghPzbvfISkfyZxcu+H6e+uZgfMK4p4Cs nYEQOzv6f0I3lDtwTUaisBN2aFyVNa94FajkPmSx6T9k2TvJXkjie4MwvRTeqDFGwPkZ YcHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=3yWMr8bJPuhDcRI72eFZe6jcK8hyHQHvkkIUM9KdEbU=; b=Ar1amF1H3UpP6B8+5bKLMmhP/uxJOcTZR8ZpbZtksGW8fxaK9K2+OISrMZ+jqlfxSh VOpQiifdQg/j89Bj3pwul8l2XlFbYg7IDG6Wb4dfERjsvndYmFviM/ee3T58f4yyKp02 ecE5ItjhVItoAXwyOLc2/iaTV94bc/hbgG0eDePqm0aZNelmDEzW0jQLhVcVhKTfjpWr 9AQ3iA3ETYNX+w3trQxl3LWgjAIJNR/ReaRHEmW2ifpTiyUmIaSiYjOqfE1F0zJpy36Y PV3yyN9kHrb3/OqRiLytHHWk3vOgY3DxQm3l6y348k1Qx0L1+AVF+mD9iJgT/3tw8+cd XGUg== X-Gm-Message-State: AHQUAuYHXlh9OvUzl3h8+nJhRPmp5MxfoeITNX1ULr8sQgS9YEAnm2lx W+qANW0ih1Zxc7S8huGmexz95w1m X-Google-Smtp-Source: AHgI3IZ7C4ii0/Pkowx0WGwIKnvyB4ccKGs2dO2CJYCwvI/oI2Gxv5Gs/3gm7sb6RcCwknij3ynQ0w== X-Received: by 2002:adf:e8c1:: with SMTP id k1mr4511786wrn.104.1549390603417; Tue, 05 Feb 2019 10:16:43 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:42 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:24 +0100 Message-Id: <1549390526-24246-75-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d Subject: [Qemu-devel] [PULL 74/76] scsi-disk: Convert from DPRINTF() macro to trace events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Laurent Vivier Signed-off-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Message-Id: <20181211163105.31834-2-lvivier@redhat.com> Signed-off-by: Paolo Bonzini --- hw/scsi/scsi-disk.c | 103 +++++++++++++++++++++++++-------------------------- hw/scsi/trace-events | 29 +++++++++++++++ 2 files changed, 79 insertions(+), 53 deletions(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index e6db6d7..d4e83ae 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -19,15 +19,6 @@ * the host adapter emulator. */ -//#define DEBUG_SCSI - -#ifdef DEBUG_SCSI -#define DPRINTF(fmt, ...) \ -do { printf("scsi-disk: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) do {} while(0) -#endif - #include "qemu/osdep.h" #include "qemu/units.h" #include "qapi/error.h" @@ -41,6 +32,7 @@ do { printf("scsi-disk: " fmt , ## __VA_ARGS__); } while (0) #include "hw/block/block.h" #include "sysemu/dma.h" #include "qemu/cutils.h" +#include "trace.h" #ifdef __linux #include @@ -129,8 +121,8 @@ static void scsi_free_request(SCSIRequest *req) /* Helper function for command completion with sense. */ static void scsi_check_condition(SCSIDiskReq *r, SCSISense sense) { - DPRINTF("Command complete tag=0x%x sense=%d/%d/%d\n", - r->req.tag, sense.key, sense.asc, sense.ascq); + trace_scsi_disk_check_condition(r->req.tag, sense.key, sense.asc, + sense.ascq); scsi_req_build_sense(&r->req, sense); scsi_req_complete(&r->req, CHECK_CONDITION); } @@ -318,7 +310,7 @@ static void scsi_read_complete(void * opaque, int ret) } block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); - DPRINTF("Data ready tag=0x%x len=%zd\n", r->req.tag, r->qiov.size); + trace_scsi_disk_read_complete(r->req.tag, r->qiov.size); n = r->qiov.size / 512; r->sector += n; @@ -389,7 +381,7 @@ static void scsi_read_data(SCSIRequest *req) SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); bool first; - DPRINTF("Read sector_count=%d\n", r->sector_count); + trace_scsi_disk_read_data_count(r->sector_count); if (r->sector_count == 0) { /* This also clears the sense buffer for REQUEST SENSE. */ scsi_req_complete(&r->req, GOOD); @@ -402,7 +394,7 @@ static void scsi_read_data(SCSIRequest *req) /* The request is used as the AIO opaque value, so add a ref. */ scsi_req_ref(&r->req); if (r->req.cmd.mode == SCSI_XFER_TO_DEV) { - DPRINTF("Data transfer direction invalid\n"); + trace_scsi_disk_read_data_invalid(); scsi_read_complete(r, -EINVAL); return; } @@ -503,7 +495,7 @@ static void scsi_write_complete_noio(SCSIDiskReq *r, int ret) return; } else { scsi_init_iovec(r, SCSI_DMA_BUF_SIZE); - DPRINTF("Write complete tag=0x%x more=%zd\n", r->req.tag, r->qiov.size); + trace_scsi_disk_write_complete_noio(r->req.tag, r->qiov.size); scsi_req_data(&r->req, r->qiov.size); } @@ -541,7 +533,7 @@ static void scsi_write_data(SCSIRequest *req) /* The request is used as the AIO opaque value, so add a ref. */ scsi_req_ref(&r->req); if (r->req.cmd.mode != SCSI_XFER_TO_DEV) { - DPRINTF("Data transfer direction invalid\n"); + trace_scsi_disk_write_data_invalid(); scsi_write_complete_noio(r, -EINVAL); return; } @@ -606,8 +598,7 @@ static int scsi_disk_emulate_vpd_page(SCSIRequest *req, uint8_t *outbuf) switch (page_code) { case 0x00: /* Supported page codes, mandatory */ { - DPRINTF("Inquiry EVPD[Supported pages] " - "buffer size %zd\n", req->cmd.xfer); + trace_scsi_disk_emulate_vpd_page_00(req->cmd.xfer); outbuf[buflen++] = 0x00; /* list of supported pages (this page) */ if (s->serial) { outbuf[buflen++] = 0x80; /* unit serial number */ @@ -625,7 +616,7 @@ static int scsi_disk_emulate_vpd_page(SCSIRequest *req, uint8_t *outbuf) int l; if (!s->serial) { - DPRINTF("Inquiry (EVPD[Serial number] not supported\n"); + trace_scsi_disk_emulate_vpd_page_80_not_supported(); return -1; } @@ -634,8 +625,7 @@ static int scsi_disk_emulate_vpd_page(SCSIRequest *req, uint8_t *outbuf) l = 36; } - DPRINTF("Inquiry EVPD[Serial number] " - "buffer size %zd\n", req->cmd.xfer); + trace_scsi_disk_emulate_vpd_page_80(req->cmd.xfer); memcpy(outbuf + buflen, s->serial, l); buflen += l; break; @@ -645,8 +635,7 @@ static int scsi_disk_emulate_vpd_page(SCSIRequest *req, uint8_t *outbuf) { int id_len = s->device_id ? MIN(strlen(s->device_id), 255 - 8) : 0; - DPRINTF("Inquiry EVPD[Device identification] " - "buffer size %zd\n", req->cmd.xfer); + trace_scsi_disk_emulate_vpd_page_83(req->cmd.xfer); if (id_len) { outbuf[buflen++] = 0x2; /* ASCII */ @@ -693,8 +682,7 @@ static int scsi_disk_emulate_vpd_page(SCSIRequest *req, uint8_t *outbuf) SCSIBlockLimits bl = {}; if (s->qdev.type == TYPE_ROM) { - DPRINTF("Inquiry (EVPD[%02X] not supported for CDROM\n", - page_code); + trace_scsi_disk_emulate_vpd_page_b0_not_supported(); return -1; } bl.wsnz = 1; @@ -1241,8 +1229,9 @@ static int scsi_disk_emulate_mode_sense(SCSIDiskReq *r, uint8_t *outbuf) dbd = (r->req.cmd.buf[1] & 0x8) != 0; page = r->req.cmd.buf[2] & 0x3f; page_control = (r->req.cmd.buf[2] & 0xc0) >> 6; - DPRINTF("Mode Sense(%d) (page %d, xfer %zd, page_control %d)\n", - (r->req.cmd.buf[0] == MODE_SENSE) ? 6 : 10, page, r->req.cmd.xfer, page_control); + + trace_scsi_disk_emulate_mode_sense((r->req.cmd.buf[0] == MODE_SENSE) ? 6 : + 10, page, r->req.cmd.xfer, page_control); memset(outbuf, 0, r->req.cmd.xfer); p = outbuf; @@ -1334,7 +1323,7 @@ static int scsi_disk_emulate_read_toc(SCSIRequest *req, uint8_t *outbuf) format = req->cmd.buf[2] & 0xf; start_track = req->cmd.buf[6]; blk_get_geometry(s->qdev.conf.blk, &nb_sectors); - DPRINTF("Read TOC (track %d format %d msf %d)\n", start_track, format, msf >> 1); + trace_scsi_disk_emulate_read_toc(start_track, format, msf >> 1); nb_sectors /= s->qdev.blocksize / 512; switch (format) { case 0: @@ -1393,7 +1382,7 @@ static void scsi_disk_emulate_read_data(SCSIRequest *req) int buflen = r->iov.iov_len; if (buflen) { - DPRINTF("Read buf_len=%d\n", buflen); + trace_scsi_disk_emulate_read_data(buflen); r->iov.iov_len = 0; r->started = true; scsi_req_data(&r->req, buflen); @@ -1812,7 +1801,7 @@ static void scsi_disk_emulate_write_data(SCSIRequest *req) if (r->iov.iov_len) { int buflen = r->iov.iov_len; - DPRINTF("Write buf_len=%d\n", buflen); + trace_scsi_disk_emulate_write_data(buflen); r->iov.iov_len = 0; scsi_req_data(&r->req, buflen); return; @@ -2021,7 +2010,7 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf) case SERVICE_ACTION_IN_16: /* Service Action In subcommands. */ if ((req->cmd.buf[1] & 31) == SAI_READ_CAPACITY_16) { - DPRINTF("SAI READ CAPACITY(16)\n"); + trace_scsi_disk_emulate_command_SAI_16(); memset(outbuf, 0, req->cmd.xfer); blk_get_geometry(s->qdev.conf.blk, &nb_sectors); if (!nb_sectors) { @@ -2059,7 +2048,7 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf) /* Protection, exponent and lowest lba field left blank. */ break; } - DPRINTF("Unsupported Service Action In\n"); + trace_scsi_disk_emulate_command_SAI_unsupported(); goto illegal_request; case SYNCHRONIZE_CACHE: /* The request is used as the AIO opaque value, so add a ref. */ @@ -2069,37 +2058,36 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf) r->req.aiocb = blk_aio_flush(s->qdev.conf.blk, scsi_aio_complete, r); return 0; case SEEK_10: - DPRINTF("Seek(10) (sector %" PRId64 ")\n", r->req.cmd.lba); + trace_scsi_disk_emulate_command_SEEK_10(r->req.cmd.lba); if (r->req.cmd.lba > s->qdev.max_lba) { goto illegal_lba; } break; case MODE_SELECT: - DPRINTF("Mode Select(6) (len %lu)\n", (unsigned long)r->req.cmd.xfer); + trace_scsi_disk_emulate_command_MODE_SELECT(r->req.cmd.xfer); break; case MODE_SELECT_10: - DPRINTF("Mode Select(10) (len %lu)\n", (unsigned long)r->req.cmd.xfer); + trace_scsi_disk_emulate_command_MODE_SELECT_10(r->req.cmd.xfer); break; case UNMAP: - DPRINTF("Unmap (len %lu)\n", (unsigned long)r->req.cmd.xfer); + trace_scsi_disk_emulate_command_UNMAP(r->req.cmd.xfer); break; case VERIFY_10: case VERIFY_12: case VERIFY_16: - DPRINTF("Verify (bytchk %d)\n", (req->cmd.buf[1] >> 1) & 3); + trace_scsi_disk_emulate_command_VERIFY((req->cmd.buf[1] >> 1) & 3); if (req->cmd.buf[1] & 6) { goto illegal_request; } break; case WRITE_SAME_10: case WRITE_SAME_16: - DPRINTF("WRITE SAME %d (len %lu)\n", - req->cmd.buf[0] == WRITE_SAME_10 ? 10 : 16, - (unsigned long)r->req.cmd.xfer); + trace_scsi_disk_emulate_command_WRITE_SAME( + req->cmd.buf[0] == WRITE_SAME_10 ? 10 : 16, r->req.cmd.xfer); break; default: - DPRINTF("Unknown SCSI command (%2.2x=%s)\n", buf[0], - scsi_command_name(buf[0])); + trace_scsi_disk_emulate_command_UNKNOWN(buf[0], + scsi_command_name(buf[0])); scsi_check_condition(r, SENSE_CODE(INVALID_OPCODE)); return 0; } @@ -2152,7 +2140,7 @@ static int32_t scsi_disk_dma_command(SCSIRequest *req, uint8_t *buf) case READ_10: case READ_12: case READ_16: - DPRINTF("Read (sector %" PRId64 ", count %u)\n", r->req.cmd.lba, len); + trace_scsi_disk_dma_command_READ(r->req.cmd.lba, len); /* Protection information is not supported. For SCSI versions 2 and * older (as determined by snooping the guest's INQUIRY commands), * there is no RD/WR/VRPROTECT, so skip this check in these versions. @@ -2177,7 +2165,7 @@ static int32_t scsi_disk_dma_command(SCSIRequest *req, uint8_t *buf) scsi_check_condition(r, SENSE_CODE(WRITE_PROTECTED)); return 0; } - DPRINTF("Write %s(sector %" PRId64 ", count %u)\n", + trace_scsi_disk_dma_command_WRITE( (command & 0xe) == 0xe ? "And Verify " : "", r->req.cmd.lba, len); /* fall through */ @@ -2515,6 +2503,22 @@ static const SCSIReqOps *const scsi_disk_reqops_dispatch[256] = { [WRITE_VERIFY_16] = &scsi_disk_dma_reqops, }; +static void scsi_disk_new_request_dump(uint32_t lun, uint32_t tag, uint8_t *buf) +{ + int i; + int len = scsi_cdb_length(buf); + char *line_buffer, *p; + + line_buffer = g_malloc(len * 5 + 1); + + for (i = 0, p = line_buffer; i < len; i++) { + p += sprintf(p, " 0x%02x", buf[i]); + } + trace_scsi_disk_new_request(lun, tag, line_buffer); + + g_free(line_buffer); +} + static SCSIRequest *scsi_new_request(SCSIDevice *d, uint32_t tag, uint32_t lun, uint8_t *buf, void *hba_private) { @@ -2530,16 +2534,9 @@ static SCSIRequest *scsi_new_request(SCSIDevice *d, uint32_t tag, uint32_t lun, } req = scsi_req_alloc(ops, &s->qdev, tag, lun, hba_private); -#ifdef DEBUG_SCSI - DPRINTF("Command: lun=%d tag=0x%x data=0x%02x", lun, tag, buf[0]); - { - int i; - for (i = 1; i < scsi_cdb_length(buf); i++) { - printf(" 0x%02x", buf[i]); - } - printf("\n"); + if (trace_event_get_state_backends(TRACE_SCSI_DISK_NEW_REQUEST)) { + scsi_disk_new_request_dump(lun, tag, buf); } -#endif return req; } diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events index 2fe8a7c..dbd529e 100644 --- a/hw/scsi/trace-events +++ b/hw/scsi/trace-events @@ -292,3 +292,32 @@ lsi_execute_script_stop(void) "SCRIPTS execution stopped" lsi_awoken(void) "Woken by SIGP" lsi_reg_read(const char *name, int offset, uint8_t ret) "Read reg %s 0x%x = 0x%02x" lsi_reg_write(const char *name, int offset, uint8_t val) "Write reg %s 0x%x = 0x%02x" + +# hw/scsi/scsi-disk.c +scsi_disk_check_condition(uint32_t tag, uint8_t key, uint8_t asc, uint8_t ascq) "Command complete tag=0x%x sense=%d/%d/%d" +scsi_disk_read_complete(uint32_t tag, size_t size) "Data ready tag=0x%x len=%zd" +scsi_disk_read_data_count(uint32_t sector_count) "Read sector_count=%d" +scsi_disk_read_data_invalid(void) "Data transfer direction invalid" +scsi_disk_write_complete_noio(uint32_t tag, size_t size) "Write complete tag=0x%x more=%zd" +scsi_disk_write_data_invalid(void) "Data transfer direction invalid" +scsi_disk_emulate_vpd_page_00(size_t xfer) "Inquiry EVPD[Supported pages] buffer size %zd" +scsi_disk_emulate_vpd_page_80_not_supported(void) "Inquiry (EVPD[Serial number] not supported" +scsi_disk_emulate_vpd_page_80(size_t xfer) "Inquiry EVPD[Serial number] buffer size %zd" +scsi_disk_emulate_vpd_page_83(size_t xfer) "Inquiry EVPD[Device identification] buffer size %zd" +scsi_disk_emulate_vpd_page_b0_not_supported(void) "Inquiry (EVPD[Block limits] not supported for CDROM" +scsi_disk_emulate_mode_sense(int cmd, int page, size_t xfer, int control) "Mode Sense(%d) (page %d, xfer %zd, page_control %d)" +scsi_disk_emulate_read_toc(int start_track, int format, int msf) "Read TOC (track %d format %d msf %d)" +scsi_disk_emulate_read_data(int buflen) "Read buf_len=%d" +scsi_disk_emulate_write_data(int buflen) "Write buf_len=%d" +scsi_disk_emulate_command_SAI_16(void) "SAI READ CAPACITY(16)" +scsi_disk_emulate_command_SAI_unsupported(void) "Unsupported Service Action In" +scsi_disk_emulate_command_SEEK_10(uint64_t lba) "Seek(10) (sector %" PRId64 ")" +scsi_disk_emulate_command_MODE_SELECT(size_t xfer) "Mode Select(6) (len %zd)" +scsi_disk_emulate_command_MODE_SELECT_10(size_t xfer) "Mode Select(10) (len %zd)" +scsi_disk_emulate_command_UNMAP(size_t xfer) "Unmap (len %zd)" +scsi_disk_emulate_command_VERIFY(int bytchk) "Verify (bytchk %d)" +scsi_disk_emulate_command_WRITE_SAME(int cmd, size_t xfer) "WRITE SAME %d (len %zd)" +scsi_disk_emulate_command_UNKNOWN(int cmd, const char *name) "Unknown SCSI command (0x%2.2x=%s)" +scsi_disk_dma_command_READ(uint64_t lba, uint32_t len) "Read (sector %" PRId64 ", count %u)" +scsi_disk_dma_command_WRITE(const char *cmd, uint64_t lba, int len) "Write %s(sector %" PRId64 ", count %u)" +scsi_disk_new_request(uint32_t lun, uint32_t tag, const char *line) "Command: lun=%d tag=0x%x data=%s" From patchwork Tue Feb 5 18:15:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1037082 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bojvhEcb"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43vDVv0SSFz9s7T for ; Wed, 6 Feb 2019 06:03:18 +1100 (AEDT) Received: from localhost ([127.0.0.1]:38036 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr604-0007Tm-Jh for incoming@patchwork.ozlabs.org; Tue, 05 Feb 2019 14:03:16 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr5H9-00039y-0Q for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gr5H8-0004W4-5S for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:36278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gr5H7-0004ST-Rz for qemu-devel@nongnu.org; Tue, 05 Feb 2019 13:16:50 -0500 Received: by mail-wr1-x436.google.com with SMTP id z3so4741047wrv.3 for ; Tue, 05 Feb 2019 10:16:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=ewZofejI6sRCYvM4GkIU31Xd9qiT/N5UGG3udpNPqoM=; b=bojvhEcb9nYgFV+hAKwFTOx1T9k4nxJT+Irp7+VapTgBAf1cqdO4t7nWi7nc6rjxeR J7T+VLsvsn7NHZnQCkYCwMEYsS2UZyQL67XDG54gRGZzHr6WwWCEyHEdcIBfINqTFUmL qU7Xeq49AemFlfNG7tyL9+bD3i0M/TJmQFhM8MhJYHD8vT4PW5TITvGLGs0PFLLWNgdT D0doMMo1ZC3d6Ms7M6ngRxW1wWdTmGPBT+lMywtfWYEtH7SEemWW7GzI0BavWUCLpQtE 8HbB09G/KCVJj2Th5MjMj3Etlh7OZqpveQaKCnI1+yT4I/ORmHrFH6a/FBGtPh6qV0kU JjGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=ewZofejI6sRCYvM4GkIU31Xd9qiT/N5UGG3udpNPqoM=; b=Q0y8D/3Bo3t9x2lCNWZr1hCBwaoFWaN8gsSfw1wHGcINpYf8wwupsPKWMpzEsm9KUh NN6X8Tc/yyh5wLyYavmnFmXGPcTj6GAV6EC8Id91/uUyq9au9c7YUPw/GkHdOlOL7azt 9TBWLrv0I7/UqDdxB7uc0A4DR8CK1GR6QLf2NHuwyRSzb0/dkrmWO4OUpaX2cPkak5/K WAN/krye1r8RLKX9KSYjLL3YA0tu9FQxJ+FV+Jx0aSS93Mp6/ppHJ+37jKS4VGRzAVrm Q3tdxxXCqUFTPshhn1OLOcb8X52KeLiyC+bLpFOAGAsOZXsRwQ8/+25vL08D4xtRBgYi v1uQ== X-Gm-Message-State: AHQUAua9frCGWtY9/aIAN9rXbHfxSh8r3Wc98cawziHcwzsw8mLj8NoG EbGsLONXoPd742gQRph0OPwcUNwk X-Google-Smtp-Source: AHgI3IYfbXatSQWc2LT1gFhiCyJyPIEPA/JjIFsU8Rc/vlpoUfGZ9whhjZNq83c+G/5rqQrtHzJnOQ== X-Received: by 2002:a5d:5111:: with SMTP id s17mr4547600wrt.43.1549390605599; Tue, 05 Feb 2019 10:16:45 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id p5sm8931665wmh.16.2019.02.05.10.16.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 10:16:44 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 5 Feb 2019 19:15:26 +0100 Message-Id: <1549390526-24246-77-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> References: <1549390526-24246-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::436 Subject: [Qemu-devel] [PULL 76/76] queue: fix QTAILQ_FOREACH_REVERSE_SAFE X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The iteration was stopping as soon as prev_var was set to NULL, and therefore it skipped the first element. Fortunately, or unfortunately, we have only one use of QTAILQ_FOREACH_REVERSE_SAFE. Thus this only showed up as incorrect register preferences on the very first translation block that was compiled. Reported-by: Thomas Huth Reviewed-by: Emilio G. Cota Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- include/qemu/queue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/queue.h b/include/qemu/queue.h index 1f8e219..0379bd8 100644 --- a/include/qemu/queue.h +++ b/include/qemu/queue.h @@ -439,7 +439,7 @@ union { \ #define QTAILQ_FOREACH_REVERSE_SAFE(var, head, field, prev_var) \ for ((var) = QTAILQ_LAST(head); \ - (var) && ((prev_var) = QTAILQ_PREV(var, field)); \ + (var) && ((prev_var) = QTAILQ_PREV(var, field), 1); \ (var) = (prev_var)) /*