From patchwork Sat Oct 8 06:43:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alison Wang X-Patchwork-Id: 679820 X-Patchwork-Delegate: yorksun@freescale.com 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 3srfkN5mT3z9ryn for ; Sat, 8 Oct 2016 19:31:40 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=freescale.onmicrosoft.com header.i=@freescale.onmicrosoft.com header.b=bauraKon; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D6641A7550; Sat, 8 Oct 2016 10:31:38 +0200 (CEST) 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 eIq6pYii4UGP; Sat, 8 Oct 2016 10:31:38 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A4385A7534; Sat, 8 Oct 2016 10:31:37 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E5F66A7534 for ; Sat, 8 Oct 2016 10:31:33 +0200 (CEST) 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 GhUMCaRldnvV for ; Sat, 8 Oct 2016 10:31:33 +0200 (CEST) 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 NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0106.outbound.protection.outlook.com [104.47.41.106]) by theia.denx.de (Postfix) with ESMTPS id 43F0AA7527 for ; Sat, 8 Oct 2016 10:31:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freescale.onmicrosoft.com; s=selector1-freescale-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=VeTkuS3qmwuP8xd38g1bhCVa5wouhtlYNpHW7Vd0XaI=; b=bauraKonyayMLlDb59qbVLFJUg/cuNkX75E0hjUfnlTPfSWDt1kKCqWePIJ/fe3ozef8s6BOS82tbLM1U0ehWrKX3lBK1A48RjBWr+BpBMBBCCjKX7YsSQIc/V1PzczQ/EVEgaRpyaO+6KdKlSyRY8J6zW+HtkirMDMyPcC65Hw= Received: from BN6PR03CA0039.namprd03.prod.outlook.com (10.175.124.25) by MWHPR03MB2783.namprd03.prod.outlook.com (10.168.208.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Sat, 8 Oct 2016 06:56:51 +0000 Received: from BY2FFO11FD041.protection.gbl (2a01:111:f400:7c0c::195) by BN6PR03CA0039.outlook.office365.com (2603:10b6:404:10c::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.639.5 via Frontend Transport; Sat, 8 Oct 2016 06:56:51 +0000 Authentication-Results: spf=neutral (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=freescale.com;nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Neutral (protection.outlook.com: 192.88.168.50 is neither permitted nor denied by domain of freescale.com) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD041.mail.protection.outlook.com (10.1.14.226) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Sat, 8 Oct 2016 06:56:50 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u986uYij004479; Fri, 7 Oct 2016 23:56:45 -0700 From: Alison Wang To: , , , , , , , , , , Date: Sat, 8 Oct 2016 14:43:53 +0800 Message-ID: <1475909033-8413-3-git-send-email-b18965@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1475909033-8413-1-git-send-email-b18965@freescale.com> References: <1475909033-8413-1-git-send-email-b18965@freescale.com> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(2980300002)(189002)(199003)(626004)(229853001)(5660300001)(36756003)(42882006)(106466001)(87936001)(33646002)(6666003)(50226002)(2950100002)(8666005)(7416002)(76176999)(50986999)(8936002)(7846002)(356003)(47776003)(48376002)(50466002)(19580405001)(19580395003)(305945005)(97736004)(5001770100001)(77096005)(105606002)(81156014)(81166006)(68736007)(8676002)(586003)(575784001)(2906002)(5003940100001)(92566002)(11100500001)(4326007)(2201001)(104016004)(189998001)(7059030)(921003)(42262002)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR03MB2783; H:tx30smr01.am.freescale.net; FPR:; SPF:Neutral; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD041; 1:yYofcflBTWp5rQP0PfLS6jEoBl49VK3jSJuiI3rYwJNf7yWoGp7PHIT2VcPRiqW0N+1Sp0TLYRYSApUWLgfcv9yuvmKGVw7ZSCmzqNVAMgKIL60odGccaGXylIR3h9ux+VKLPO00lL1gI4S30yXSZgzIyIlflBEL2amjEc5gNjCLM4dZ/eudIEO+NJg0NV09uc5FEziXs1sPJD7ll5lYozQ2F3WkjWD51S2LUfYNwY38nEy/pfcvsMwhOCK/wiUBps5+hKTl+hPglL03ig4xGOOpxAmMUqlsasa4T+chOcQN/bI5JsE/KOBInz+0DESf8XgfiVjdjGBezTmElrCn4y+rd0nJY5lv/yjb7Iz7BFaS1DljlExqqcC1Bb/0GHXoQh4l6P6YPpK8Af2RtklhrI2ZCew45HyAMJs0seJN9iBgnwVO1fm3LtpgRDLJ9ij1I1lo6DH+KVeWCyj29D7nMEvbMJ7DdAHks3KFi4PEAEv3rO8eLtKXdTAOa/huTqr+7HzEUH8HkDgg/qe5eVmOrqWjWmwQpducVi5KtuG6Xn0= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 3e6398af-0627-4a92-4dff-08d3ef48479b X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2783; 2:ktQTAAmCvtwxn5LSuuqw1eTlwdVtpNV/I/OYdvuqsj1zTHBsNOvFZs8Bjnrhz+HBMfXiN5odtzvxQWsmjn+hAcZVmIIEHmFtedM3uGegO//5epZbYzjs6B2M7Kbug1Kv2aj27aUPpCt2rRwiUNopgwXj2jidkFnR0TPYU2EnkiDL9QHjv1GhqiSKUUrRTcZ/GEhBZyW6OkEjMHz9f6ihaw==; 3:fADLYNloJ6DUlhO9QTx01nsSYyjrwP9FM1QnbdF8XQ3VoesBeyqlMvtLEqGFNT7JsTpgKLwkxISix5tsUChUc5v2DfyF+v//5DyfvO/RD+A5eAkei1dUxmDDm7ET3EF78XlpwXkgqODQonuLvt5navZ/i+f/2jGTD6iQKZNxwhWwpnTE74wjCCMA8v2GUjhNhrmgi66uYzTsMVHEtoJMVneEaOHlWgxxbl0ku0idpGoYJ3Yj0rjODr0jBMDW7uh7; 25:NiAY8imSzLa8mCP/Lmvo9NJUfgBEpLemAI3eW0tw0t5D9smC5Y562QLzcgt5bdmDCfKrQucZ62x6W67t2OLb5HRJFmKXXBnCQfa+vbzGqNKJ+kALPDTd+gXoam/ZQwZM0KgMUOVyJLQ2K/iplUsbEVTvxNXoTr46K8efxZZjCyIGGjcTaCbaPeZ8ux4QUO9185LgZiXnc05kDraDuDkhPE6MGNpiVvuyMB8kKLwrEngKHUcvr7bKjejberaanqno4O6MvNRHzFDe5x6mh6IvpThlo9fXB9ZrhCufUekyWV+yKmNeIRiv4YHe1u+gyKkZiNFbSxQouuvLQqEIyzcDxklhw/t9XQI2+apcpcHHQjHNeydiI8xumu3HKdv8grx5gYvqyRfHF1Ej1funGaioZpaZEwKiv7SMgFz0LLZIxCM= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:MWHPR03MB2783; X-LD-Processed: 710a03f5-10f6-4d38-9ff4-a80b81da590d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2783; 31:IUEpNyszgJSspfkBbGlctgI/YGDa64+4NQ3iPPDZb3S+Av8vboRG2e/Pf1IWwBGhX0jVCNhR9lcvXHqjDl4/TtPbQ3aBRj07VZXAYX4JkcAi0OZmQ2a2FO9KxWrr4eYkH0vizfD7TifMt6uQ8nusjP4lC7sGkac2M1TVw/NJxxjjarmDg7nynjNDgqlfEZ+m/6V9bQAxoPBZSdFX1X4dHdQppfxzg9xAEIQn+HvxsPuod4mU+5GqEMtXJoShZpz5; 20:bQr1EWu4cMucvqoUwjmqyDm8OgvYiUsXK7Ox79z3xBKBbK2jUwpdbjCx6LocEiuTg5p/BcOBafXHbjXpd8d8+Qdx3/02C4Di5xzxMPk8T3udEmP6/EBoQVgsYuuQEyQc9eH0vkh3/do0CTMgPO4MzlWShjCWzM6PUSIVL1ZOQh0Pq8PWUuphM9LHCM2xsefc2k4gUg343r7CqmFaH6uTbiPZGaoft4+4u3uNJu8MVu+sDvT5ikpQeH1Zs9f/Rt6phpm72y1yvi8p4F/Islf9s3XyNeN8wp8FsuP/4ONwCLJmctiLZmPJi4OyZ20SErYwxB05r1VBoJSqFkTF7XVrh4zUZD3E5S1x/A8zG+Z0YtgbBLXf0JLE64Fgk8f/1rlKA4cfqWHNMQfNfSIonwouSKtgOdknaRKA+BCfuFvrZV3Y0AGEihH1LRKej9yCE3u3pb5224Bz+fgDxE249iUDk4ETngkho76ngeAs0mIqGBc7wTJf7uJy/oNuHLExPVLpDezw79RY6+YM28O7fBYfTeq0p75LpDmgkLkzs0t21PeVQAY6zNsmvy7Q+YK1WJbiBRv9ENMCg/IaVrCGwV5IRsVpPSzom8hLplI6ows9wb8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13023025)(5005006)(13015025)(13017025)(13018025)(13024025)(8121501046)(3002001)(10201501046)(6055026); SRVR:MWHPR03MB2783; BCL:0; PCL:0; RULEID:; SRVR:MWHPR03MB2783; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2783; 4:kLPPJVjAwBnx3ywYx27ynZAsTZrmTdHOBGY8SJAYG9I9zwPMeWVuueLZ9PliHA+TUzwtpiv4Xz+4ZClLA72hxUSlZ9jlzxG+yVzdErNUgrAtBwpQImLapVXGsLv1ZXjkyw2dH1nGxNepVA7mX5ksYHQdF+K6g8CJsg1X1pcCV/ZIUfC+8Z4w8lHsIe2kqsmNEF2A5VSexvmSWFAxPosQei8RTTCvgqmhH9Vj90tERTS/xKQAGVNvHSDkPyBdMH9K85/QWLGciSBTDoRKZ/9EqzzlZQ6H+AJk0qUbgFcbfMN5PySI08Q0fSDsNxhsfMVZyeVFy0F8ZlTNA8WT+/CgA1vqGjWykf9RDp9sEV3WUWaETZ6eox1HEhrTkytEdx/Dd3NwnqC2Pn+NeUOzAC6HvG5f6MEPEAPtwewxq5G8nop61wG9Wg4rL1IksHIi4TlBdgYBm4s9HPh/sxqmG4no6iIa05UBrxa2IwDzwnBa5JmGTHADXcKqLj3031R9be7wHQ2WpsUi1oxN9nxqeg4+RLrKWfsQ96cWnbWW1VColGNiA5+GNAKGFPid6dj3laK4 X-Forefront-PRVS: 008960E8EC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2783; 23:5DYT5A/JBGbjN2UGzmJYgUMpFuBkypcTL/1nZNr0b?= =?us-ascii?Q?ag3J5IIkR1w7zXaK5tpFuJyC76DIqRdKFRdf0y3h+n42H/6SJ0QXNElNk5qo?= =?us-ascii?Q?lsgBe6qNINHFkcY8WcUMm5Ce7UcC63K8bH1/qKoVNRxdGG2+e6fJYxUAWceu?= =?us-ascii?Q?0tAjVjBZ3R6xKnF+JmMX0BtBvcNBZA3fQ9tWtwBEUCbFI3goF4i0PpEA5qKC?= =?us-ascii?Q?RQbaKVFB5R/5EzA83+KAVHFtJq0etGpgf1FKbkP77lIf0n83ee7oa4bNZI28?= =?us-ascii?Q?p509PGUlQPuvRduWlbMlFkZcqz96zUoy86kRlqQ0fKby2q0GkIb4u+zJPBof?= =?us-ascii?Q?BIJi43UhlAvg4jWvIW/NGndlm1Zz1sI85jhzg6bjXUxKcozlN6ta/Xtzn7fV?= =?us-ascii?Q?+B8jmiP5ljOKsZjz7gvLk563bYnG0Jb0Hz48TXahjpihjCpyLyJpVi/Tzetk?= =?us-ascii?Q?RmGQQsfsIAS7g1FBuYMqPXL7ccAq9aq3GrkHCkqz5BtaZS/JyF3eAg0Pf5Ta?= =?us-ascii?Q?BomrkLDhaBRwuuRpRyPH3KS3S17eZr0srT0imaLxVbxc+jd+kIBiXmF2AxZs?= =?us-ascii?Q?BYhBuz5XCdD3177r0RrJGRqXaMFcjr97wH/Ky/4mc1pJ7Vj7ghLhzv3NzjyX?= =?us-ascii?Q?4urHl0J4OplWoyJKPnyizIMPkUc4NRwx1zdD1CFhQlZLl0mbkMsEBuyA/YDu?= =?us-ascii?Q?XkX7WZRxMg0ur7ngafrmqM44NukGvuKunaukhuRO+w1TwzONltcUq/FtbMPo?= =?us-ascii?Q?3YXyopUsNbd6xXubV/u/6zr+CEoUkPd1qTD7uJFEh+MDXkQzT+Os1PP2fxsh?= =?us-ascii?Q?uIPJI/QqCp8yUiUbskAYBN4PHO1h9wW+Ff1V+uW50llYo8vXI/JoJyVNU+AZ?= =?us-ascii?Q?XdAdTVMbfiy2HNs3f77yq1Jvs+MlUmcS5/JpnbIxgATHzciCXeNbAtVuQq6V?= =?us-ascii?Q?9c7l7lK5j+Mpo3IEdBYG5UeX0J7SsF/cUwj7GrXnlEFXs+22zzWi1j+F4359?= =?us-ascii?Q?le4peuUfgvwK0TxCd9Tq2wYoIAxKQVXl6WSW2QfkxD3+nctg3QmBacWA7Fry?= =?us-ascii?Q?spNK6nuV9xNq1MnQ1QUq8xPIrpPJUCzGaTBH84AXMBuqVGREm1tH8YVTERTa?= =?us-ascii?Q?VFoLEkkg+XrqB9GOGMeqniEULeUQMCYFg/y0kaPLDepWNetZKJBy67ct1XC+?= =?us-ascii?Q?yHCvtMR/90Oljlt2xGTvkyajH3ixVZCFgVcdDsG8IK7fYsCnUjuc79Lfg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2783; 6:VjNejwxxaYkd6KLHDRzId+FM3uOz836Kmi4NUXV0MsgRDIvObfThQSwZEEe+TTKNPsgrPYVircCHdPPLxTGN3xc4xgOpYaGv3TOEr4YY5eC1N9hWOoN5BhHXyjJyirmNVtUGzzYetXs9aWCt56EuuC+6mqTxCuu9IxKqIHXHoY0Sxvnu73y9o0jKc8X/1n4eRqVt4aXdCRPzkHQiMR/yP8RV5mD074icXxZw3YH1HmKyslhUK7C3OCBbNB4h3JBFaintVXhvAnOdiGi0g5KoFmbmUPxQWdBIWNp3qKw9VgKeCrdn8iJNuKKUL1Du6ItQV+1kczRpIVEo1kdm7XvhkVbMIJe0h0VjB2Wgv/rUSr0=; 5:e34exLBsl48sD6DrmiUa8U5HO1kmBAoKiRA2eDtN4vqcjCC1Db7HLZ6sZr0gsz6LY8Zv+34g+ER0FMxGUvRQZdpilw+uoxObi7sVJf6Rmrv6rBgzReomy4KsJToyLws/viPj+H1stU3g77byXCTkGQ==; 24:kMeRlvppj9B5oLbtKy3mJcd3tFscUlJMqVbEX1ZFzzuQz6kzwnG7uotQ7Gy+Lc87wVbsctZQBtYjA+wIS8QEpPEdEUTwZS1DST3JR9JxC8o=; 7:gStaymU3YBbizGQlfa3fktmozRoS24GMhdJ3YRrZZVLp7S3kf0HAPag0T7ku48m0813xVrQoX5VWNippJbo8aBnoXp05LZpqbEBQh2nthWTQLRoB/mr0thzsfBVlStVFb4+N7zPzb2MTGAfgt9JkpXbT/dq3GSO/8Ptj+j2RWIED3gbozFyHAjeeiye5jeKPHPYdEp1ob1PGKqJqkVusGol8s2ri8ll61TvMZbKi+ndniSn4OCjk+jgo2Razz4r/4Z3gBY2QUgCQnbzPUGarrGkFS1AIA9CfRQQ2gByyum8JnkdkmofhnUy9 M9Pk7UgW SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2016 06:56:50.5544 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2783 Cc: alison.wang@nxp.com, jason.jin@nxp.com Subject: [U-Boot] [PATCH v7 2/2] armv8: fsl-layerscape: SMP support for loading 32-bit OS 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" Spin-table method is used for secondary cores to load 32-bit OS. The architecture information will be got through checking FIT image and saved in the os_arch element of spin-table, then the secondary cores will check os_arch and jump to 32-bit OS or 64-bit OS automatically. Signed-off-by: Alison Wang Signed-off-by: Chenhui Zhao --- Changes in v7: - Move the call for armv8_switch_to_el2_m into the first patch. Changes in v6: - Make secondary_switch_to_el1() always jump to ep when switching to AArch64 or AArch32 modes. Changes in v5: - Make secondary_switch_to_el2() always jump to ep when switching to AArch64 or AArch32 modes. Changes in v4: - Omit arch and ftaddr arguments. Changes in v3: - Adjust the arguments for armv8_switch_to_el2_m and armv8_switch_to_el1_m. Changes in v2: - Support to call armv8_switch_to_el2_m and armv8_switch_to_el1_m. arch/arm/cpu/armv8/fsl-layerscape/mp.c | 10 ++++++++++ arch/arm/include/asm/arch-fsl-layerscape/mp.h | 2 ++ arch/arm/lib/bootm.c | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/mp.c b/arch/arm/cpu/armv8/fsl-layerscape/mp.c index df7ffb8..dd91550 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/mp.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/mp.c @@ -22,6 +22,16 @@ phys_addr_t determine_mp_bootpg(void) return (phys_addr_t)&secondary_boot_code; } +void update_os_arch_secondary_cores(uint8_t os_arch) +{ + u64 *table = get_spin_tbl_addr(); + int i; + + for (i = 1; i < CONFIG_MAX_CPUS; i++) + table[i * WORDS_PER_SPIN_TABLE_ENTRY + + SPIN_TABLE_ELEM_OS_ARCH_IDX] = os_arch; +} + int fsl_layerscape_wake_seconday_cores(void) { struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); diff --git a/arch/arm/include/asm/arch-fsl-layerscape/mp.h b/arch/arm/include/asm/arch-fsl-layerscape/mp.h index 14d9fcf..55f0e0c 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/mp.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/mp.h @@ -13,6 +13,7 @@ * uint64_t entry_addr; * uint64_t status; * uint64_t lpid; +* uint64_t os_arch; * }; * we pad this struct to 64 bytes so each entry is in its own cacheline * the actual spin table is an array of these structures @@ -20,6 +21,7 @@ #define SPIN_TABLE_ELEM_ENTRY_ADDR_IDX 0 #define SPIN_TABLE_ELEM_STATUS_IDX 1 #define SPIN_TABLE_ELEM_LPID_IDX 2 +#define SPIN_TABLE_ELEM_OS_ARCH_IDX 3 #define WORDS_PER_SPIN_TABLE_ENTRY 8 /* pad to 64 bytes */ #define SPIN_TABLE_ELEM_SIZE 64 diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 7015573..17758d3 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -270,6 +270,10 @@ bool armv7_boot_nonsec(void) #endif #ifdef CONFIG_ARM64 +__weak void update_os_arch_secondary_cores(uint8_t os_arch) +{ +} + #ifdef CONFIG_ARMV8_SWITCH_TO_EL1 static void switch_to_el1(void) { @@ -307,6 +311,8 @@ static void boot_jump_linux(bootm_headers_t *images, int flag) if (!fake) { do_nonsec_virt_switch(); + update_os_arch_secondary_cores(images->os.arch); + #ifdef CONFIG_ARMV8_SWITCH_TO_EL1 armv8_switch_to_el2((u64)images->ft_addr, 0, 0, (u64)switch_to_el1, ES_TO_AARCH64);