From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225evvzzKpc8eUCqlBoClVzghyvgwJUneSKCoQVlc2Gm+xOhD61RkpFnjZ9vFXNNi0yXHrTh ARC-Seal: i=1; a=rsa-sha256; t=1516898217; cv=none; d=google.com; s=arc-20160816; b=gEH01Fois7XMvhVJptasrNwwaqbqIu0cDXp7bcysixwy6gMwP4cIXfElmvU1HfBOKj +4hSw6VjoKCmbT/OvyTo7CarWFJpS7q4k4T9mKK6WSq/RR7KAVK6LqFA38NPUrRbSo1r axXuMAf82Uh6sr6gZypm5gjgoheX5rv493n2AitmJjjTOnykrfscOHEMaLj/uV6GGDtu viBBzGUmfsxcnh1yNLqzlExsQE8LqlDXTohpRW7J2UhePYm65P4YxeXikndeBssBQGO1 DDuxb7ZfnbtcDFCoYNL0g1RYMJyC/4lE+srGuQ9a59/Uufvh5asVQphKZgRom3CxLWzV Bsww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:arc-authentication-results; bh=l/P/d1K5jC8IJ7KWGicY4U+xIVzbloLf96GsKIdNfhI=; b=ZQONcn2hW2y0YGwZMfjY+8JD7L2mAi1maS2uYhf6EV3qWcprCWH7dL6bn+0PZe5sbV he1o1eLSzU+JTw++osAcpicq9RaiAQa+pFyON1SQDGkTkXsftUEd9fEcxSsrrxTZoTai mKHK87WU6+uquJkKuoO+faJLvHhvWkV1gaP3S04CgxXk1UwnCqFtRLkeloft3v4lQa3z neSW0kA7sC0V04XuvSMapqfseGBpqe5MKmAIYNQqe1UHip08VZF4saLjjR3WM2oVnI+1 8YYhQKBJBLz7uBs9mFo4GcRvFQByWpMK90eHy6vNoGvaj3E6OyGvm68JyLkgk37ixKbi V/rg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of richard.gong@linux.intel.com designates 192.55.52.120 as permitted sender) smtp.mailfrom=richard.gong@linux.intel.com Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of richard.gong@linux.intel.com designates 192.55.52.120 as permitted sender) smtp.mailfrom=richard.gong@linux.intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,412,1511856000"; d="scan'208";a="13130332" From: richard.gong@linux.intel.com To: arnd@arndb.de, gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, richard.gong@intel.com Subject: [PATCHv1] Add Intel Stratix10 service layer driver Date: Thu, 25 Jan 2018 10:39:03 -0600 Message-Id: <1516898344-20020-1-git-send-email-richard.gong@linux.intel.com> X-Mailer: git-send-email 2.7.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590583065067005929?= X-GMAIL-MSGID: =?utf-8?q?1590583065067005929?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Richard Gong Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard processor system (HPS) and Secure Device Manager (SDM). SDM is the hardware which does the FPGA configuration, QSPI, Crypto and warm reset. When the FPGA is configured from HPS, there needs to be a way for HPS to notify SDM the location and size of the configuration data. Then SDM will get the configuration data from that location and perform the FPGA configuration. To meet the whole system security needs and support virtual machine requesting communication with SDM, only the secure world of software (EL3, Exception Level 3) can interface with SDM. All software entities running on other exception levels must channel through the EL3 software whenever it needs service from SDM. Intel Stratix10 service layer driver is added to provide the service for FPGA configuration. Running at privileged exception level (EL1, Exception Level 1), Intel Stratix10 service layer driver interfaces with the service provider at EL1 (Intel Stratix10 FPGA Manager) and manages secure monitor call (SMC) to communicate with secure monitor software at secure monitor exception level (EL3). Later the Intel Stratix10 service layer driver will be extended to provide services for QSPI, Crypto and warm reset. Richard Gong (1): driver: misc: add Intel Stratix10 service layer driver drivers/misc/Kconfig | 3 +- drivers/misc/Makefile | 3 +- drivers/misc/intel-service/Kconfig | 9 + drivers/misc/intel-service/Makefile | 2 + drivers/misc/intel-service/intel_service.c | 703 +++++++++++++++++++++++++++++ include/linux/intel-service-client.h | 227 ++++++++++ include/linux/intel-service.h | 122 +++++ include/linux/intel-smc.h | 246 ++++++++++ 8 files changed, 1313 insertions(+), 2 deletions(-) create mode 100644 drivers/misc/intel-service/Kconfig create mode 100644 drivers/misc/intel-service/Makefile create mode 100644 drivers/misc/intel-service/intel_service.c create mode 100644 include/linux/intel-service-client.h create mode 100644 include/linux/intel-service.h create mode 100644 include/linux/intel-smc.h -- 2.7.4