From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757196AbbCCUD0 (ORCPT ); Tue, 3 Mar 2015 15:03:26 -0500 Received: from mail-by2on0105.outbound.protection.outlook.com ([207.46.100.105]:21707 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751500AbbCCUDZ convert rfc822-to-8bit (ORCPT ); Tue, 3 Mar 2015 15:03:25 -0500 X-WSS-ID: 0NKNJPK-07-AGG-02 X-M-MSG: Message-ID: <54F61388.6090002@amd.com> Date: Tue, 3 Mar 2015 14:03:20 -0600 From: Joel Schopp User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= CC: Gleb Natapov , Paolo Bonzini , , David Kaplan , Joerg Roedel , , Borislav Petkov Subject: Re: [PATCH v3] x86: svm: use kvm_fast_pio_in() References: <20150302210202.2951.56810.stgit@joelvmguard2.amd.com> <20150303164431.GD25123@potion.brq.redhat.com> In-Reply-To: <20150303164431.GD25123@potion.brq.redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Originating-IP: [10.180.168.240] X-EOPAttributedMessage: 0 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=Joel.Schopp@amd.com; 8bytes.org; dkim=none (message not signed) header.d=none; X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(428002)(479174004)(377424004)(24454002)(377454003)(87936001)(106466001)(59896002)(50986999)(80316001)(19580395003)(46102003)(83506001)(105586002)(33656002)(47776003)(101416001)(65956001)(65816999)(65806001)(64126003)(54356999)(76176999)(87266999)(5820100001)(86362001)(50466002)(110136001)(92566002)(36756003)(2950100001)(53416004)(62966003)(77156002)(77096005)(23676002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR02MB480;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:DM2PR02MB480; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006);SRVR:DM2PR02MB480; X-Forefront-PRVS: 0504F29D72 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:DM2PR02MB480; X-OriginatorOrg: amd4.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2015 20:03:22.3366 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.221] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB480 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/03/2015 10:44 AM, Radim Krčmář wrote: > 2015-03-02 15:02-0600, Joel Schopp: >> +int kvm_fast_pio_in(struct kvm_vcpu *vcpu, int size, unsigned short port) >> +{ >> + unsigned long val; >> + int ret = emulator_pio_in_emulated(&vcpu->arch.emulate_ctxt, size, >> + port, &val, 1); >> + > Btw. does this return 1 in some scenario? If a function returns a value it is always a good idea to check it and act appropriately. That said... emulator_pio_in_emulated will return 1 if emulator_pio_in_out returns 1 or if vcpu->arch.pio.count != 0 emulator_pio_in_out returns 1 if kernel_pio returns 0 kernel_pio returns 0 if kvm_io_bus_read returns 0