Hi, peter. Thank you for your comment.
> I think it would be worth scoping out how much work the a64fx CPU would > require (ie what else does it need beyond these extensions and whatever > features we currently implement?). If that's not a lot of work it might be > simpler > to just add it (possibly even add it but with one or two of its features as > not-yet-implemented.) I don't think it will take much effort if you just implement the A64FX extended function register. As you pointed out, we are investigating the possibility of adding function processing, but in that case, we think it will take some time to verify, including the creation of test tools. Also, as we proceed with the implementation of the "-cpu max" option as the first step, we expect to receive useful comments from the community. If there are no problems, we would like to implement the -cpu max option in the first step. What do you think? Best regards. > -----Original Message----- > From: Peter Maydell <peter.mayd...@linaro.org> > Sent: Thursday, June 3, 2021 4:11 AM > To: Richard Henderson <richard.hender...@linaro.org> > Cc: Ishii, Shuuichirou/石井 周一郎 <ishii.shuuic...@fujitsu.com>; > qemu-...@nongnu.org; qemu-devel@nongnu.org > Subject: Re: [RFC] Adding the A64FX's HPC funtions. > > On Wed, 2 Jun 2021 at 20:02, Richard Henderson > <richard.hender...@linaro.org> wrote: > > On 6/1/21 8:21 AM, Peter Maydell wrote: > > >>> 2) Is it OK to specify the option to set the HPC extension of > > >>> A64FX as follows, for example? > > >>> > > >>> -M virt -cpu max,a64fx-hpc-sec=on (*sector cache function) -M virt > > >>> -cpu max,a64fx-hpc-hwpf=on (*hardware prefetvh assist function) -M > > >>> virt -cpu max,a64fx-hpc-hwb=on (*hardware barrier function) > > >>> > > >>> It is also possible to implement something like -cpu a64fx, but > > >>> since we don't know if we can implement it immediately, we assume > > >>> that we will use the -cpu max option first. > > > > My first thought is that -cpu max can simply enable the extensions, > > without extra flags. The max cpu has all of the features that we can > > enable, and as I see it this is just one more. > > I dunno, because it's not an architectural feature, it's an implementation > feature. We can rely on architectural features not to step on each others' > toes, but there's no guarantee that some other impdef feature might not clash > with these a64fx ones. > > Also, how does the guest OS typically detect the presence of these features? > If > it does it by looking for MIDR etc values that say "this is an A64FX" then > -cpu > max won't trigger that. > > > I would like to add -cpu a64fx at some point. But as you say, that > > need not happen right away. > > I think it would be worth scoping out how much work the a64fx CPU would > require (ie what else does it need beyond these extensions and whatever > features we currently implement?). If that's not a lot of work it might be > simpler > to just add it (possibly even add it but with one or two of its features as > not-yet-implemented.) > > thanks > -- PMM