From patchwork Wed Dec 19 18:01:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nariman Poushin X-Patchwork-Id: 154284 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp5223799ljp; Wed, 19 Dec 2018 10:01:07 -0800 (PST) X-Google-Smtp-Source: AFSGD/W1DiWwvDC0JrgQX8q/nVL3kNKfgkUnaQeAljoOs/8SNvY8j++09QJ30qxCcEpppBw6rWV7 X-Received: by 2002:a62:1f53:: with SMTP id f80mr21306917pff.92.1545242467339; Wed, 19 Dec 2018 10:01:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545242467; cv=none; d=google.com; s=arc-20160816; b=oNjE5t4HHKPbfYCqRecAk2fdW6+w50dv22YbL6gllHJKUwnTQ73Wh23ENYq7scPQXq otLNMRtluumsSoKi948dalqoVKxUM016jhfnaQ4cfG05xq8N/+vmL4/EpWDjmnNuWGZM GjSuRWnV2Qj5Jyv8j415q7+duOIKtlLPH/H7tme8pRGpJlGJ8zKigNusHzZo3afr1lfO cR0VBjN8xkAkqQ8eChC+LNE3HEeXzgths0zEJIL4E/GB8i/KNTmAUF4P71ZbY5k2PwJo DHv1z1mylqIz/gms1Ae0D7M95NM5djTg3tcaNpe45QVfJDg6DC8JUVw9Voh4z0kZicBh WJYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=mb1oYypWHi6ncHgjGdXSeeDmQ/p9y/GPqtfSwtzB7HM=; b=V32FnzzEFrFTjLHZ5laSesXlpddO2jbkw90yIMFLAGdlIBOpEn6hDj2CriI6eLVJtu sjPKdwxPOCB8BJv4WLCzmBLvMJ0S+f5xcfAS1ZDnGO8wu8n51rqm13eOcBOv7gfuuCAZ T+FqywXFwbCXyu6k+cn+PeBROBsk3WJrXtyWCx/YiY7I7Z5h2bh4SwXXzgZhWVWTrrY1 39wGcnKcId7NIV4WxnovlG6A42L62RfwnA3k/agVoPzp3AUQ2rYMPRzcpwuBFGZlodxo TAQ5F5hVSjmNuY0H5IFUXKHefQvllRhvtA1OCyhJ2NwdNc979x2qoQPfDol/gMznpfMY aNaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="B/GaMDE7"; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id i198si17569534pfe.289.2018.12.19.10.01.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Dec 2018 10:01:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b="B/GaMDE7"; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id BEEB7211A2091; Wed, 19 Dec 2018 10:01:05 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:4864:20::444; helo=mail-wr1-x444.google.com; envelope-from=nariman.poushin@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 346DB211982DE for ; Wed, 19 Dec 2018 10:01:04 -0800 (PST) Received: by mail-wr1-x444.google.com with SMTP id 96so20481423wrb.2 for ; Wed, 19 Dec 2018 10:01:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=exWM3VMLa2IiyLbjbel+hDk/JN4dY6/BtrmpqlwnVpk=; b=B/GaMDE782acjFK+ADp+XE2y3Xs0mjorY7xs7jeQ0r7hiumFmrGqaq4yGdgMa7u7jP LS6glZflMin3+kHN8VSnsMt87cUgLA65xD1mEvrqQz1xD+XTBYDZHt8FOdtszABMryN6 gya/O6gs4MxVG5VDrQYMkVKewBavfuhJ/pzWw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=exWM3VMLa2IiyLbjbel+hDk/JN4dY6/BtrmpqlwnVpk=; b=dP/5vMJjh/FhMmT1w8C1qcFpq482FV7m10vtgbkaM88p/H8ypwyzBBTouVo9vI+pXX caqarGigG7nAfAoXLMIf2juMTkchUwO0yW8LKMsySD0VMv06r1QH6TmfuBl24ePwWCqk OnkvmrxKMPGzBVHnci2APuMEx6Sm2XRULKNx3pVLku2En+GjRWizH+kky4qVsw18fUeM QWRpTz0NoBMt4FqBFbW/a0GaBlMe08/PDHudv+IUoivzwad5dvS8xxVI+RGMB/AOBB5H Szgre2Gwcj4vNEdNAdHlweta1nPIg2ujlLCWnavv9c8EjYvtAhphVtCgkIfsaF8mzhMc C43A== X-Gm-Message-State: AA+aEWYvdb2WZhoZKQmMtX9Sq0c5utpU54ylzu4z5rpN6tgBgHRv4OdB 04iBZbJvN+y09XlplUBcnMhOVqpO1uw= X-Received: by 2002:adf:8068:: with SMTP id 95mr19576557wrk.181.1545242463190; Wed, 19 Dec 2018 10:01:03 -0800 (PST) Received: from e121012-lin.home (host86-180-121-25.range86-180.btcentralplus.com. [86.180.121.25]) by smtp.gmail.com with ESMTPSA id f66sm6750532wmd.28.2018.12.19.10.01.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 19 Dec 2018 10:01:02 -0800 (PST) From: Nariman Poushin To: leif.lindhom@linaro.org Date: Wed, 19 Dec 2018 18:01:46 +0000 Message-Id: <1545242506-5758-1-git-send-email-nariman.poushin@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <20181205094547.pxhwnuhdur6aqobj@bivouac.eciton.net> References: <20181205094547.pxhwnuhdur6aqobj@bivouac.eciton.net> Subject: [edk2] [edk2-platforms] [PATCH v7 2/2] Platform/ARM: Add Readme.md X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edk2-devel@lists.01.org, leif@eciton.net MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" This covers the bulk of the information originally present in https://github.com/tianocore/tianocore.github.io/wiki/ArmPlatformPkg-AArch64 regarding building and running the Foundation/Base FVP Platforms. The sections on fetching source have been delegated to the root Readme.md Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nariman Poushin --- Changes from v6: - Removed inline html and generally tidied up markdown Platform/ARM/Readme.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ Readme.md | 4 +--- 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 Platform/ARM/Readme.md -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel Reviewed-by: Leif Lindholm diff --git a/Platform/ARM/Readme.md b/Platform/ARM/Readme.md new file mode 100644 index 0000000..ac86e95 --- /dev/null +++ b/Platform/ARM/Readme.md @@ -0,0 +1,63 @@ +# Introduction + +These instructions explain how to get an edk2/edk2-platforms build running +on the ARM Base FVP, which is a software model provided by ARM (for free) +, which models a Cortex A core with various peripherals. More information +can be found here: +[https://developer.arm.com/products/system-design/fixed-virtual-platforms] + +##Requirements +- A 32-bit or 64-bit Linux host machine. +- Visual Studio is not officially supported, experimental support can be found here: +[https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=aarch64-vs] + +# Build EDK2 Tianocore + +`cd $(WORKSPACE)/edk2` + +`build -a AARCH64 -p Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc -t GCC5` + +Once built, the edk2 image is the following file Build/ArmVExpress-FVP-AArch64/DEBUG_GCC5/FV/FVP_AARCH64_EFI.fd + +# Run edk2/edk2-platforms on the ARM Base Platform FVP + +In order to run the binary we have just built there are a few steps we need to +go through, we need to get a model, a set of prebuilts (where we will swap out +the edk2 image with our own) and the tool with which we will swap out the +prebuilt edk2 image. + +We will also rely on the "run_model" script that comes with the prebuilts, it +is entirely possible to run the model without this but would require quite a bit +of knowledge regarding the areguments ARM fastmodel (documentation can be found here: +[https://developer.arm.com/docs/100966/1101/programming-reference-for-base-fvps/base-platform-revc-features]) +however the manual set of the FVP is outside the scope of this document. If you are interested +please consult the documentation. + +It's recommended you create a folder where you download the prebuilts and +required tool and copy your edk2 image in to it, as the run script expects +the binaries in the same directory. + +1. Download the Base FVP from here https://developer.arm.com/products/system-design/fixed-virtual-platforms + + - Select Armv8-A Base Platform FVP based on Fast Models 11.4 + - It has a click through license but is free. + +2. Download the 18.10 Linaro ARM Landing Team release for FVP booting UEFI +https://releases.linaro.org/members/arm/platforms/18.10/fvp-uefi.zip + +3. Download the prebuilt fiptool from https://git.linaro.org/landing-teams/working/arm/prebuilt_tools.git + +4. Update the fip.bin image from fvp-uefi.zip by running the following command: + + `fiptool update --nt-fw=[path to binary built above] fip.bin` + +5. Execute the FVP run_model.sh script from fvp-uefi.zip and provide a path to the FVP binaries +downloaded in step 1): + + `MODEL=[path to FVP binary] ./run_model.sh` + +This expects the contents of fvp-uefi.zip, the bl1.bin and fip.bin (which is +the file we modify), to be in the same directory as the run_model.sh script. + +This should be sufficient to provide a build/run/debug environment for aarch64. + diff --git a/Readme.md b/Readme.md index bb53c6f..86c989f 100644 --- a/Readme.md +++ b/Readme.md @@ -206,9 +206,7 @@ they will be documented with the platform. * [Overdrive](Platform/AMD/OverdriveBoard) * [Overdrive 1000](Platform/SoftIron/Overdrive1000Board) -## ARM -* [Juno](Platform/ARM/JunoPkg) -* [Versatile Express](Platform/ARM/VExpressPkg) +## [ARM](Platform/ARM/Readme.md) ## Hisilicon * [D02](Platform/Hisilicon/D02)