Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/801712/?format=api
{ "id": 801712, "url": "http://patchwork.ozlabs.org/api/patches/801712/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1502820885-10346-6-git-send-email-york.sun@nxp.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1502820885-10346-6-git-send-email-york.sun@nxp.com>", "list_archive_url": null, "date": "2017-08-15T18:14:45", "name": "[U-Boot,v3,5/5] spl: fit: Add booting OS first", "commit_ref": "c8bc3c0c9ff7ce649b2af1416919b50ecf504874", "pull_url": null, "state": "accepted", "archived": false, "hash": "dfaca2968d82a2f587908b07a8bdce4198309d9d", "submitter": { "id": 67822, "url": "http://patchwork.ozlabs.org/api/people/67822/?format=api", "name": "York Sun", "email": "york.sun@nxp.com" }, "delegate": { "id": 2666, "url": "http://patchwork.ozlabs.org/api/users/2666/?format=api", "username": "yorksun", "first_name": "York", "last_name": "Sun", "email": "yorksun@freescale.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1502820885-10346-6-git-send-email-york.sun@nxp.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/801712/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/801712/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)", "spf=fail (sender IP is 192.88.158.2)\n\tsmtp.mailfrom=nxp.com; ti.com; dkim=none (message not signed)\n\theader.d=none;ti.com; dmarc=fail action=none header.from=nxp.com;" ], "Received": [ "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xX11K3y7Jz9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 16 Aug 2017 04:17:57 +1000 (AEST)", "by lists.denx.de (Postfix, from userid 105)\n\tid F1E0CC21DCA; Tue, 15 Aug 2017 18:16:25 +0000 (UTC)", "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id A87CCC21DC5;\n\tTue, 15 Aug 2017 18:15:57 +0000 (UTC)", "by lists.denx.de (Postfix, from userid 105)\n\tid 8744DC21DCC; Tue, 15 Aug 2017 18:15:38 +0000 (UTC)", "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0062.outbound.protection.outlook.com [104.47.36.62])\n\tby lists.denx.de (Postfix) with ESMTPS id C3C7BC21DED\n\tfor <u-boot@lists.denx.de>; Tue, 15 Aug 2017 18:15:34 +0000 (UTC)", "from CY4PR03CA0016.namprd03.prod.outlook.com (2603:10b6:903:33::26)\n\tby SN2PR03MB2272.namprd03.prod.outlook.com (2603:10b6:804:d::17) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21;\n\tTue, 15 Aug 2017 18:15:32 +0000", "from BN1BFFO11FD018.protection.gbl (2a01:111:f400:7c10::1:195) by\n\tCY4PR03CA0016.outlook.office365.com (2603:10b6:903:33::26) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21\n\tvia Frontend Transport; Tue, 15 Aug 2017 18:15:32 +0000", "from az84smr01.freescale.net (192.88.158.2) by\n\tBN1BFFO11FD018.mail.protection.outlook.com (10.58.144.81) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1304.16\n\tvia Frontend Transport; Tue, 15 Aug 2017 18:15:28 +0000", "from oslab-l16.am.freescale.net ([10.214.86.70])\n\tby az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv7FIEnNZ015332; Tue, 15 Aug 2017 11:15:21 -0700" ], "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,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,\n\tSPF_HELO_PASS autolearn=unavailable\n\tautolearn_force=no version=3.4.0", "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.158.2 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.158.2; helo=az84smr01.freescale.net;", "From": "York Sun <york.sun@nxp.com>", "To": "U-Boot Mailing List <u-boot@lists.denx.de>", "Date": "Tue, 15 Aug 2017 11:14:45 -0700", "Message-ID": "<1502820885-10346-6-git-send-email-york.sun@nxp.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1502820885-10346-1-git-send-email-york.sun@nxp.com>", "References": "<1502820885-10346-1-git-send-email-york.sun@nxp.com>", "X-EOPAttributedMessage": "0", "X-Matching-Connectors": "131472945317030820;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()", "X-Forefront-Antispam-Report": "CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(104016004)(76176999)(81166006)(105606002)(50986999)(8936002)(54906002)(189998001)(81156014)(626005)(48376002)(97736004)(305945005)(77096006)(8676002)(498600001)(4326008)(50466002)(6916009)(5660300001)(106466001)(47776003)(6666003)(53936002)(2950100002)(5003940100001)(356003)(33646002)(110136004)(69596002)(68736007)(2906002)(85426001)(86362001)(50226002)(8656003)(36756003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2272;\n\tH:az84smr01.freescale.net; FPR:; \n\tSPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ", "X-Microsoft-Exchange-Diagnostics": [ "1; BN1BFFO11FD018;\n\t1:6t2kpa/Sulmz0Du4Nsm2aCy7Y05hEIO9WYrSni3fNE8VLAKO8TiGaAe2i/2Z+gpEalNrWiILQzOKeRnC+ZZEIEgpNTjHWChOurFEXa/1psHlfPNnOvDLH5toLTK5rIckrlvKkgfzIBkUVm/Ec6ZmU+dU/XDcv64BFvqHgGgOrzwUQixMrNfds3gibGLhbfs74sjaDJbJt72SUiTCWG71mhy7B2+L1CXC/r1D4ayOhmgwRnkraaL8fPeN2ax/QIRF7t50y+/3gEU8bYnVeUevKG0X/M0abqGDB+OlXYS5f5IN/PLpdTA1uIs1rVbaXL3pikDwvLdE3MrPBn5uyn60oBpH32bNhxA73FZk1mwPcMc5XZRM1uv9OuAaSlXs54MeAjtvGCzUZ3KBVVS3dWwcb2XYZ69sA+1UWYDGOBlVUQEUocYLfo9Rni0mnXp7P2WiAO5n5EwZik01gOMUjU5XJVMmZXIJoYjEGrkBicSlaVvYi1wsvwLwt3Pj1THgYaNCdhVA0E2eCUKmMPL396RBDy3DEWe3zNu/LwOlzyzx16YIY7TeR7T4lnIH6BI0EahyUeJz41Za88V14HS5eLknMy/2zziY3vPgDlcO/Sm+rJZC0I96XHSKRhJ6MhedLivAazZCH2WC8mQ3oHkJH5fFHYpmslgVoLZcsZofi02GLZwM94A3xlol979GD5ZeAfp13dhxxao/OSWHkQ1gaqMXeqhVzmJafD2yFmXHb0gH1uayjysAMLlMxmD5f7xaXJnUAQXheio4j7EQqpuZd4zUHhOF/H5l6uwwawEYZiesp3fF2qKTb/ONmsLBkD5byZzIJ12WCfZ7Am4tE9L0aJIrj6erTD1cYd1nIEmHPacNgKQ6qNoz5HjCvuqdg52CZ0yp", "1; SN2PR03MB2272;\n\t3:34J0iRToMe1gEtc0vc3/cgI+uv0iYWG3bHdPuYoQdqqYnL+MplYIKFVxXxUqOMvlCsktM5nerCzf33cshZ3TrKD123Y6ITZbSfMdrxy2186qzjrm9v3cDcI+0ZI5kGVE3fcrLhWGbjxBXIIYkzxYCTfOUkAjQaGmnPH6NbKPKnQDbaQdbuRRyaJNngmSCNJAhHyA0cuT4WSJhipTCEKZpB5tvPiq7XWi9ggMleVgaUHKQvdqbOU6+Z2VEhA4gFBjINqSEw0cDGy+wsvp/KSWCjBLQwLpPGOFYb/LcfroA3GgA5hMg2e7kaChAxeqTcay9SSJVkQ5S8RagjkBnBV3Gn24InTPsKFskTbHjuTW4Lk=;\n\t25:sjQIUBv8qfH3kXXvmy9O+HvHR1YZ3WxI1DKk/v84klyPsfTjD2xOoHPu9BSZkHKIO2cX3Veuv3hqJ9C4ACjCaEdWNdIAsNVeDYL/5rn7iM6qXrHv13MawOLTq8aozseh+b2iZDpPkvFOkIF1HTQNYrJsYr/hUgHLjYfajx5IJUYXJwaERzl3IHpNRJf4dK6T8pZ2Cla0ujx8CHCRaT1itUnNoF1QRFTSgRhKGTY1YqRRluiodNxItJm+uZXzn6l3wHayEz+VAvkAm6vBDuVMHF25SrNQSPLdPaN2ir31vfsI0RsYb0Cbh6R2m4DxvN0XDX1ShIkTbUk1xU4EccRjUg==", "1; SN2PR03MB2272;\n\t31:PTkrneX4xmgSL8LORXdA3Km9MIem6saBG71Imkev27J051iEMT41CsATsoX8CAClrNTbLn1va2kgQdgeFenGJ/j/VQxcC3CErWkgHE7Tpcf0lHudXp4Eo8cOhgZ717WRtFrA2uQWV3pWCaRbZpZ0t1SJCJfc5i3rHJh+WStHZWwB1gp24dqUYrZLaacKpcK2NKkhbHI+4OAp8N3vTlgg+/n5v1sj/F3AQU42PyyH8bw=;\n\t4:1SAf0idjmXZiTxBtI7t2WKXhSofGd6mPoq5F49DcyECN9wm31aoXVfU8XX1e1JlMxVJiQ4oWlveyb0AbZocALDxf9h6TdGcmd0g0K0l3jAM7TEFvKEaU/FKvB1LbFTHHpfihDAz9qpqLvakAWC1wcX5Z2R4RZRD3xmDXc4V4GKva1ZzoohKSUaRi5r/Thq8q95l/4XNiMXPtU8km9xAukWvFkZF47id0jPdxNiQ4b0vOfk7LVe0/FtPVVQrK4kZ4DIiS7zsMTjFTNUqU53tt8ZU3MtmXBIC8z9uZJx4y2dI=", "=?us-ascii?Q?1; SN2PR03MB2272;\n\t23:yQztK0LgVl0V9D990tXwZM6n2u/2mJ/p7Sb5M1X8q?=\n\t=?us-ascii?Q?lQE2EGn2WjON+OuiYNtcmRKM+L3ah7uBl/VCrPwY6DDZdPFWgMkd9EgRExaH?=\n\t=?us-ascii?Q?2KHCTlNbUGXwQIZD1GiIndaHoftsmYg2p07EjIg8W2VVYDT1Q/l/6QFTO+53?=\n\t=?us-ascii?Q?EDFd2n5HMs2ErShBntps4udERQuQoNh0p2w+4kRCXOoVth68OQEe+2iYPDur?=\n\t=?us-ascii?Q?bo/e1GCJrMnOZx4l3idIS8mtb2VB8lkWqxqQPJ4XFWWbd8YI8Us/iHkHumE9?=\n\t=?us-ascii?Q?UimTuVGMkHp+bqNJfAgajW24wTV26lWlYT7JoM5Loi9hWeJiWJjimghNTvPc?=\n\t=?us-ascii?Q?agEVl4vrqyVLpb5s2sDYB4IVjmHKHIue5PHiBk6kBunkhM4/E42YhB855kgM?=\n\t=?us-ascii?Q?fWexXkqUaOVtMNJqpUoNTD8hiwXB8tX9cah+ztL6O+Je4QxU3okgdx4P4DDd?=\n\t=?us-ascii?Q?ISGWaV8P4VkW2KOjVoZRks1DWGCThxucrtNtJCjhSMW1mkGdPGoMKTFG5W5f?=\n\t=?us-ascii?Q?/XWwt6UUGlGdWEgaVR2w3CsivB5T0871OV1PU1eKEW0C6CD3vnUUQE9wDmMf?=\n\t=?us-ascii?Q?oCCogPDOKea8/ubtcAGLbaY0gGMB5JIN4yU1C/EfltBQUkURFDEZHAtnTCgL?=\n\t=?us-ascii?Q?wZQ76IvJLej7yqdZg+sSBYMmJKgvAzirXVGu2eS992/rfGtuaO7/azCc46LU?=\n\t=?us-ascii?Q?zZDjkzXbg7wIUchaczKgCOje3BWb1JN/SUDGcz11uo8TpYoSLQGBPMCgl2aj?=\n\t=?us-ascii?Q?bdH7t6vndFMOVMYFKaNnd2IGN+wwMywtdNcD8HkJ61Vnw6GVI7fQt8F/nxTb?=\n\t=?us-ascii?Q?4ChA1zMI/kbERitxCNe3Qe7E4N0DcifTqcuvyVMSkZb3B+zVx2tvntMJPKVq?=\n\t=?us-ascii?Q?lyg4LFjZj7/eRuNUXxz0E6KVEpERfFverTICjBxJpOtGB921I0vde4Bb0ZQj?=\n\t=?us-ascii?Q?goOs8/unoe2f73iUqmrpG13pllahq296EtIYKOfG1e3aUHLL38IP8MvFSOS9?=\n\t=?us-ascii?Q?Vvydv/gDCSjpBK+vU2v0QPvwYFwULwRbOqsNAVJRz4/UmyNt/SwfDCQOXePl?=\n\t=?us-ascii?Q?Fr2YBlEoOjxZS/w+pc8rBG2aeA1lrpswLERs8OjOjxqccsvt15wXGRhkAleY?=\n\t=?us-ascii?Q?hc976Ah44TVfZnZe/9Lj502gCRPv1kJ?=", "1; SN2PR03MB2272;\n\t6:N/nlZCdIdC4m4mC7A29q38iR5fjrEtvl/d8ZAHidFQU44cibykxqL+QloNeU4MPRuFeq7nwzpmokfmkcGgVx8HPD4nxj3uj+kZ07G4uP/5gJIeQbmxyFmWEdrIUhMxO+g3WPpKXA2HYPtj+PRbJOpL0qbf0pFa5HsWCq2rtnOJ8odv8hHq4iGfFI/daDu/Fkt6FTyzPD6vfCRQ+W5MJH4n9jeig2vBgV3RPKM0AqMRlS7kW7nnJjNX0wh06dwlErbWA0/cxlXd/18hRa1jA6NfbGnEFEv9SxuC4229eju0FfTerdiPY7CJTpNdvg0LcPZ3KwdOCYGvDCfL8fLBieBQ==;\n\t5:NosdqvsXhJp2XXqL4/5lH2x9P/4UEuKgqWjZpAqdrBmMaXCbivSOUuKCnQi9gdcNLEAkMKziB0AE0XzkpbrBOiuMJoRc82MYeM+z8m+XoLqU625XMzr26BzJDXcAAp5se3njvthRLzq7ChjDalqYZA==;\n\t24:FL30GUGPOuYEPNyyK5hRVUgfWIfBHlBiDlW5AeOBUxaE7u2O/Yj+Vf9U98VJmNw73Hq9Dxr0m9JVTdku6fNH0vGGBWybAAAW1GehFC5S6nU=;\n\t7:EDa2CenFuHt3lH9xDksUlD2JdrRl0c82cLOGucQIhYpmNVw6+ZKj8V8sXt1haVMfpkLw7WajBBTdy3UEMJUSc/5FY2Dj9mA3IiOBixXbyXiy1TCFUESuaEIFu6sXT6dcbJXWsvV+Ezi8BZtKHPSRdrMTTOclRl+vs9RDMdHLnVBn/SIztZArfRTuZwdcM0m636Ow9bce5FSELEghLxGWJ6hUo4DOJiTM/KhYe0Z7nkM=" ], "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "466f4d9f-f915-48ac-0781-08d4e4099da2", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:SN2PR03MB2272; ", "X-MS-TrafficTypeDiagnostic": "SN2PR03MB2272:", "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);", "X-Microsoft-Antispam-PRVS": "<SN2PR03MB2272DCEAB5049E7F7E249CBC9A8D0@SN2PR03MB2272.namprd03.prod.outlook.com>", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(5005006)(13016025)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(20161123556025)(20161123565025)(20161123559100)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123561025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:SN2PR03MB2272; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:SN2PR03MB2272; ", "X-Forefront-PRVS": "04004D94E2", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "15 Aug 2017 18:15:28.6142\n\t(UTC)", "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.158.2]; \n\tHelo=[az84smr01.freescale.net]", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN2PR03MB2272", "Cc": "Andre Przywara <andre.przywara@arm.com>, Jagan Teki <jagan@openedev.com>,\n\tLokesh Vutla <lokeshvuta@ti.com>, \"Cooper Jr. Franklin\" <fcooper@ti.com>", "Subject": "[U-Boot] [PATCH v3 5/5] spl: fit: Add booting OS first", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.18", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>" }, "content": "If CONFIG_SPL_OS_BOOT is enabled, boot OS if kernel image is found\nin FIT structure.\n\nSigned-off-by: York Sun <york.sun@nxp.com>\nReviewed-by: Tom Rini <trini@konsulko.com>\n\n---\nThis presums the kernel image doesn't exist in a FIT image intended for\nU-Boot. If kernel image normally co-exists with U-Boot and other images\nand user intends to boot U-Boot, this patch needs to rewrite to favor\n\"loadables\" over either \"firmware\" or \"kernel\" so user can select which\nimage to boot.\n\nChanges in v3:\nUpdate doc/uImage.FIT/multi_spl.its to explain the priority of booting image.\n\nChanges in v2:\nSplit from previous patch, rebased on top of \"SPL: FIT: allow loading\nmultiple images\" by Andre Przywara.\n\n common/spl/spl_fit.c | 60 ++++++++++++++++++++++++++++++--------------\n doc/uImage.FIT/multi_spl.its | 7 ++++++\n 2 files changed, 48 insertions(+), 19 deletions(-)", "diff": "diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c\nindex 9449a22..49ccf1c 100644\n--- a/common/spl/spl_fit.c\n+++ b/common/spl/spl_fit.c\n@@ -222,13 +222,16 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,\n \tulong size;\n \tunsigned long count;\n \tstruct spl_image_info image_info;\n-\tint node, images, ret;\n+\tbool boot_os = false;\n+\tint node = -1;\n+\tint images, ret;\n \tint base_offset, align_len = ARCH_DMA_MINALIGN - 1;\n \tint index = 0;\n \n \t/*\n-\t * Figure out where the external images start. This is the base for the\n-\t * data-offset properties in each image.\n+\t * For FIT with external data, figure out where the external images\n+\t * start. This is the base for the data-offset properties in each\n+\t * image.\n \t */\n \tsize = fdt_totalsize(fit);\n \tsize = (size + 3) & ~3;\n@@ -247,6 +250,9 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,\n \t *\n \t * In fact the FIT has its own load address, but we assume it cannot\n \t * be before CONFIG_SYS_TEXT_BASE.\n+\t *\n+\t * For FIT with data embedded, data is loaded as part of FIT image.\n+\t * For FIT with external data, data is not loaded in this step.\n \t */\n \tfit = (void *)((CONFIG_SYS_TEXT_BASE - size - info->bl_len -\n \t\t\talign_len) & ~align_len);\n@@ -264,8 +270,17 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,\n \t\treturn -1;\n \t}\n \n+#ifdef CONFIG_SPL_OS_BOOT\n+\t/* Find OS image first */\n+\tnode = spl_fit_get_image_node(fit, images, FIT_KERNEL_PROP, 0);\n+\tif (node < 0)\n+\t\tdebug(\"No kernel image.\\n\");\n+\telse\n+\t\tboot_os = true;\n+#endif\n \t/* find the U-Boot image */\n-\tnode = spl_fit_get_image_node(fit, images, \"firmware\", 0);\n+\tif (node < 0)\n+\t\tnode = spl_fit_get_image_node(fit, images, \"firmware\", 0);\n \tif (node < 0) {\n \t\tdebug(\"could not find firmware image, trying loadables...\\n\");\n \t\tnode = spl_fit_get_image_node(fit, images, \"loadables\", 0);\n@@ -287,24 +302,31 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,\n \tif (ret)\n \t\treturn ret;\n \n+#ifdef CONFIG_SPL_OS_BOOT\n+\tif (!fit_image_get_os(fit, node, &spl_image->os))\n+\t\tdebug(\"Image OS is %s\\n\", genimg_get_os_name(spl_image->os));\n+#else\n \tspl_image->os = IH_OS_U_BOOT;\n+#endif\n \n-\t/* Figure out which device tree the board wants to use */\n-\tnode = spl_fit_get_image_node(fit, images, FIT_FDT_PROP, 0);\n-\tif (node < 0) {\n-\t\tdebug(\"%s: cannot find FDT node\\n\", __func__);\n-\t\treturn node;\n-\t}\n+\tif (!boot_os) {\n+\t\t/* Figure out which device tree the board wants to use */\n+\t\tnode = spl_fit_get_image_node(fit, images, FIT_FDT_PROP, 0);\n+\t\tif (node < 0) {\n+\t\t\tdebug(\"%s: cannot find FDT node\\n\", __func__);\n+\t\t\treturn node;\n+\t\t}\n \n-\t/*\n-\t * Read the device tree and place it after the image.\n-\t * Align the destination address to ARCH_DMA_MINALIGN.\n-\t */\n-\timage_info.load_addr = spl_image->load_addr + spl_image->size;\n-\tret = spl_load_fit_image(info, sector, fit, base_offset, node,\n-\t\t\t\t &image_info);\n-\tif (ret < 0)\n-\t\treturn ret;\n+\t\t/*\n+\t\t * Read the device tree and place it after the image.\n+\t\t * Align the destination address to ARCH_DMA_MINALIGN.\n+\t\t */\n+\t\timage_info.load_addr = spl_image->load_addr + spl_image->size;\n+\t\tret = spl_load_fit_image(info, sector, fit, base_offset, node,\n+\t\t\t\t\t &image_info);\n+\t\tif (ret < 0)\n+\t\t\treturn ret;\n+\t}\n \n \t/* Now check if there are more images for us to load */\n \tfor (; ; index++) {\ndiff --git a/doc/uImage.FIT/multi_spl.its b/doc/uImage.FIT/multi_spl.its\nindex e5551d4..d43563d 100644\n--- a/doc/uImage.FIT/multi_spl.its\n+++ b/doc/uImage.FIT/multi_spl.its\n@@ -4,6 +4,13 @@\n * (Bogus) example FIT image description file demonstrating the usage\n * of multiple images loaded by the SPL.\n * Several binaries will be loaded at their respective load addresses.\n+ *\n+ * For booting U-Boot, \"firmware\" is searched first. If not found, \"loadables\"\n+ * is used to identify images to be loaded into memory. If falcon boot is\n+ * enabled, \"kernel\" is searched first. If not found, it falls back to the\n+ * same flow as booting U-Boot. Changing image type will result skipping\n+ * specific image.\n+ *\n * Finally the one image specifying an entry point will be entered by the SPL.\n */\n \n", "prefixes": [ "U-Boot", "v3", "5/5" ] }