From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c0b::22d; helo=mail-it0-x22d.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-it0-x22d.google.com (mail-it0-x22d.google.com [IPv6:2607:f8b0:4001:c0b::22d]) (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 2280A220C1C48 for ; Thu, 23 Nov 2017 08:52:29 -0800 (PST) Received: by mail-it0-x22d.google.com with SMTP id 187so8984093iti.5 for ; Thu, 23 Nov 2017 08:56:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=aVrkIqMpbKEwN3ZlnKqJp7gniVB3SjRF8M+ndTO/R0o=; b=LtDrxTRaTFl3oNfuE2S8xrKjybTUKldX1Y6/jUmOB1f4tycSZkFx1z2nwJe5Ri08IA e7gLFLceYV6iuinV7jNRAv5BGjTuPDYhpwWsP8NKBp8pyNP61bNT/+x4c3T5CDDR4ZsW +9YxW751gGkgo86yzHNStyMOJ4Gme1GCK52uA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=aVrkIqMpbKEwN3ZlnKqJp7gniVB3SjRF8M+ndTO/R0o=; b=rMV1lkSsK5YMnCYrCmGMN1bs02Moi17zL+yD3VRPYGWeb0GL2K1fCd5aIquryk12re ZxJFzCvNeylGmjNAwPvC+fXnL9xqUqgo12aV+qRvWWBFJoZBbBznoLAXrGrRYq1NbmZt GbtlUsyfr6Gh3G/59Fx/DUghVYlcYwm1i4UfQW0yPnDwkiSjLJZpzbwxIQhj0Vi4rAMz z7V0EsclYkr4FpwXqsFixK2tn2aBDwYnprefLPjpbLrsbSa2z1uVskTtr4s1mb5wPouJ Epuymxz869i/0Pd1XbKGeRe9pqeX0WZ0p5KaTKFwJCzOJ+wqv6oT11bICUmEhEPTVcok ysZA== X-Gm-Message-State: AJaThX5e0D/i9y4wu6Expl/Fg3eXfeisDS8xU4PDMA4MZgRxJVwzRP8w mII/aISsbb8LBeIWEtb0DjquG+V1UdHBcVL/WFyPyoa+YNI= X-Google-Smtp-Source: AGs4zMYZRjVoMLf/ww+lkE+aBKc4GGoqwYg2QseD50EGYFfJQThOCvcMKQHsYp1xKSfsTVkUON1g/eq2DMghWsdvQho= X-Received: by 10.36.31.80 with SMTP id d77mr12074685itd.65.1511456206498; Thu, 23 Nov 2017 08:56:46 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.104.16 with HTTP; Thu, 23 Nov 2017 08:56:45 -0800 (PST) In-Reply-To: <20171122100731.24525-1-ard.biesheuvel@linaro.org> References: <20171122100731.24525-1-ard.biesheuvel@linaro.org> From: Ard Biesheuvel Date: Thu, 23 Nov 2017 16:56:45 +0000 Message-ID: To: "edk2-devel@lists.01.org" , Laszlo Ersek Cc: Ard Biesheuvel Subject: Re: [PATCH v2 00/14] ArmVirtPkg: get rid of ArmPlatformLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Nov 2017 16:52:30 -0000 Content-Type: text/plain; charset="UTF-8" On 22 November 2017 at 10:07, Ard Biesheuvel wrote: > ArmPlatformLib is a mixed bag of platform specific hooks, some of which > are called from early startup code, and some of which are called from C > code, to get the boot mode, memory layout etc. > > This library class is tightly coupled to the old ARM implementations that > ran some parts of UEFI in the secure world, and booted all cores into SEC. > Also, the fact that both PrePi and PrePeiCore use ArmPlatformLib makes it > difficult to use PEI phase features such as PPI depexes. It would be better > if we could get rid of it completely, or at least not require each platform > to implement it in its entirety. > > So as a first step towards phasing out ArmPlatformLib to the extent possible, > let's remove it from ArmVirtPkg. For ArmVirtXen and ArmVirtQemuKernel, we can > get rid of it completely. For ArmVirtQemu, we can't, but we can still remove > our own implementation by switching to the NULL implementation from > ArmPlatformPkg (which does require a minimal tweak in patch #1). Further > reductions of the scope of ArmPlatformLib will be reflected in that library > without the need for further changes to ArmVirtPkg. > > v2: drop ArmPlatformPkg prereq patch, it is merged now > use constructor instead of PEIM depex ordering to ensure ArmVirtQemu's > PcdSystemMemorySize PCD is set before being consumed > add acks from Laszlo > > Ard Biesheuvel (14): > ArmVirtPkg/PrePi: run all library constructors by hand > ArmVirtPkg/PrePi: remove unused GetPlatformPpi() function > ArmVirtPkg/PrePi: remove bogus primary core check > ArmVirtPkg/PrePi: move DRAM discovery code into PrePi > ArmVirtPkg/PrePi: remove dependency on ArmPlatformLib > ArmVirtPkg/PrePi: remove ArmPlatformStackLib dependency > ArmVirtPkg/PrePi: remove bogus IntelFrameworkModulePkg.dec dependency > ArmVirtPkg/ArmVirtPlatformLib: remove support for uncached mappings > ArmVirtPkg: introduce ArmVirtMemInfoLib library class > ArmVirtPkg/ArmVirtXen: add ArmVirtMemInfoLib implementation > ArmVirtPkg/ArmVirtQemu: add ArmVirtMemInfoLib implementation > ArmVirtPkg: create QemuVirtMemInfoLib version for ArmVirtQemu > ArmVirtPkg/ArmVirtMemoryInitPeiLib: move to ArmVirtMemInfoLib > ArmVirtPkg: remove ArmPlatformLib implementations > Pushed as 14ca435fb6c0..3d544c564bd6 Thanks.