From patchwork Fri Aug 23 16:16:32 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 19495 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ve0-f198.google.com (mail-ve0-f198.google.com [209.85.128.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 9B183248E6 for ; Fri, 23 Aug 2013 16:16:38 +0000 (UTC) Received: by mail-ve0-f198.google.com with SMTP id 15sf634781vea.9 for ; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-gm-message-state:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-unsubscribe; bh=naNG//VpeRZ08Q+3jK/9yVNq97xOnirXKEW99pt1ljE=; b=ZOJSbj4YNEhugmfTOavufXj5NOSob7JISeOZezExCAXdvDd4eMzQvLtwqnPcbOTjSj VFOuRlIkmZaWX8c8th/JHxgqS3SKyD7TqS3ZSot4D/KYUhdCYh0XtJpXrck7+yS6ulqG Jp78+IaaS2kB+RqA1dtjXpC822VZUUuSLq2i6Rh/fiL3IZt3ghDtgENio7VkKn39OrKy TMPiyXI5NEPCCgDasOmcHbziZGYvqfU2q1P0ZkBTL03cLnYv8Xk4e3tnDzsROaijU3S0 yPVBoRndY3gsunx5LSJMrUqwabm1MqmNszkg14skqUA4ApLXOvQ0V5hhqU9J+d8XUCYi Imww== X-Received: by 10.236.227.165 with SMTP id d35mr137658yhq.51.1377274598431; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.97.227 with SMTP id ed3ls1486112qeb.57.gmail; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) X-Received: by 10.58.54.70 with SMTP id h6mr194533vep.36.1377274598367; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) Received: from mail-ve0-f180.google.com (mail-ve0-f180.google.com [209.85.128.180]) by mx.google.com with ESMTPS id wh9si171194vcb.18.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 23 Aug 2013 09:16:38 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.128.180 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.128.180; Received: by mail-ve0-f180.google.com with SMTP id pb11so574687veb.25 for ; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) X-Gm-Message-State: ALoCoQmmbpy0h/KkX9tasEpChAHVZTanxESKgflFcHIWUu2HEv8LFGmIEId2OyUMoyzg2z0IvWjl X-Received: by 10.58.67.9 with SMTP id j9mr208646vet.22.1377274598284; Fri, 23 Aug 2013 09:16:38 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.220.174.196 with SMTP id u4csp101898vcz; Fri, 23 Aug 2013 09:16:37 -0700 (PDT) X-Received: by 10.14.126.73 with SMTP id a49mr562046eei.48.1377274595792; Fri, 23 Aug 2013 09:16:35 -0700 (PDT) Received: from mnementh.archaic.org.uk (1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.1.0.0.b.8.0.1.0.0.2.ip6.arpa. [2001:8b0:1d0::1]) by mx.google.com with ESMTPS id k49si432701een.172.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 23 Aug 2013 09:16:35 -0700 (PDT) Received-SPF: neutral (google.com: 2001:8b0:1d0::1 is neither permitted nor denied by best guess record for domain of pm215@archaic.org.uk) client-ip=2001:8b0:1d0::1; Received: from pm215 by mnementh.archaic.org.uk with local (Exim 4.80) (envelope-from ) id 1VCu2L-0002IP-LR; Fri, 23 Aug 2013 17:16:33 +0100 From: Peter Maydell To: qemu-devel@nongnu.org Cc: patches@linaro.org, qemu-trivial@nongnu.org, Paolo Bonzini Subject: [PATCH 1/2] hw/scsi/lsi53c895a: Use sextract32 for sign-extension Date: Fri, 23 Aug 2013 17:16:32 +0100 Message-Id: <1377274593-8797-2-git-send-email-peter.maydell@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1377274593-8797-1-git-send-email-peter.maydell@linaro.org> References: <1377274593-8797-1-git-send-email-peter.maydell@linaro.org> X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: peter.maydell@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.128.180 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Use sextract32() for doing sign-extension rather than rolling our own implementation. Signed-off-by: Peter Maydell --- hw/scsi/lsi53c895a.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index 611f2aa..333c62f 100644 --- a/hw/scsi/lsi53c895a.c +++ b/hw/scsi/lsi53c895a.c @@ -998,12 +998,6 @@ bad: s->msg_action = 0; } -/* Sign extend a 24-bit value. */ -static inline int32_t sxt24(int32_t n) -{ - return (n << 8) >> 8; -} - #define LSI_BUF_SIZE 4096 static void lsi_memcpy(LSIState *s, uint32_t dest, uint32_t src, int count) { @@ -1083,7 +1077,7 @@ again: /* Table indirect addressing. */ /* 32-bit Table indirect */ - offset = sxt24(addr); + offset = sextract32(addr, 0, 24); pci_dma_read(pci_dev, s->dsa + offset, buf, 8); /* byte count is stored in bits 0:23 only */ s->dbc = cpu_to_le32(buf[0]) & 0xffffff; @@ -1183,13 +1177,13 @@ again: uint32_t id; if (insn & (1 << 25)) { - id = read_dword(s, s->dsa + sxt24(insn)); + id = read_dword(s, s->dsa + sextract32(insn, 0, 24)); } else { id = insn; } id = (id >> 16) & 0xf; if (insn & (1 << 26)) { - addr = s->dsp + sxt24(addr); + addr = s->dsp + sextract32(addr, 0, 24); } s->dnad = addr; switch (opcode) { @@ -1385,7 +1379,7 @@ again: if (cond == jmp) { if (insn & (1 << 23)) { /* Relative address. */ - addr = s->dsp + sxt24(addr); + addr = s->dsp + sextract32(addr, 0, 24); } switch ((insn >> 27) & 7) { case 0: /* Jump */ @@ -1438,7 +1432,7 @@ again: int i; if (insn & (1 << 28)) { - addr = s->dsa + sxt24(addr); + addr = s->dsa + sextract32(addr, 0, 24); } n = (insn & 7); reg = (insn >> 16) & 0xff;