From patchwork Wed Sep 13 09:05:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Andres Gomez Del Real X-Patchwork-Id: 813234 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=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="btfZKJB2"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xsbPw0nzmz9sPt for ; Wed, 13 Sep 2017 19:06:44 +1000 (AEST) Received: from localhost ([::1]:41057 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds3d4-0001Vo-4g for incoming@patchwork.ozlabs.org; Wed, 13 Sep 2017 05:06:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds3cL-0001UO-Mt for qemu-devel@nongnu.org; Wed, 13 Sep 2017 05:05:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds3cK-0007US-Oz for qemu-devel@nongnu.org; Wed, 13 Sep 2017 05:05:57 -0400 Received: from mail-vk0-x242.google.com ([2607:f8b0:400c:c05::242]:36816) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ds3cK-0007U6-La for qemu-devel@nongnu.org; Wed, 13 Sep 2017 05:05:56 -0400 Received: by mail-vk0-x242.google.com with SMTP id x85so3322425vkx.3 for ; Wed, 13 Sep 2017 02:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=faU0nHVPmsWhZAUj7uiUFOF511aUtaoU1E/cyDVveyE=; b=btfZKJB2OJejVQ87RloBoE7EmhIDUk48WS+4yHo87sSxN41ZB0NU+QopyAJ1JBpEGx 925TacydAJmmjdHRJXpL4BZYAnhP8qlmv2AnQtPYgQSquf5/k3NIy632F7RO2dp1VENa u+u3jKp0bNhtLGyp1KhGv3jy40N3W0/Kj6/2cHRZISfMDC00ga8VC4eOyg2VwAImjOPc xIFByvekqqs8AiW17Els/IDdHQFjwFS4/gBbZun3kSWBSSou28roWtFUioCjC65tAWfL +668LoCxyCAy6aob0WpOgGSaw2uZQMUuSHBNLr1qi39eRitX6OGzt6gidlKR/bq9tsUS WhZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=faU0nHVPmsWhZAUj7uiUFOF511aUtaoU1E/cyDVveyE=; b=lGXqy16NI81RH19M/XnFabh/xC3ru43kCGleHBa5EoVNFthsU66Pzez56EVT2SSgm2 4GMqqyd9A1J+ANGJl3Rpkg/B1wgKydpFLZwCoOeT9+VCQcXr71PCj+b6X0zTePJVz4P9 49RrL0ZGmIlZ0c8Y33cJ8rb/qbYyEStA4Xfa95/+dyMBPNhR/BX93AgHDF76MNSDvoME JBoqOyQhI2DVdWWHugzv5uEg6xMHUPbeKPVafPteEvzfY6rWfX4WZSEroqHFelT7DY8P D2HfKNgfMjcnIxnEWMX68MfhMw4be5ZQ06pYV9In4N/T4miVWHQMy82tAkgsO8ZQTedS jq8g== X-Gm-Message-State: AHPjjUgINvD2WugTdJMX7dN7q6QRwlOr0w8U204JypudgbZLQFMpsX3D 5Ai8HYgl/GhQ7t0t X-Google-Smtp-Source: AOwi7QCNfVJ6eA90syXEpjuPu8mvJt6gwtT2CqM4zi3QPwaRPOFj+/9Club2+mHBTkfXRJcoabtDFA== X-Received: by 10.31.173.135 with SMTP id w129mr12292263vke.106.1505293556058; Wed, 13 Sep 2017 02:05:56 -0700 (PDT) Received: from localhost.localdomain ([190.66.154.128]) by smtp.gmail.com with ESMTPSA id r74sm2677601vkf.19.2017.09.13.02.05.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2017 02:05:55 -0700 (PDT) From: Sergio Andres Gomez Del Real X-Google-Original-From: Sergio Andres Gomez Del Real To: qemu-devel@nongnu.org Date: Wed, 13 Sep 2017 04:05:15 -0500 Message-Id: <20170913090522.4022-8-Sergio.G.DelReal@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170913090522.4022-1-Sergio.G.DelReal@gmail.com> References: <20170913090522.4022-1-Sergio.G.DelReal@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400c:c05::242 Subject: [Qemu-devel] [PATCH v4 07/14] apic: add function to apic that will be used by hvf 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: Sergio Andres Gomez Del Real , pbonzini@redhat.com, stefanha@gmail.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This patch adds the function apic_get_highest_priority_irr to apic.c and exports it through the interface in apic.h for use by hvf. Signed-off-by: Sergio Andres Gomez Del Real --- hw/intc/apic.c | 12 ++++++++++++ include/hw/i386/apic.h | 1 + 2 files changed, 13 insertions(+) diff --git a/hw/intc/apic.c b/hw/intc/apic.c index fe15fb6024..6fda52b86c 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -305,6 +305,18 @@ static void apic_set_tpr(APICCommonState *s, uint8_t val) } } +int apic_get_highest_priority_irr(DeviceState *dev) +{ + APICCommonState *s; + + if (!dev) { + /* no interrupts */ + return -1; + } + s = APIC_COMMON(dev); + return get_highest_priority_int(s->irr); +} + static uint8_t apic_get_tpr(APICCommonState *s) { apic_sync_vapic(s, SYNC_FROM_VAPIC); diff --git a/include/hw/i386/apic.h b/include/hw/i386/apic.h index ea48ea9389..a9f6c0aa33 100644 --- a/include/hw/i386/apic.h +++ b/include/hw/i386/apic.h @@ -20,6 +20,7 @@ void apic_init_reset(DeviceState *s); void apic_sipi(DeviceState *s); void apic_poll_irq(DeviceState *d); void apic_designate_bsp(DeviceState *d, bool bsp); +int apic_get_highest_priority_irr(DeviceState *dev); /* pc.c */ DeviceState *cpu_get_current_apic(void);