From patchwork Wed Feb 7 22:17:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: York Sun X-Patchwork-Id: 870653 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="rMhxDsUp"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zcG0t25v9z9t3J for ; Thu, 8 Feb 2018 09:17:50 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E443DC21E31; Wed, 7 Feb 2018 22:17:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 5931DC21DA1; Wed, 7 Feb 2018 22:17:41 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 146AEC21DA1; Wed, 7 Feb 2018 22:17:39 +0000 (UTC) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0070.outbound.protection.outlook.com [104.47.1.70]) by lists.denx.de (Postfix) with ESMTPS id 74DF4C21C3F for ; Wed, 7 Feb 2018 22:17:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=tA12wJeVgIRJIDIc46+TtR7pXcDfMyLXq7lGarEFlUg=; b=rMhxDsUpXNX9nI8zImmYUGwoZ+XbMtSCClYCvMTXZ8jl1UoWLBJgE3i4omRbukF/cev0tCy6ysEP1misXFo7lyjarKhuHENAwSpZU090pBNNwMM5oY/Nl+dK0t1dxc9TO/vyNqwn73AW5fJDJLycL1/dWNwZzC8W0xIDNOJztn0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=york.sun@nxp.com; Received: from localhost.localdomain (66.235.19.164) by AM4PR04MB2067.eurprd04.prod.outlook.com (2603:10a6:200:11::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.464.11; Wed, 7 Feb 2018 22:17:32 +0000 From: York Sun To: u-boot@lists.denx.de Date: Wed, 7 Feb 2018 14:17:11 -0800 Message-Id: <1518041832-337-1-git-send-email-york.sun@nxp.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [66.235.19.164] X-ClientProxiedBy: MWHPR14CA0048.namprd14.prod.outlook.com (2603:10b6:300:12b::34) To AM4PR04MB2067.eurprd04.prod.outlook.com (2603:10a6:200:11::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 551fc669-5a17-49fb-7e17-08d56e78978c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:AM4PR04MB2067; X-Microsoft-Exchange-Diagnostics: 1; AM4PR04MB2067; 3:qzWh6Mx1FFQhH+3nkKaoGzuTR1HOdzdUngtt+o0pqa9vsEDm86/y+4K1BICO1nBtPF+g3fgw9R0fHJhMpoqZzP/5aDsNbE3wTHyuNOM+uVk0JsTS2UKp8hyGdYle16mjyNrIIY8atQhCVIZUIXBSSVVnXbRZMF7i4yxUYBCLB8u1bXoifo5oX8/hWenhz5iM8XRo6dclNO2z9bI0oOG/x+VGWCf0ytUzIGyuIUnNFnwLtq+hDdxuNinS3DgWjfb0; 25:pTKPmrEI7CxR6Bue5JZ6vPmcL/gE/DAdADakzCgSqzmY/BE2N0+cbqbXLHMJVCZ5LYnWweTHQUFjUPT31rSsBhtYP9DDhRYjh8HfDWBTFbclAwvZi0VMPRIp/omDggwMW6oMG/Xdn2C7Z6/lx/DSsdjeMOtvfN2h6UdJn1+pedOx2Cpfp+OpRvnLB0AOn7I4pRgyUlddMqABZmhipDt4YmLP0afaALtlxZAJ8POwT/Bqgn9Twh+J9bJYI7XoTVNyxPuvGTAcpGwnJkI4t6JFZaUT7eA85UymnCztZ2T9apvwh8kDomhHAKE++SmvNNFIJUsqIJ5aRrsz39d/ykLrRA==; 31:k+eaarrOPC5eT2gSKoScoCacdIigNDgw/xmgD6RJg6WE2oU8ZZp5Bohe172OJPWV2OFqFZppwIuig5P42G7YM150GUbV9QK/YzT0xrPvMAxBy28ih4ZI+VZ660y0iiD/tgsq29co0OELEBYkt9DI31XCgZNheuOcEBHjji+i3uU+MRrgCRNkW6u5G6UgIudH7VIDdzEyNgL0ZuboZgBJLDZ0vQ8ujxd86PLsW/8H9sc= X-MS-TrafficTypeDiagnostic: AM4PR04MB2067: X-Microsoft-Exchange-Diagnostics: 1; AM4PR04MB2067; 20:vskqMo0jcDAAbceP+omXDEEGi9wMuZ5OC9OYm7jmX1y+AoTqvdqgHwuh6JrFsH3nvyyDI+cKf/ln4XWfsUiEudMqYX7IB/EJi8FRw7e+jqhrrkLcDwLc+vSDUSP/yh6omNlOVFQ+dc3ObUdVP0IisR/2EB5u2zbRe80JKOJ91VDbNEnhzqaf074pBjanPt+mu+Om/ffKb2ibjBX+Z8u6V+lD1xFyVpQW1SOWlEdpe7oD2kOy1J5ImRuFcRE+2SrqdxY6nXiXLh+Ub7jMTDlcUSKAq8WXtbtQGDzt441uOe+lUTj577RKITvbNrt39uXIJ+9gr+nRZiM0Ngtla6iIo7ANaNVGsQ+NibSHWh/6xMoh2ydz2b6ihM9QsCrFOv1G8U4+elohpkW/B82luzkwr5/1pDZZVUBvx0dYV8Tp5QVxcWvAVdXIiaBwjkyHdrUzr9oMAG0kwIWiWbgCtNqCb0BQaCSfeHiiS6v1Nh4cxsmutA2IOx+EDswge+W5GFbh; 4:Z0qISuHB14dc3mjUQcMZEBmpvGb6N+PQdBDrHdjHu+UdX0oq4IsAGx4MlST0gFj5/Bh+YaZTkfUFxEnu4kdcTXouFw5rXTkm227vDM2PlDhLk78bbOSVuU+N+9zw9Bbh+NEG82wkarMb7xae9ZyeJDM2Z3XGT8942h06jmnjU4u/vy5qh3nhN0pac7lEkPycwiskzRGgwPnWTZU7BI7MwQ7xYYWpf6F1PCZnRsAzZRWmjXE7jAVo+ghRVmMAHrQDMgbC9NrU3wmNemKt3RfaD6HgLah+BQhdDkIYGc0HbnuPPhBUOvNM5ojUry+LGi4WUuopbX5LUamBeXZbp4zGUVeeH9dY+DHmqxI2nxM00XI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(58145275503218); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(3231101)(2400082)(944501161)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:AM4PR04MB2067; BCL:0; PCL:0; RULEID:; SRVR:AM4PR04MB2067; X-Forefront-PRVS: 0576145E86 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(346002)(39380400002)(366004)(376002)(39860400002)(396003)(189003)(199004)(6512007)(478600001)(8656006)(26005)(8936002)(66066001)(6506007)(86362001)(6486002)(316002)(59450400001)(7736002)(53936002)(386003)(36756003)(50226002)(305945005)(5660300001)(52116002)(7416002)(39060400002)(105586002)(51416003)(6916009)(16586007)(3846002)(4326008)(6666003)(25786009)(2351001)(106356001)(81166006)(54906003)(186003)(2361001)(81156014)(8676002)(97736004)(2906002)(16526019)(6116002)(68736007)(50466002)(48376002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR04MB2067; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR04MB2067; 23:/SvcJ5WhZebT1I/Z6rNixFV5IGnq1JHSy4znz7DVr?= mQm3enfL7SAgRHoJAwz8+41VVxQwu+uEfTBCaPBHyeigRjaVohxtkEnoA34IhQV6pegjhprhg5jz4VLSxDstHPmPBFRZAT1DbaMthNFPvjNxoqSkDRZkbVQzeVdpyy1VhnpPqnZgTYq3/FLnFCWlKbbJs+FgORjcJOYL516d8Pk0IzUq9Ko3oTGhe8IQW8eSTJD6n5/uEleOhD/oolKqPQ/7VmlsU7yodyRCeM0NtC6ebaacEDzfzBaQf9BNz7t9w6ZiWrZV1hD9gc0zoYyZIidZh0dhunBbnsuezoJgx8W9wGcLY1p1k2KECCaZPI1f+Kj8ioFWkMfdhc0MpeDvNCvbnBQjzOSAZtxyFRxBIQ5YcehditTz5f4T3vL5u/NIbJai9qO1kACewv1bwrqZgfCJfTM1KeLymqhbzfSJv3UQ+9I1rR+5peqXXQoEqAvJdeBbPCMQSSdHvbmsxT0cuJVsQWA2MkqftZJQuWtkXAxbwscSNPebNes3z4xY3OYcQJurZKPCCOCaLuXiDMPPjd0KX0hMj+3sNkh7MNcsi+uK0ZoGfXz7b8LO+zHtq+GV8F7bTInYSuvEA2PgKimmEdE0ffE6W52ohkuRZc3BG2XYoxjVHJiFXl+udGmrwpyUgoajmuVA5ssRZuzhi/XC3Nh5LM4Yn9YejVBsXl+LJEzQ133qkdkjWHCYY3J5yiu8fMbtvBDpl4gZBdW8sEKi6uInoVJFbvjoOC6i5qwD3RU9WS0VABW2/y56qrMAplX4klZxwRQytIp9Ft9+cTi5YLrtFR36X2wYepvT8wiBxaNCOQscc2iYK9QFiG4QaHl+k4/4n6hs4rQBJLaCAVRLpPOK7nRgHvtlSEZhPPkom6LQJWtlByrbQr4p2OlNLYCpvOilMtsMObF9XDetNdCI9lZx4fCtYRj7vFYX7cHrPpljE+d9GgJ7fRqABJNEl1gaVO9mu47FK+QFat918k3dp/OdaEp3dU3vu0sjZRjWFt7hVTUlPHGEHue5MLCuKGWLQOyxjA15XDWz8FpijQIMlck7HlGIl42NykPmC/xyR83yl/H/j6oAnpCcYOR7WIYn2yAyWGbPY+HhHYp1RmEsXtcgzuaQfcmHkU0WqGKIk/WGKaX4t1vHmsfcfzb+jlhEgojVYCmHoioyJ/M7S+fD6L5wL3LMuIzDBE6u52wKUBjZA== X-Microsoft-Exchange-Diagnostics: 1; AM4PR04MB2067; 6:ki8Cte6FDFbRLvHMuleSzLkQmFJhz9httHqAdE8d2BpIKjTovPihHS4JxBMAtt0JTUvpzJIFsytlrZjA05+C0iHuIHL5+KduNXPsHL/9LgtC1NkG3UsoqD45P1giYkm+/Na+8EIoKUJyu1bokNYs0AXLymUTzu/kWTIfijPxDE/0qLNC5PXWOAKapoXCjDfJcpjLzUBqA+MvWjBxXnNUoq1o4ljYONscGRey5y39we/dgHwikba/fCC7LxC+ohbfHX0Bq3sczYehtqqV86uN51T31fljttRQGUIIa83LAC0ehrdvsnMXbikPpu2XHuCjCnlWytMXzXMIyEI5zcNanRTxCf7uz0sMrFSd+ASZEA4=; 5:gEm2fKEZ6HrdedQsFElO0+Xj7VDwPKzDAHXsf+c3gvMQmcd+4iFtmt7ZW4N/YRJcxHyhGgIU8DDQ87xvKUQItqaMPQWMeSSoGEgKHtpo1Wi9JwQqNcTNSpyMdyDJN0gL1dyBEp4S2ugKjRPjilc0tD1Nu3Fbhc5apLnsVHEv6Js=; 24:IG0gSY5paLuPKtE8gJdRnMewina9AOea2Vj5zuGsi0Dwmj03pY0RHnRki4yIxE7hCd05d5Hv73N5dqUU8D0e+VbA0/mxr7sdILTMKNmTOjw=; 7:hqP7PLNJFcXkfM4ToRE8SlmgBUf8i0uLCyv1ubOMmhszOI8RO3RlckBpx5HfGv67W0g4RcJmSJOJrKHjnDBSZGqnwWfEl8Y/YUwcUEZ3WhHS9dZEzb1QeGt7dVWSMIO1H1kqpjJifm5Ws/Glbmb/POy7FnlGmFI78FsqE7vLtoocO2Sc08UBzOBEEowoJXikvVdCCxrAgnvmYIL3/GBH8MpASpKfQTW/T524g8EL1x2ADv59xeTEaTaoD/nlPf6/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2018 22:17:32.9708 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 551fc669-5a17-49fb-7e17-08d56e78978c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR04MB2067 Cc: Andre Przywara , Fiach Antaw , Andy Yan , Maxime Ripard Subject: [U-Boot] [PATCH 1/2] env: Fix env_load_location X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Commit 7d714a24d725 ("env: Support multiple environments") added static variable env_load_location. When saving environmental variables, this variable is presumed to have the value set before. In case the value was set before relocation and U-Boot runs from a NOR flash, this variable wasn't writable. This causes failure when saving the environment. To save this location, global data must be used instead. Signed-off-by: York Sun CC: Maxime Ripard --- Limited test on LS1043ARDB. env/env.c | 8 +++----- include/asm-generic/global_data.h | 1 + include/environment.h | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/env/env.c b/env/env.c index 9a89832..edfb575 100644 --- a/env/env.c +++ b/env/env.c @@ -62,8 +62,6 @@ static enum env_location env_locations[] = { #endif }; -static enum env_location env_load_location = ENVL_UNKNOWN; - static bool env_has_inited(enum env_location location) { return gd->env_has_init & BIT(location); @@ -108,11 +106,11 @@ __weak enum env_location env_get_location(enum env_operation op, int prio) if (prio >= ARRAY_SIZE(env_locations)) return ENVL_UNKNOWN; - env_load_location = env_locations[prio]; - return env_load_location; + gd->env_load_location = env_locations[prio]; + return gd->env_load_location; case ENVOP_SAVE: - return env_load_location; + return gd->env_load_location; } return ENVL_UNKNOWN; diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index fd8cd45..10f1441 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -51,6 +51,7 @@ typedef struct global_data { unsigned long env_addr; /* Address of Environment struct */ unsigned long env_valid; /* Environment valid? enum env_valid */ unsigned long env_has_init; /* Bitmask of boolean of struct env_location offsets */ + int env_load_location; unsigned long ram_top; /* Top address of RAM used by U-Boot */ unsigned long relocaddr; /* Start address of U-Boot in RAM */ diff --git a/include/environment.h b/include/environment.h index a406050..0f339da 100644 --- a/include/environment.h +++ b/include/environment.h @@ -188,6 +188,7 @@ enum env_valid { }; enum env_location { + ENVL_UNKNOWN, ENVL_EEPROM, ENVL_EXT4, ENVL_FAT, @@ -202,7 +203,6 @@ enum env_location { ENVL_NOWHERE, ENVL_COUNT, - ENVL_UNKNOWN, }; /* value for the various operations we want to perform on the env */