linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: jcm@redhat.com (Jon Masters)
To: linux-arm-kernel@lists.infradead.org
Subject: [Linaro-acpi] [PATCH v5 18/18] Documentation: ACPI for ARM64
Date: Wed, 07 Jan 2015 15:14:50 -0500	[thread overview]
Message-ID: <54AD93BA.3020904@redhat.com> (raw)
In-Reply-To: <20150107200530.GK2634@sirena.org.uk>

On 01/07/2015 03:05 PM, Mark Brown wrote:
> On Wed, Jan 07, 2015 at 08:48:48PM +0100, Arnd Bergmann wrote:
>> On Wednesday 07 January 2015 12:44:56 Jon Masters wrote:
>>> On 01/07/2015 12:27 PM, Mark Brown wrote:
> 
>>>> That level of hardware compatibility does partly come from the need to
>>>> run existing software.  I'd expect that similar effects will start to
>>>> come into play with ARMv8 ACPI systems if they become successful; people
>>>> will do things like ensure compatibility with common IPs that have
>>>> existing Linux drivers that distros tend to include as standard.
> 
>>> Agreed.
> 
>> There are two problems I see in trying to do the same thing on ARM:
> 
>> * we don't have a single vendor that makes de-facto standards that
>>   everyone else has to copy in the way that the few remaining x86
>>   vendors copy everything that Intel does. In fact, we prefer to
>>   have a large number of independent vendors.
> 
> Right, I'd guess that (modulo any standards being defined and becoming
> successful) it'll more be a case of vendors keeping compatibility with
> their own stuff.  We *are* seeing greater reliance on off the shelf IPs
> for more boring things like DMA and basic bus controllers but there's
> plenty of other areas that still affect servers.

I expect to see a greater level of standardization. SBBR is the
beginning, but it is far from the end. There will be a lot more as the
vendors come together and agree on common platform components. I've
spent a lot of time over the past few years with a large number of
vendors going over lots of these issues in lieu of more of a Windows
Hardware Qualification style guide. I intend to have one this year that
captures what Red Hat think an ARM server looks like, and to circulate
that among the broader ecosystem of vendors to feed into SBBR++.

>> * There is a general mindset about deprecating unwanted features
>>   early. ARMv8 aarch32 bit mode removes support for older instructions
>>   or makes them optional. Even the virtualization mode doesn't allow
>>   to trap on architecture version specific differences, so you can't
>>   completely emulate an older architecture level.
>>   This is nice for implementers but not so much for users that rely
>>   on old (mis-)features. It's also not just the CPU core, other
>>   components also get easily replaced, like a GICv3 that is not
>>   a strict superset of GICv2.
> 
> This is indeed worrying, though hopefully the fact that we're already
> seeing negative impacts in the app ecosystem for Android will have
> focused some minds - once you're talking about full system images it
> gets even more fun.

GICv2/3 was something a bunch of us discussed years ago. At the time we
debated whether there was a need to compel the superset option. It was
deemed early enough not to be a critical issue. But there have already
been other cases where we've pushed to ensure backward compatibility for
all time. And there will be more of those as the ecosystem develops out
into a world of existing Operating System images and apps that need to
run on these emerging platforms. Deprecating instructions and
formalizing other behaviors is an area where it's ephemeral - what made
sense in the past might not make sense in the future, and ARM know that.
Their architecture team features some of the smartest minds.

(on architecture revisions, Red Hat has stated in the past that we only
care about AArch64, not even running 32-bit code on 64-bit processors,
which is one reason I have pushed for some silicon designs not to
implement the 32-bit compatibility when it comes to servers)

Jon.

  reply	other threads:[~2015-01-07 20:14 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-17 13:36 [PATCH v5 00/18] Introduce ACPI for ARM64 based on ACPI 5.1 Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 01/18] ARM64: Move the init of cpu_logical_map(0) before unflatten_device_tree() Hanjun Guo
