From patchwork Fri Apr 9 00:02:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 417693 Delivered-To: patch@linaro.org Received: by 2002:a02:8562:0:0:0:0:0 with SMTP id g89csp1101857jai; Thu, 8 Apr 2021 17:04:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy3S1Izm+GBk7K0LxyIjsCW1Z0h1TpblofEOlV2HuorpNZxCK7J2ITLVcAU+KqoWvUMfhEC X-Received: by 2002:a67:f8c2:: with SMTP id c2mr8088573vsp.59.1617926641148; Thu, 08 Apr 2021 17:04:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617926641; cv=none; d=google.com; s=arc-20160816; b=h3NuxbIUieYuFSVRs4Ao0GMSKzoNdEE7WI1oyiZrRztv+LQLsKQXQ6GQ6P6gn0+1+s /McQt1jn61wLQ55wwRbH0WFKV0mL++8IQekL89hvr5nWp5MWZXp3lOpp2riy3GLkhaEk mEjwT6wvl6qid+GMQDmYOS5UnLSnVShCbyUSanaXfWkai6VXCc7UaqZt3hrSJCAUx4az +pZO1La4XEaI2+qUhFiH3dTrtD9YMTxrgBidckCChPc+5+/0bUY9b2YwYyC/78iGtMkT hqA7ITSmJTGdVJRFzpPzcUcQ+h53I+GSd7AbY+Ys1QCPCJ9FRd4ebM6BqKdq0zHpy+P9 sNqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=6EQ33cLsvaMdyk9vZ1RjmmWSEqY5Z0Yx1WWV7OjMVSY=; b=Re+FNxcyvpg9NTWHrIpSk53A/dLAYAIbp3euDJYwsVjprbSlNGUCLRCdaQxzImkKET xNVW9KxTshGfdMeYsLw5TYp8rwoFbTKqAcFhopzeK+urJyeJUO6668YJhSc9Q+LYj9IS xaTk1Mzdk8F+xcJDDIQjNh63i0s4pvU0qq4dcB6cNMG726XVA6i1Fs6lf5OSBcMpfqCy uSVcIFzIAq+s+w6azKUYMk8UkaQG5euPyYBlGM7Cjf7dYJf1RZsNhWbBQKVz5DOH//6q ilPMSXCBUfX+xTLxPlFygI3lPf6A62GCDcuW7aCLKBlEtZh9AW1pmpe2Ca1WqwSgJNEi GxgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=cwfOIOV5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s11si486875uaj.237.2021.04.08.17.04.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Apr 2021 17:04:01 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=cwfOIOV5; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Received: from localhost ([::1]:40738 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUecy-0001G4-FO for patch@linaro.org; Thu, 08 Apr 2021 20:04:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUecC-0001Fr-MC; Thu, 08 Apr 2021 20:03:12 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]:35335) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lUecA-0005Ce-Ks; Thu, 08 Apr 2021 20:03:12 -0400 Received: by mail-pf1-x434.google.com with SMTP id n38so3044659pfv.2; Thu, 08 Apr 2021 17:03:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6EQ33cLsvaMdyk9vZ1RjmmWSEqY5Z0Yx1WWV7OjMVSY=; b=cwfOIOV5NeQ0atG6S3nvh1PPBzKcBBAe1NIsxIeFXhlxU8DK7I/uLkBDFemC6HqSD0 yu9GCyvFQFO4vHV2J9vP0d+kIEz2mQGDxrta5FHGZkr29/rBCJWEKUYgro9lBimlqXHT C5OU2G3QkxwReJwTyc7VOF7GtdJIz1eTAI1hbxgj2XlqUFI+UYLrkcH/Vk914WzON/fW DeA5N6Fvpq6nxoxMcweAttgxKZ8eDsNkDBrwv6SDABgNNj9h3Uc2LTiXBJwPPU7kIWkk XTrsJtRNv+fDSuaUYgzrnIFA4UOeDYazFQ5/5ZWabgjgFtoth50FZ4++tCYMURkIyMRK Kyrw== 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 :mime-version:content-transfer-encoding; bh=6EQ33cLsvaMdyk9vZ1RjmmWSEqY5Z0Yx1WWV7OjMVSY=; b=jPfeL6i0IU+iBFr3RvGYaMABhLTTS3FshQ9hmt17yV5oEylzFS9c+ycQJ8DRGuRFVN UES9DkQqQt8PPuESpwRSKz4pIGsBh57ARcidjWiDiDowPbYXv9aqmg0i/jNj8X9JTUB2 bPeHnSh8JAMtsU0j+1tfMO/LvMWuvCFNUUv5ktW4bLVJYmU8MximgNJcX4M8iBef7v7F zLu3FUmBVPKAKl0qFhej53y76LQ3vIk64ZHZedpeEqqAksX6VSiSHA2MklbRWCCAK8kq bGGj+Xhw7Vra4akXbxIGAsWGDLhTP7WzyvGi7Xq0gnB7hDQVVl7WOONlk+CJJ7+VZ/SX 41xg== X-Gm-Message-State: AOAM533cspRI1dzSMo6Odg/CkSYkLdVMKwtStKlZk9C8JaoBwr9dh5Me WtUkVlX59D7uam4wMNF4frk= X-Received: by 2002:a63:62c4:: with SMTP id w187mr10045122pgb.173.1617926588724; Thu, 08 Apr 2021 17:03:08 -0700 (PDT) Received: from voyager.lan ([45.124.203.14]) by smtp.gmail.com with ESMTPSA id f17sm393406pfk.184.2021.04.08.17.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Apr 2021 17:03:07 -0700 (PDT) From: Joel Stanley To: =?utf-8?q?C=C3=A9dric_Le_Goater?= Subject: [PATCH v5 0/3] hw/misc: Model ASPEED hash and crypto engine Date: Fri, 9 Apr 2021 09:32:50 +0930 Message-Id: <20210409000253.1475587-1-joel@jms.id.au> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::434; envelope-from=joel.stan@gmail.com; helo=mail-pf1-x434.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Jeffery , Peter Maydell , qemu-arm@nongnu.org, qemu-devel@nongnu.org, Klaus Heinrich Kiwi Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This version of the series adds the cleanups Cédric made and the scatter gather feature that Klaus implemented. I took inspiration from Klaus's patches and reworked the direct hashing mode to easier implement both sg and direct modes. The r-b tags are preserved as the changes were minor. I welcome further review though if you have time. v5: Merge scatter gather feature v4: Rebase on Philippe's memory region cleanup series [1] Address feedback from Cédric Rework qtest to run on ast2400, ast2500 and ast2600 v3: Rework qtest to not use libqtest-single.h, rebase to avoid LPC conflicts. v2: Address review from Andrew and Philippe. Adds a qtest. [1] https://lore.kernel.org/qemu-devel/20210312182851.1922972-1-f4bug@amsat.org/ This adds a model for the ASPEED hash and crypto engine (HACE) found on all supported ASPEED SoCs. The model uses Qemu's gcrypto API to perform the SHA and MD5 hashing directly in the machine's emulated memory space, which I found a neat use of Qemu's features. It has been tested using u-boot and from Linux userspace, and adds a qtest for the model running as part of the ast2600-evb, ast2500-evb and palmetto-bmc (to test ast2400) machines. Note that the tests will fail without Philippe/Cédric's memory region series. Joel Stanley (3): hw: Model ASPEED's Hash and Crypto Engine aspeed: Integrate HACE tests/qtest: Add test for Aspeed HACE docs/system/arm/aspeed.rst | 2 +- include/hw/arm/aspeed_soc.h | 3 + include/hw/misc/aspeed_hace.h | 43 +++ hw/arm/aspeed_ast2600.c | 15 ++ hw/arm/aspeed_soc.c | 16 ++ hw/misc/aspeed_hace.c | 389 +++++++++++++++++++++++++++ tests/qtest/aspeed_hace-test.c | 469 +++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + hw/misc/meson.build | 1 + tests/qtest/meson.build | 3 + 10 files changed, 941 insertions(+), 1 deletion(-) create mode 100644 include/hw/misc/aspeed_hace.h create mode 100644 hw/misc/aspeed_hace.c create mode 100644 tests/qtest/aspeed_hace-test.c -- 2.30.2