From patchwork Thu Jan 7 15:20:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1423354 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=NmMaOf7u; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DBVMb0h3Yz9sVt for ; Fri, 8 Jan 2021 02:22:03 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7B213828A7; Thu, 7 Jan 2021 16:21:48 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="NmMaOf7u"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D9BF9828A8; Thu, 7 Jan 2021 16:21:38 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 259288287A for ; Thu, 7 Jan 2021 16:21:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JhBYHkS3Q9N7CYby1b0puBKVvsb6vmNu6hZVT8BhsCswbO5eolHD9kiWWFUuC5chL8XqnDxyVEFPYt/w6g5ckTsLOPfMBd5nS6AfD0Les7aOAd8hjb7T1kr7oP0om8fTXfpE3Q8kF1m/3Zs5PkFV403BM42c9T6vTBo075Moo5BkLM1sIbF1/VMKphVCSgp4donfZ7Cnz614f+nvRykUnLFzsbNy1Kotv4XjxS4kJHZpGU2j5srDz3BsZqWGi9Tnvn1GygZbAlyT/ierkGD+sFykSDkUUECJJL+ZswTZCWqV684UMAQTtZ1dCMqnAz0YZMs+BlM9KNhzznw+MA6PbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rr0uKqNaz6TgSRoNdPPAWWZIhf4uWBUpTA0Oz2Hy2ww=; b=BIrlJv/bJftxQBgRfLr0kmfKARhUtz4y1lOVMrvy2XKl64OFUCZs+p/Tf66Wmu30tVCNuknhofDFmBARX7qX2Mz9xePmP6+iXl0LEprjmdIxRkzD5qlNOY47LLH0xHp1XMejMx+dVrxBZXvcSAydbfjVUtu1cco3acvdcjHziXJRCfqZTGrKXT/hikpshpqgR6f79fsKr0kHBG+vjS3tcN4FgIHXR1OA6ginvhpBt84ZOqChQMtMf6P0mAAezhqHr0StCkZVzQ4eMhFLmc4eJdoDnRW/FEovIo9NzWBQlFQz2/pQwAyu0IfgGzrK+2cUOvfK9Nw+AaEokoygWpegLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rr0uKqNaz6TgSRoNdPPAWWZIhf4uWBUpTA0Oz2Hy2ww=; b=NmMaOf7uxH9/pkGkZV6gxGm7ahhQYcMwRKqygGiro+Z4gDg4oFzHBhQzlnLgAHCeTv9QAQ5qXgm3homECFk49ZTQLCfr6vkyHyqvyYtzhLmJrugWtvzJYt7tRT7Tb8hD8EieLczjTXgtVH1Idr9/IMvGsT3935xiIEwyV4gYips= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=seco.com; Received: from AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) by AM9PR03MB6930.eurprd03.prod.outlook.com (2603:10a6:20b:2d7::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 7 Jan 2021 15:21:32 +0000 Received: from AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526]) by AM9PR03MB7251.eurprd03.prod.outlook.com ([fe80::a8f2:7dd:46e5:8526%6]) with mapi id 15.20.3742.006; Thu, 7 Jan 2021 15:21:32 +0000 From: Sean Anderson To: u-boot@lists.denx.de Cc: Simon Glass , Sean Anderson , Mario Six Subject: [PATCH v2 2/9] test: dm: Add test for fastboot mmc partition naming Date: Thu, 7 Jan 2021 10:20:56 -0500 Message-Id: <20210107152104.1837414-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210107152104.1837414-1-sean.anderson@seco.com> References: <20210107152104.1837414-1-sean.anderson@seco.com> X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: MN2PR19CA0053.namprd19.prod.outlook.com (2603:10b6:208:19b::30) To AM9PR03MB7251.eurprd03.prod.outlook.com (2603:10a6:20b:26e::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from plantagenet.inhand.com (50.195.82.171) by MN2PR19CA0053.namprd19.prod.outlook.com (2603:10b6:208:19b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Thu, 7 Jan 2021 15:21:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cad91f69-bd29-4c42-e8a7-08d8b31fe9e8 X-MS-TrafficTypeDiagnostic: AM9PR03MB6930: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:209; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /Zb4i/pzlOqAra+12xxowdfbgvvLsB+AyOig1S2TMb7LKy6ES7IYfWJVAjZ9hicsedH5smQ/2DcoAirXxZvbjhRfXglfNPSnwM/b5plpe5OcuOTebZOGNhEmC34891CvAnXhe+FQMxEaZlL0EGGA9lG89vakfzv17gCEttzX/+Gox9eg5WEerH5CFZc60T6AVp/X3StJopmSWyRLiYfAzJhCICSRNy8tUun39SKMIgf7k3n+oBa9L1KndRb4m7lRqaOwX6Qb/QXJE/c1umT/PD5JyO6JrzFeEDNHPygTjuZAiU6VbynX3kHfpvN4vNiwUHW+/Jk5jzp714ollxa3u46Rwl7N/FzN6dzClLCOtXmE2X4sgoWbKDR2cnITyv6d5DQ+ld6wEYMJBe1UNFwnhw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR03MB7251.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(136003)(396003)(376002)(366004)(39850400004)(66556008)(66476007)(66946007)(86362001)(6666004)(36756003)(478600001)(6486002)(16526019)(956004)(5660300002)(8676002)(6916009)(6512007)(2906002)(26005)(8936002)(186003)(6506007)(2616005)(52116002)(1076003)(54906003)(83380400001)(4326008)(316002)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: drCDu73VV03scDCeDNlzdjg9qahL6YjQpS7TIIDFOmirZOmdfejQ+b+mJKZDJr0Hww4wN6k5mXGgGJvostmC9m5OXCjDR0VbQZNIEs6ReFcmu2qSChxyZX4vP2Gr4DZ+PFogtGVh0wMYSCrqP3Zof8HdlbYyXTYmKn8SQp+I/wX7EiCvGn1sjd0iDQNg7EHQ+u0wQCXWHQjHvXXIsqcu7lrpMZpwnTEjcF408KPRBxvkA/0K6KcoF+f7pT/fJkNSst1F85NdeTv/g/Ey8HDg9kZYjmy2shp3RdkX37tjm4EF+abEIiwBzyZuiqjeG04rfijoCCDJOYFBWaM65NiRPYfh70CN9BWoY9xkVMaeTABjXRTf4eMTf9SF40cuA/738hKdfmZJ2b9+ab7I6x3zF/3F8eiQiTE0SK2Sd76sR4fcAwOeKaZ5wBRkDCApQtowEc14eq9ycuU8s7WuicM4kgm+Dp7GeX+3YWYFSMzndVM+YppwAnCW21L4WijiJCRZ6d8KLFxiTogWjAVUfRGPeagmEe2/NzcYsuKj0YHqNiAHPz8Q8HzaU0A9PDWoB6L7wN3UyeMoBid+XrV2XkFERINyS26xTSpPNQ1gCYnxqrq5mN04nqVodw0QDUE63KkCogGQdH+QtDio52y+8EufGp1QXFSKZhOOvNFEsPkGOXqwKf/hYq5CiqGLHXD5ijCigs9RT1B/QcAK0f1m3Cq5u/B6tV8MbxuS6ghrHPYwmfgrGJ0bHgeIxTcqEWjMFCIkkd1QI0Aa637oqwbdMDjAmUb2MRKAvMjZ43SVnJbJVzJMhMBEuCoFYv7V5+LhdqqIWvjV9FOn1MDeDW5HwNFDjnuKrfPtnghLxdE3cS3z9P4GeYchgXRNQbCyu2YoMt4WxjZeMbkHfKBZNEW/R5M5wScGbNo0j0m2pYN8UllAwpALwUPXqEyHT/8W+a//xMffGoxOoLzcB9ncqaSQOct69GzRStw/5lCzJnS/JNw7fZgSHb0AR0F/KB2gNKDIzCWr X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7251.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2021 15:21:32.1901 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-Network-Message-Id: cad91f69-bd29-4c42-e8a7-08d8b31fe9e8 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3dqpCrtqQhsGGq4KyN1q/Q43BodMQ3dS2zBWROVgRrU1Rk3YksNl6C4h4GpFwsrwWUAPPrbUpBv7ssWJtqMTUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB6930 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This test verifies the mapping between fastboot partitions and partitions as understood by U-Boot. It also tests the creation of GPT partitions, though that is not the primary goal. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) configs/sandbox64_defconfig | 2 ++ configs/sandbox_defconfig | 2 ++ test/dm/Makefile | 3 ++ test/dm/fastboot.c | 64 +++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 test/dm/fastboot.c diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 5fbbfd7236..e61aa71fbc 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -109,6 +109,8 @@ CONFIG_CPU=y CONFIG_DM_DEMO=y CONFIG_DM_DEMO_SIMPLE=y CONFIG_DM_DEMO_SHAPE=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 CONFIG_GPIO_HOG=y CONFIG_DM_GPIO_LOOKUP_LABEL=y CONFIG_PM8916_GPIO=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index f1ec701a9f..ba53426df4 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -134,6 +134,8 @@ CONFIG_DM_DEMO_SHAPE=y CONFIG_DMA=y CONFIG_DMA_CHANNELS=y CONFIG_SANDBOX_DMA=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 CONFIG_GPIO_HOG=y CONFIG_DM_GPIO_LOOKUP_LABEL=y CONFIG_PM8916_GPIO=y diff --git a/test/dm/Makefile b/test/dm/Makefile index 46e076ed09..be4385c709 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -91,5 +91,8 @@ obj-$(CONFIG_SCMI_FIRMWARE) += scmi.o ifneq ($(CONFIG_PINMUX),) obj-$(CONFIG_PINCONF) += pinmux.o endif +ifneq ($(CONFIG_EFI_PARTITION)$(CONFIG_FASTBOOT_FLASH_MMC),) +obj-y += fastboot.o +endif endif endif # !SPL diff --git a/test/dm/fastboot.c b/test/dm/fastboot.c new file mode 100644 index 0000000000..8f905d8fa8 --- /dev/null +++ b/test/dm/fastboot.c @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2015 Google, Inc + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define FB_ALIAS_PREFIX "fastboot_partition_alias_" + +static int dm_test_fastboot_mmc_part(struct unit_test_state *uts) +{ + char response[FASTBOOT_RESPONSE_LEN] = {0}; + char str_disk_guid[UUID_STR_LEN + 1]; + struct blk_desc *mmc_dev_desc, *fb_dev_desc; + struct disk_partition part_info; + struct disk_partition parts[2] = { + { + .start = 48, /* GPT data takes up the first 34 blocks or so */ + .size = 1, + .name = "test1", + }, + { + .start = 49, + .size = 1, + .name = "test2", + }, + }; + + ut_assertok(blk_get_device_by_str("mmc", + __stringify(CONFIG_FASTBOOT_FLASH_MMC_DEV), + &mmc_dev_desc)); + if (CONFIG_IS_ENABLED(RANDOM_UUID)) { + gen_rand_uuid_str(parts[0].uuid, UUID_STR_FORMAT_STD); + gen_rand_uuid_str(parts[1].uuid, UUID_STR_FORMAT_STD); + gen_rand_uuid_str(str_disk_guid, UUID_STR_FORMAT_STD); + } + ut_assertok(gpt_restore(mmc_dev_desc, str_disk_guid, parts, + ARRAY_SIZE(parts))); + + /* "Classic" partition labels */ + ut_asserteq(1, fastboot_mmc_get_part_info("test1", &fb_dev_desc, + &part_info, response)); + ut_asserteq(2, fastboot_mmc_get_part_info("test2", &fb_dev_desc, + &part_info, response)); + + /* Test aliases */ + ut_assertnull(env_get(FB_ALIAS_PREFIX "test3")); + ut_assertok(env_set(FB_ALIAS_PREFIX "test3", "test1")); + ut_asserteq(1, fastboot_mmc_get_part_info("test3", &fb_dev_desc, + &part_info, response)); + ut_assertok(env_set(FB_ALIAS_PREFIX "test3", NULL)); + + return 0; +} +DM_TEST(dm_test_fastboot_mmc_part, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);