2014-11-18 13:45   ` Hanjun Guo
2014-11-18 16:43     ` Catalin Marinas
2014-11-18 16:57       ` Will Deacon
2014-11-18 17:02         ` Sudeep Holla
2014-11-18 17:03           ` Will Deacon
2014-11-19  0:29             ` Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 02/18] ACPI / table: Add new function to get table entries Hanjun Guo
2014-11-24  1:27   ` Rafael J. Wysocki
2014-11-24 11:03     ` Hanjun Guo
2014-11-24 14:51       ` Rafael J. Wysocki
2014-11-25  3:38         ` Hanjun Guo
2014-11-25 21:20           ` Rafael J. Wysocki
2014-11-26  1:42             ` Hanjun Guo
2014-10-17 13:36 ` [PATCH v5 03/18] ACPI / table: Count matched and successfully parsed entries without specifying max entries Hanjun Guo
2014-11-18 13:51   ` Hanjun Guo
2014-11-18 20:15     ` Rafael J. Wysocki
2014-11-19  0:34       ` Hanjun Guo
2014-11-24  1:45   ` Rafael J. Wysocki
2014-11-24  8:34     ` Tomasz Nowicki
2014-11-24 15:16       ` Rafael J. Wysocki
2014-11-24 15:01         ` Tomasz Nowicki
2014-11-24 15:37           ` Rafael J. Wysocki
2014-11-24 15:18             ` Tomasz Nowicki
2014-10-17 13:37 ` [PATCH v5 04/18] ARM64 / ACPI: Get RSDP and ACPI boot-time tables Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 05/18] ARM64 / ACPI: Introduce sleep-arm.c Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 06/18] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 07/18] ARM64 / ACPI: If we chose to boot from acpi then disable FDT Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 08/18] ARM64 / ACPI: Make PCI optional for ACPI on ARM64 Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 09/18] ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 10/18] ACPI / table: Print GIC information when MADT is parsed Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 11/18] ARM64 / ACPI: Parse MADT for SMP initialization Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 12/18] ACPI / processor: Make it possible to get CPU hardware ID via GICC Hanjun Guo
2014-10-24 17:39   ` Lorenzo Pieralisi
2014-10-27  9:58     ` Hanjun Guo
2014-10-29 10:43       ` Lorenzo Pieralisi
2014-10-30  8:27         ` Hanjun Guo
2014-10-29 21:33       ` Rafael J. Wysocki
2014-10-30  8:30         ` Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 13/18] ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 14/18] ARM64 / ACPI: Add GICv2 specific ACPI boot support Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 15/18] ARM64 / ACPI: Parse GTDT to initialize arch timer Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 16/18] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 17/18] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2014-10-17 13:37 ` [PATCH v5 18/18] Documentation: ACPI for ARM64 Hanjun Guo
2014-12-18 20:01   ` Suravee Suthikulanit
2014-12-19 13:04     ` Hanjun Guo
2014-12-18 20:04   ` Timur Tabi
2014-12-19 13:53     ` Hanjun Guo
2014-12-24 17:18   ` Catalin Marinas
2014-12-24 19:33     ` Jon Masters
2014-12-26 13:23     ` Mark Brown
2014-12-30 11:23     ` Hanjun Guo
2015-01-05 13:13       ` Catalin Marinas
2015-01-05 20:16         ` Arnd Bergmann
2015-01-06 11:20           ` Catalin Marinas
2015-01-06 13:51             ` G Gregory
2015-01-06 14:03               ` Catalin Marinas
2015-01-06 13:59             ` [Linaro-acpi] " Arnd Bergmann
2015-01-06 14:11               ` Catalin Marinas
2015-01-06 19:30                 ` Arnd Bergmann
2015-01-15 14:10               ` Grant Likely
2015-01-15 15:51                 ` Jon Masters
2015-01-15 16:52                   ` Arnd Bergmann
2015-01-15 17:22                     ` Al Stone
2015-01-16 16:35                       ` Arnd Bergmann
2015-01-15 18:00                     ` Mark Brown
2015-01-06 16:24             ` Jon Masters
2015-01-06 19:21               ` [Linaro-acpi] " Arnd Bergmann
2015-01-06 22:06                 ` Jon Masters
2015-01-07  4:55                   ` Jon Masters
2015-01-07 10:36                     ` Arnd Bergmann
2015-01-07 11:50                       ` Catalin Marinas
2015-01-07 13:06                         ` Arnd Bergmann
2015-01-07 17:27                           ` Mark Brown
2015-01-07 17:44                             ` Jon Masters
2015-01-07 19:48                               ` Arnd Bergmann
2015-01-07 20:05                                 ` Mark Brown
2015-01-07 20:14                                   ` Jon Masters [this message]
2015-01-09 10:33                                 ` Catalin Marinas
2015-01-09 10:55                                   ` Arnd Bergmann
2015-01-09 15:13                                     ` Catalin Marinas
2015-01-07 18:41                             ` Jason Cooper
2015-01-07 19:58                               ` Jon Masters
2015-01-07 20:05                                 ` Jon Masters
2015-01-07 22:59                                   ` Jason Cooper
2015-01-08 11:26                                     ` Arnd Bergmann
2015-01-08 19:59                                       ` Kangkang Shen
2015-01-07 21:40                                 ` Jason Cooper
2015-01-07 22:10                                   ` Jon Masters
2015-01-04  9:39     ` Hanjun Guo
2015-01-05 11:05       ` Catalin Marinas
2015-01-06 11:11         ` Hanjun Guo
2015-01-06 11:29           ` Catalin Marinas
2015-01-06 13:50             ` Hanjun Guo
2015-01-06 13:54               ` G Gregory
2015-01-06 13:59                 ` Hanjun Guo
2015-01-06 14:05             ` Arnd Bergmann
2015-01-06 14:16               ` Catalin Marinas
2015-01-06 14:37                 ` Charles Garcia-Tobin
2015-01-06 16:37                 ` Jon Masters
2015-01-09 23:12                   ` Arnd Bergmann
     [not found]   ` <CAJ5Y-eZ5cu9_OhG24yAv+CZq7zKg0vU+eVGekyN+9dDzaz1OhQ@mail.gmail.com>
2014-12-30 20:13     ` ashwinc at codeaurora.org
2014-12-31  8:34       ` Hanjun Guo
2014-12-31 15:08         ` ashwinc at codeaurora.org
2015-01-01 20:04         ` Graeme Gregory
2015-01-02  9:28           ` Hanjun Guo
2015-01-02 16:47             ` Catalin Marinas

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=54AD93BA.3020904@redhat.com \
    --to=jcm@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).