From patchwork Thu Nov 12 05:16:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: York Sun X-Patchwork-Id: 543226 X-Patchwork-Delegate: albert.aribaud@free.fr Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 0F6A0141301 for ; Thu, 12 Nov 2015 16:17:31 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8171A4B7C5; Thu, 12 Nov 2015 06:17:27 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6SLcCanP6vLU; Thu, 12 Nov 2015 06:17:27 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C8F564B7BE; Thu, 12 Nov 2015 06:17:26 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6CB4E4B7BB for ; Thu, 12 Nov 2015 06:17:21 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gt_1UMAhlXWG for ; Thu, 12 Nov 2015 06:17:21 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bn0106.outbound.protection.outlook.com [157.56.110.106]) by theia.denx.de (Postfix) with ESMTPS id AB4734B7C2 for ; Thu, 12 Nov 2015 06:17:16 +0100 (CET) Received: from CH1PR03CA008.namprd03.prod.outlook.com (10.255.156.153) by BY1PR03MB1468.namprd03.prod.outlook.com (10.162.210.139) with Microsoft SMTP Server (TLS) id 15.1.318.15; Thu, 12 Nov 2015 05:17:12 +0000 Received: from BY2FFO11FD014.protection.gbl (207.46.163.237) by CH1PR03CA008.outlook.office365.com (10.255.156.153) with Microsoft SMTP Server (TLS) id 15.1.325.17 via Frontend Transport; Thu, 12 Nov 2015 05:17:11 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; nvidia.com; dkim=none (message not signed) header.d=none; nvidia.com; dmarc=none action=none header.from=freescale.com; Received-SPF: PermError (protection.outlook.com: domain of freescale.com used an invalid SPF mechanism) Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD014.mail.protection.outlook.com (10.1.14.76) with Microsoft SMTP Server (TLS) id 15.1.325.5 via Frontend Transport; Thu, 12 Nov 2015 05:17:11 +0000 Received: from oslab-l1.am.freescale.net ([10.214.84.61]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id tAC5H1ug025159; Wed, 11 Nov 2015 22:17:08 -0700 From: York Sun To: U-Boot Mailing List Date: Wed, 11 Nov 2015 21:16:58 -0800 Message-ID: <1447305419-30684-2-git-send-email-yorksun@freescale.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1447305419-30684-1-git-send-email-yorksun@freescale.com> References: <1447305419-30684-1-git-send-email-yorksun@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD014; 1:YMbMRD/t3hjsK0zPkCYXHzJ5WOIF6DSHRcBGjSancl/XsmZX4nFGWhqLxU3mDZEoReTjIhPaGIQpxfm/KjYj9QZCUFEm8Zcfk92uFGgOTiTcblzOzbz99pvbCEmAepJqywln459aO3dNgGk9nd4jNlw9N34U32JaRsNg1g74zhjBF+/4PH3GzIWfGRwypIGSF5pSAkzuRb8qKjkH3gUP+ohJxf4UKmmAztreXMn7jk60EqYgJ4NicIL3j82qumOPTXAE7HIV8ZgBkEumdOCl/LXZRS7sMQ3D3PaVWakdozKfMRtLWf1YeXHrwpPiENdOvbUH6UM3xaCFRn1UKzZ3R3Vmk4nO2I6LaVdWnxIw21s0tNjdoH57zlEqt/EF8m53TRYZJf2brUmOfPr9jRQpGxNpEvg3kbRzBalvVdA3vGNHLF5Ewmak+Z4xS9T/r92G X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(1060300003)(2980300002)(448002)(199003)(189002)(19580395003)(5003940100001)(77096005)(85326001)(48376002)(5008740100001)(2950100001)(6806005)(47776003)(15975445007)(50466002)(76176999)(87936001)(81156007)(33646002)(11100500001)(110436001)(69596002)(97736004)(86362001)(5001960100002)(110136002)(50226001)(21840400001)(92566002)(106466001)(5007970100001)(4290100001)(19580405001)(50986999)(104016004)(36756003)(229853001)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR03MB1468; H:az84smr01.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1468; 2:+fTMXKTBsWos/O9JiMOEi+2Z7seyVhJ5mWD0fJS5QVm5JSAK6w2AdtWgdqBDlyO7kKM9Tn1b87Ud5dyG97LPxv6VjHScJ1cLv/PmdY0JQobv2Mb0Brba7pTW/B7qzrTMRwt7bUxc4VW2f6NLAiBua0CGVSUm/VC2otnwrvy0ZfM=; 3:+pTp9UQFM3eBZK7/opvj4IvvgkzAIpv2GVF3SLk626Dyktfsr5JRjCVNyy2gZrp13d5yDyUvwtL1xiGtai83mzAZhhLOptDAp94KYcp4T4nhuFmqdzVjljtszshi2mE7JV4wJGiiR7fVD7ta40eBrEs9HbdOGx/dEnDzhUuYBKbYQDEFl2eYsvEwy4X7bLYj6QYu8W/sxxsfbuP7+Nk1ybTpz3g4tKmSPNPuAGifD0U=; 25:XmgNOOx/yMjwDL9orPbrv8iCV/CjjvMV4pZuQzi9Hg5TLaCynppCTWuQlIC3KN2z5bBU/e1FmVUxbLQO7JdavDsw719qVUHuSlZs4YeuvkIJpETBaeQifyPOgKTla/1H8+nNTnufytc9xXlcM/exQ5KNLawDpqJIFeZQP7d0bVsTuDzhO1PH+/WkqeS2Vou+rpkNGIjw4paJLwKQsKF21XV756VYypVtJ7R6G8/FHCVtb1Li0NLCDgHjLeiQTfiF99ywhR6jyIjGOOxW5fwMEQ== X-Microsoft-Antispam: UriScan:;BCL:1;PCL:0;RULEID:;SRVR:BY1PR03MB1468; X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1468; 20:p2K/A9kDj08pZGgH13A4ywF7E9u18pRplfcvi4xjQvOFd7ARZSvkb4jclzwK5k+UO9a4mlAUQLE0/mSOnjKC1UZpakM13cUBz3lXNpbKrzrBubSO1k2TyTYbsEeDAYs+ZIC1Uj3lxEWfJV8w1fikvgKTe/H1tHFPldKvN22o6Q0MErAahtmQwDSK4R15takpIv/yUZm4dpSXU5fIotK7EynFo4JL0etXIgn/Xmfiqwb5c22FXlAnNUh4jC5gdAEZnFNrNo/UqkIG4K6O9xx3yBYTexSSBxORX6qiXGyL2+RjEgn+VMHfg1P+4AxNLHZqfqyVegJw5Byx68QYeMqlB1CVpPSpu6jVWtzBhUpy5DE=; 4:J9VmQWYlbuubjfIXVEnSM+BZRCsSHUy8GxBIftr1CfBAgYJkOi+CbbMCs3l0RjTXyAlcrSvnv8uaIGmZNbMUHIBPe4zyqZv6f4cLJErQVlkhQ7fULxnsMW3225/JFjPyb3ocHtI+ukrbfDpf+RiBZmgQZ/LDbExJ7S9cbpESnkPZWRFnQ8Sq7TJb3Lk2sKf2c6nn2zUBO4cZ4lWFg/nTA+vIatceu5BOSd4X3T7qmWzxGRKhiL15HRB3tosCFLDVk3bufORpYgxgqekfamC69I9uRgpvNTa6ac6pBA/ww/Hct6XHpMMbKDZ2jFDev9GakIMEOeihebGloYDoCgtmFfPchJMlis28tNODT58Kqk5Sq6mlSuVV/9fpIwvTfyF2+/ItSZWHePyH0bOdJurwBQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:1; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(1201001)(5005006)(10201501046)(3002001); SRVR:BY1PR03MB1468; BCL:1; PCL:0; RULEID:; SRVR:BY1PR03MB1468; X-Forefront-PRVS: 07584EDBCD X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR03MB1468; 23:CMMzVSnV+bWrgcp7s6fQ1H7gQzZLebfhARN5NDia8?= =?us-ascii?Q?bUK6GmDvutR2djkWwvQ4fbGUtV8DysbJFJfRNi5OGBhyyE2UBiyzhbG2qXg8?= =?us-ascii?Q?5jCR7fWKIAfRGQkKG9qHgw8Fg+/mJcWRoMP1GV6TrlkS2oo8dlhwzzx0NRPY?= =?us-ascii?Q?rFDLP/QVPQyjOxnF0pN1hy+cYkORfsh2TOIa2Ai6IJnGyBPmGbU4i7qGd4Z3?= =?us-ascii?Q?V1MaLfK9PAXF7WCD9PsQDCyaOi4imudaG0hlMu+of2e0kAfJSPElGMUFEIie?= =?us-ascii?Q?4Yizhqv0/EWF9PlfCalkVEOEj8HoZWrF2HcqmvZYVoEpflycM2cSrYlwVAv4?= =?us-ascii?Q?f7yF86olfmZ6nvsuSYVPOxS5aAWG0ewWCUlUqIojokj0eyP/4FQbKFGJRmAQ?= =?us-ascii?Q?O89tGVMWzbIBplvNSHK914dffkAoLwIMQmYt+uwEeNQIdWwHDYRm+EcMdwXQ?= =?us-ascii?Q?0CBoiGqQchW4VRH1t20lcGk/itfTtROV2SCOk1pxKZ4AnMZCi1WzCt1Txc6x?= =?us-ascii?Q?byXDAm5h5z5PM/mdU48tmgnloe/oABX7JZiQvSdlKHdgJObURtUFMykcLub3?= =?us-ascii?Q?uCDyIVozGT76wHVIOXPDe9qmZ334Ixm7eqh9B/p8Zz0tcoWhwXZ9iKnqBiQ0?= =?us-ascii?Q?1I1T5iQNpVuRRp5Qpf8qn3io4tXCcTzjmG8lFMhis/wA/88ti/IGS0WfRqnZ?= =?us-ascii?Q?Ek3LFwW3B6R1mhlH+WiaLoQicHK4NVattepi9orUxih9GWFQJn0utkPxy12O?= =?us-ascii?Q?hrtVy7dSFNIt3VLeOxTsDvOXgW2IfTbEUQE0FdwrmbiCv4JKeOzboP32tAw4?= =?us-ascii?Q?6DHxiTWndmQy25kAhIGYiBg8air/E2seqXy2wSCZ0Vh74DU8lV/YHFyliHNm?= =?us-ascii?Q?URZ2RMHTPcQLe1j/4EC4NQ+S1p4GDxtkeB5gdzILJvijGdtLK2eQnHkOJVZr?= =?us-ascii?Q?HFvqD5bKcDok5syTo/7jHX2lgYB/moUedtr0mbln9/IkMNrVQjYVy1owaOU5?= =?us-ascii?Q?Ryr9XqQNS/+8jSYEzSmeUAAlyWbQRFeVycWL+/Ae5QrLAS7Glt8XYTIjZp5F?= =?us-ascii?Q?A1NtlsziTY0m2I0jta2xUmcj4ARqBHZS+Jdm+XVY9/5iRyQmg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1468; 5:gxxXfnQOjrHZ0SWH6bvhgcj20BEsYYdfED3jxKWTxdQzezkaH6sCDYrMNLNISqhl8DYqmc1vdOHTj7EHCMQ4mJRAYTsT7pw82w6+RjMWUrKCrxG/o7j8/3gxi1TFUiEqrTcUQ6DHVP1F1QfZ1QhH9A==; 24:fbGZsktwzEuAJ5dBzfbs3oJImmr2lN4j2+5gQRUN9muVeRMFVBHEG5KWOkWoUFPNB5hRCSa//iiHVQfzDR+08z2TIipuK8UOiQZ37Xd3Vto=; 20:bMNAKNV1adjJpLxAqBxY9fK3NuBsXwuUTuudbHyNNajsJ8AYlXRdPK7fkhf1TdVFzJUs/IcPP662zgPBoWBmwg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2015 05:17:11.0064 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1468 Cc: Tom Rini , Stephen Warren , Joe Hershberger , "angelo@sysam.it" , Alexey Brodkin , "Albert ARIBAUD \(3ADEV\)" , Martin Dorwig , Thierry Reding , York Sun Subject: [U-Boot] [RFC PATCH v3 1/2] Reserve secure memory X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Secure memory is at the end of memory, separated and reserved from OS, tracked by gd->secure_ram. Secure memory can host MMU tables, security monitor, etc. Signed-off-by: York Sun --- Changes in v3: Put ifdef around secure_ram Move defining CONFIG_SYS_MEM_RESERVE_SECURE to patch 2/2 Changes in v2: Do not use CONFIG_SYS_MEM_TOP_HIDE mechanism Changes in v1: Initial patch. Depends on http://patchwork.ozlabs.org/patch/540248/ README | 8 ++++++++ common/board_f.c | 9 +++++++++ include/asm-generic/global_data.h | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/README b/README index ef8d437..61cbc82 100644 --- a/README +++ b/README @@ -3881,6 +3881,14 @@ Configuration Settings: Scratch address used by the alternate memory test You only need to set this if address zero isn't writeable +- CONFIG_SYS_MEM_RESERVE_SECURE + If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory + is substracted from total RAM and won't be reported to OS. + This memory can be used as secure memory. A variable + gd->secure_ram is used to track the location. In systems + the RAM base is not zero, or RAM is divided into banks, + this variable needs to be recalcuated to get the address. + - CONFIG_SYS_MEM_TOP_HIDE (PPC only): If CONFIG_SYS_MEM_TOP_HIDE is defined in the board config header, this specified memory area will get subtracted from the top diff --git a/common/board_f.c b/common/board_f.c index 725eb18..8061105 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -323,6 +323,15 @@ static int setup_dest_addr(void) * Ram is setup, size stored in gd !! */ debug("Ram size: %08lX\n", (ulong)gd->ram_size); +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE + /* Reserve memory for secure MMU tables, and/or security monitor */ + gd->ram_size -= CONFIG_SYS_MEM_RESERVE_SECURE; + /* + * Record secure memory location. Need recalcuate if memory splits + * into banks, or the ram base is not zero. + */ + gd->secure_ram = gd->ram_size; +#endif #if defined(CONFIG_SYS_MEM_TOP_HIDE) /* * Subtract specified amount of memory to hide so that it won't diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index d0383f3..8cdafd6 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -58,6 +58,10 @@ typedef struct global_data { unsigned long relocaddr; /* Start address of U-Boot in RAM */ phys_size_t ram_size; /* RAM size */ +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE + /* Secure memory addr. LSB is a flag for "secured". */ + phys_addr_t secure_ram; +#endif unsigned long mon_len; /* monitor len */ unsigned long irq_sp; /* irq stack pointer */ unsigned long start_addr_sp; /* start_addr_stackpointer */