From: "Verdun, Jean-Marie" <verdun@hpe.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Hawkins, Nick" <nick.hawkins@hpe.com>,
Russell King <linux@armlinux.org.uk>,
Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
Olof Johansson <olof@lixom.net>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] [v1] arch: arm: configs: gxp_defconfig
Date: Tue, 22 Mar 2022 22:41:48 +0000 [thread overview]
Message-ID: <4CD3E272-3C69-441E-B4DE-7004701614EB@hpe.com> (raw)
In-Reply-To: <CAK8P3a2n=yVfe+QiBvxAXw=5DmVY+Mjaag2s2fq+F=sQngos-Q@mail.gmail.com>
Hi,
> I'm not familiar with the hw_breakpoint.c code, but I can see that the
> get_debug_arch()
> and core_has_os_save_restore() functions are at least eight years old,
> and Cortex-A9
> is one of the most common CPU cores, so it would be unlikely that this
> is a problem
> with the CPU core in general. My best guess would be that your boot
> loader code is
> missing a bit of initialization that is required to put this into the
> correct state.
I spent additional time to analyze the issue. We are clearly affected by the errata 764319 mentioned here. (checked with our silicon team and validated with JTAG debugger access) https://developer.arm.com/documentation/uan0009/latest/ and can't change the hardware as it is a production silicon. With that said, I also checked a few things on our PMU, and the main reason why we didn't put it into the initial DTSI is because we are "disabling" it, and its interrupt is not connected to our VIC subsystem. So even if we find a workaround to ARM errata (we asked them the question), the PMU will still not be functional and having it preloaded and initialized is probably not what we intent to.
GXP Asic is a SoC designed for Baseboard Management Controller purpose. It is in some way a dedicated SoC not designed for general purpose computing. We implemented it with security in mind, and have debug systems (which are not shipped outside HPE), and production systems (without PMU active) which are what you can find in many of our servers. Our intent is to offer full linux support on this SoC family as to bring OpenBMC benefit and more software choices to our end users.
With that said, we clearly do not want to overload the linux kernel with specific code and will always promote flexible abstraction usage, as well avoid unnecessary configuration files.
We initially created a dedicated gxp_defconfig as we took inspiration from aspeed implementation, but I think using the generic armv7 is way nicer and better. It will also provide better benefit to the kernel team by identifying the various bottlenecks that SoC vendors like we are, are facing when enabling linux kernel support.
The PERF_EVENTS entry from the multi_v7_defconfig is the only issue that we face to use that default configuration file. I made some tests, and if this defconfig file is configuring PERF_EVENTS as a module, it will allow us to compile from it a perfectly working kernel. I don't think this would impact any other implementation which will have to load the module instead of assuming it is integrated. From a kernel feature perspective I do not find any good reason why perf events shall be activated by default, and I'll be interested to understand why it is from a pure intellectual reason.
Would you accept a patch which is switching PERF_EVENTS=y to PERF_EVENTS=m into multi_v7_defconfig ? Then we could add our GXP definition into it like other chips are. This could also help other chip vendors affected by the same bug. I am pretty sure we are not the only one. Reducing defconfig file and relying on general purpose one per architecture revision make totally sense to me.
vejmarie
next prev parent reply other threads:[~2022-03-22 22:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-16 18:36 nick.hawkins
2022-02-16 21:57 ` Arnd Bergmann
2022-03-14 22:47 ` Verdun, Jean-Marie
2022-03-15 7:34 ` Arnd Bergmann
2022-03-16 18:54 ` Verdun, Jean-Marie
2022-03-16 21:06 ` Arnd Bergmann
2022-03-18 21:53 ` Verdun, Jean-Marie
2022-03-22 22:41 ` Verdun, Jean-Marie [this message]
2022-03-22 23:04 ` Arnd Bergmann
2022-03-23 1:01 ` Verdun, Jean-Marie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CD3E272-3C69-441E-B4DE-7004701614EB@hpe.com \
--to=verdun@hpe.com \
--cc=andrew@aj.id.au \
--cc=arnd@arndb.de \
--cc=joel@jms.id.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=nick.hawkins@hpe.com \
--cc=olof@lixom.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®