From patchwork Mon Jan 21 18:51:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 156249 Delivered-To: patches@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp6701305jaa; Mon, 21 Jan 2019 10:51:44 -0800 (PST) X-Received: by 2002:a1c:9c15:: with SMTP id f21mr537372wme.94.1548096704795; Mon, 21 Jan 2019 10:51:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548096704; cv=none; d=google.com; s=arc-20160816; b=ZUq/0DJkyCZR0xEjCZFdWgR+4kOACB4ltEFQ1dKuDZqDAixtverlNMAwcUAJBJfWOE A238nZhkY5OnARFnU5jynX23Xn9A3xAdsJBVcorwvBAP4rFGx9mzlfRwvQKIdcr+FPpw j81XhafXa1MjDC3NsszRZhhBmqzKlGlIzQ5aPl+iBQ2Se3Vt8PHqZSrtKnYa520PFUw/ 5PjXa5WeILeSqx9lgR38iEM3ehzPqarLBXD/ajakc9HLA/7ntfsK1HlIMI8AJSNTVosP t5smnnCgY2SHNaqMInxAftDvGCgqxO2bvN08KwviK+wwHgwd/Ml0tSWJ2g3Ev9Or52dd 9ToA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=y0iJP1/0IWSi2a//xChFZD3ZT9ballXzK0ZjLQwVNl8=; b=cqtU8g0aujbEwU+6wN0YczegzxAokyxQ4oYhq4Bbu42D8C6TZwFqBXOhTavdxOVGOr YID0mrqMiN07WQBdrfApIPqINo08f5JC2HLXO2q0P8kQifgGiwXpEkXw1t2i9h7WzSdm KNGs8792mndUDzA+0o6hLjqhylA+rmcyVzHtOxk0VqwhQpn7f+7XrFx3lh6J4Ku0pSmF Zxg20ag07bJ1qfxMExLyQnk+YLwc/7n4kBXDjl+AnVwM5hcNBR/AoXmjbYLHQ7ugKR78 WE7JssO3gz1zjHXRiQfiB8/mNLIQ0/lyTcFytOdLyoil8Oj64nqSFtmdV8VI0Wo7+vJA nsEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="L/V3fAmO"; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id z17sor14174585wrw.33.2019.01.21.10.51.44 for (Google Transport Security); Mon, 21 Jan 2019 10:51:44 -0800 (PST) Received-SPF: pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="L/V3fAmO"; spf=pass (google.com: domain of peter.maydell@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=peter.maydell@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y0iJP1/0IWSi2a//xChFZD3ZT9ballXzK0ZjLQwVNl8=; b=L/V3fAmOrajnLxIzBOWs3x+pFR3SCRdZ1OX/H++FufMgmt8nooRFHp8b+BOJxnOAyk N7daPs0ZVixlYoj23Q/4gEeVdRWkQXUNdvGGG43WZtU0NtXTbPk8bd9O2z0a6QSvgVGO VmWSHiIGcDjEFRp+2ge/EXNA87V3598kxjMTo= 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:mime-version:content-transfer-encoding; bh=y0iJP1/0IWSi2a//xChFZD3ZT9ballXzK0ZjLQwVNl8=; b=EWpdx5T9X3e4luRlk+Gwn8oZIC6Wz4c29Dhgns20EIJcqNhy7LijFe5FtACvno0lN6 DQV2knBiSH5+i27ltP59wDrC8YMCfoFW4fCg4Xgh5QFGpn3ihqB/4DKqKPodXhzyiduL 3K1qM6IzqCv+azoE5IadEmbDJO0suFUQ7c4o8FwhmzWsRyKqEtoLUAiVKmT2FS+s1H0P RbbQD6RXGmGbX7ahhKG6Bfde8O7jsQpWfTG8Djh7B/fhS1RCuHeKaM6PUOB544ED5TGU VvFxpyTkHjyySGdaw0lf67sowBiZHTe58XGJY+XHi65uiJgDq+rn4x+o+49CEkOxlsIX G/Aw== X-Gm-Message-State: AJcUukds1dpkszaC2WMh1PotJYpmGOeoJGcQ0jtnxdMi3Y2YbF2ldapG 3Yu7X+q0qGFhAgR4FbmwaW+8pUYd X-Google-Smtp-Source: ALg8bN7mn8BBfV+t0ww8EfNNo+ogUUTdsnWiD2ensAtoc0SxdHlyxwLKoAWKGDoAMxZoH3NtRSJCIw== X-Received: by 2002:adf:9f10:: with SMTP id l16mr30473940wrf.206.1548096704432; Mon, 21 Jan 2019 10:51:44 -0800 (PST) Return-Path: Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id n82sm50386660wma.42.2019.01.21.10.51.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 21 Jan 2019 10:51:43 -0800 (PST) From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: patches@linaro.org Subject: [PATCH 21/23] hw/arm/armsse: Add SSE-200 model Date: Mon, 21 Jan 2019 18:51:16 +0000 Message-Id: <20190121185118.18550-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190121185118.18550-1-peter.maydell@linaro.org> References: <20190121185118.18550-1-peter.maydell@linaro.org> MIME-Version: 1.0 Add a model of the SSE-200, now we have put in all the code that lets us make it different from the IoTKit. Signed-off-by: Peter Maydell --- include/hw/arm/armsse.h | 19 ++++++++++++++++--- hw/arm/armsse.c | 12 ++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) -- 2.20.1 Reviewed-by: Richard Henderson diff --git a/include/hw/arm/armsse.h b/include/hw/arm/armsse.h index 3914e8e4bf2..f800bafb14a 100644 --- a/include/hw/arm/armsse.h +++ b/include/hw/arm/armsse.h @@ -1,5 +1,5 @@ /* - * ARM SSE (Subsystems for Embedded): IoTKit + * ARM SSE (Subsystems for Embedded): IoTKit, SSE-200 * * Copyright (c) 2018 Linaro Limited * Written by Peter Maydell @@ -12,9 +12,13 @@ /* * This is a model of the Arm "Subsystems for Embedded" family of * hardware, which include the IoT Kit and the SSE-050, SSE-100 and - * SSE-200. Currently we model only the Arm IoT Kit which is documented in + * SSE-200. Currently we model: + * - the Arm IoT Kit which is documented in * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ecm0601256/index.html - * It contains: + * - the SSE-200 which is documented in + * http://infocenter.arm.com/help/topic/com.arm.doc.101104_0100_00_en/corelink_sse200_subsystem_for_embedded_technical_reference_manual_101104_0100_00_en.pdf + * + * The IoTKit contains: * a Cortex-M33 * the IDAU * some timers and watchdogs @@ -23,6 +27,14 @@ * a security controller * a bus fabric which arranges that some parts of the address * space are secure and non-secure aliases of each other + * The SSE-200 additionally contains: + * a second Cortex-M33 + * two Message Handling Units (MHUs) + * an optional CryptoCell (which we do not model) + * more SRAM banks with associated MPCs + * multiple Power Policy Units (PPUs) + * a control interface for an icache for each CPU + * per-CPU identity and control register blocks * * QEMU interface: * + QOM property "memory" is a MemoryRegion containing the devices provided @@ -93,6 +105,7 @@ * them via the ARMSSE base class, so they have no IOTKIT() etc macros. */ #define TYPE_IOTKIT "iotkit" +#define TYPE_SSE200 "sse-200" /* We have an IRQ splitter and an OR gate input for each external PPC * and the 2 internal PPCs diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index eb691faf720..5d53071a5a0 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -50,6 +50,18 @@ static const ARMSSEInfo armsse_variants[] = { .has_cpusecctrl = false, .has_cpuid = false, }, + { + .name = TYPE_SSE200, + .sram_banks = 4, + .num_cpus = 2, + .sys_version = 0x22041743, + .sys_config_format = SSE200Format, + .has_mhus = true, + .has_ppus = true, + .has_cachectrl = true, + .has_cpusecctrl = true, + .has_cpuid = true, + }, }; static uint32_t armsse_sys_config_value(ARMSSE *s, const ARMSSEInfo *info)