linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: G Gregory <graeme.gregory@linaro.org>
To: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Mark Rutland <Mark.Rutland@arm.com>,
	Olof Johansson <olof@lixom.net>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Will Deacon <Will.Deacon@arm.com>, Arnd Bergmann <arnd@arndb.de>,
	Sudeep Holla <Sudeep.Holla@arm.com>,
	"jcm@redhat.com" <jcm@redhat.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Marc Zyngier <Marc.Zyngier@arm.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh@kernel.org>,
	Robert Richter <rric@kernel.org>, Lv Zheng <lv.zheng@intel.com>,
	Robert Moore <robert.moore@intel.com>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Liviu Dudau <Liviu.Dudau@arm.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Charles Garcia-Tobin <Charles.Garcia-Tobin@arm.com>,
	"Kangkang.Shen@huawei.com" <Kangkang.Shen@huawei.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
	Al Stone <al.stone@linaro.org>
Subject: Re: [PATCH v5 18/18] Documentation: ACPI for ARM64
Date: Tue, 6 Jan 2015 13:54:43 +0000	[thread overview]
Message-ID: <CAGCh1+neCkwYDc5jA=g1=RWrGc28EqBoYtY23E0dXSvmPXm0GA@mail.gmail.com> (raw)
In-Reply-To: <54ABE82E.30308@linaro.org>

On 6 January 2015 at 13:50, Hanjun Guo <hanjun.guo@linaro.org> wrote:
> On 2015年01月06日 19:29, Catalin Marinas wrote:
>>
>> On Tue, Jan 06, 2015 at 11:11:07AM +0000, Hanjun Guo wrote:
>>>
>>> On 2015年01月05日 19:05, Catalin Marinas wrote:
>>>>
>>>> On Sun, Jan 04, 2015 at 09:39:24AM +0000, Hanjun Guo wrote:
>>>>>
>>>>> On 2014年12月25日 01:18, Catalin Marinas wrote:
>>>>> [...]
>>>>>>
>>>>>>
>>>>>> In addition to the above and _DSD requirements/banning, I would also
>>>>>> add
>>>>>> some clear statements around:
>>>>>>
>>>>>> _OSC: only global/published capabilities are allowed. For
>>>>>> device-specific _OSC we need a process or maybe we can ban them
>>>>>> entirely
>>>>>> and rely on _DSD once we clarify the process.
>>>>>>
>>>>>> _OSI: firmware must not check for certain _OSI strings. Here I'm not
>>>>>> sure what we would have to do for ARM Linux. Reporting "Windows" does
>>>>>> not make any sense but not reporting anything can, as Matthew Garrett
>>>>>> pointed out, can be interpreted by firmware as "Linux". In addition to
>>>>>> any statements in this document, I suggest you patch
>>>>>> drivers/acpi/acpica/utosi.c accordingly, maybe report "Linux" for ARM
>>>>>> and print a kernel warning so that we notice earlier.
>>>>>>
>>>>>> ACPI_OS_NAME: this is globally defined as "Microsoft Windows NT". It
>>>>>> doesn't make much sense in the ARM context. Could we change it to
>>>>>> "Linux" when CONFIG_ARM64?
>>>
>>>
>>> I think we can introduce a Kconfig such as CONFIG_ACPI_OS_NAME_LINUX,
>>> selected by ARM64 and change ACPI_OS_NAME to "Linux" when
>>> CONFIG_ACPI_OS_NAME_LINUX defined. (we can not add CONFIG_ARM64 in
>>> ACPICA code directly since it will be used by windows too)
>>>
>>> some code like below:
>>
>>
>> This looks fine for me (with some minor comments below) but I'm not an
>> ACPI expert to say there wouldn't be any issues.
>>
>>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>>> index b1f9a20..de567a3 100644
>>> --- a/arch/arm64/Kconfig
>>> +++ b/arch/arm64/Kconfig
>>> @@ -1,5 +1,6 @@
>>>    config ARM64
>>>           def_bool y
>>> +       select ACPI_OS_NAME_LINUX if ACPI
>>>           select ARCH_BINFMT_ELF_RANDOMIZE_PIE
>>>           select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>>>           select ARCH_HAS_GCOV_PROFILE_ALL
>>> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
>>> index 8951cef..11a10ac 100644
>>> --- a/drivers/acpi/Kconfig
>>> +++ b/drivers/acpi/Kconfig
>>> @@ -369,6 +369,10 @@ config ACPI_REDUCED_HARDWARE_ONLY
>>>
>>>             If you are unsure what to do, do not enable this option.
>>>
>>> +config ACPI_OS_NAME_LINUX
>>> +       bool "Using Linux for _OS method" if EXPERT
>>> +       def_bool n
>>
>>
>> No need for a default n, it is off by default. Alternatively you could
>> say:
>>
>>         default y if ARM64
>
>
> ok.
>
>>
>>> +
>>>    source "drivers/acpi/apei/Kconfig"
>>>
>>>    config ACPI_EXTLOG
>>> diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
>>> index 5a0a3e5..db5e13e 100644
>>> --- a/include/acpi/acconfig.h
>>> +++ b/include/acpi/acconfig.h
>>> @@ -69,7 +69,11 @@
>>>     * code that will not execute the _OSI method unless _OS matches the
>>> string
>>>     * below.  Therefore, change this string at your own risk.
>>>     */
>>> +#ifndef ACPI_OS_NAME_USING_LINUX
>>>    #define ACPI_OS_NAME                    "Microsoft Windows NT"
>>> +#else
>>> +#define ACPI_OS_NAME                    "Linux"
>>> +#endif
>>
>>
>> Can you not use CONFIG_ACPI_OS_NAME_LINUX directly here without
>> introducing another macro?
>
>
> acconfig.h is part of ACPICA core and will be shared by windows and
> other OS, so use CONFIG from Linux in this file is not allowed I think.
>

We could just propse
#ifndef ACPI_OS_NAME
#define ACPI_OS_NAME "Microsoft Windows NT"
#endif

to acpica maintainers. This will not alter Windows or other software usage
but we can then override it in Linux when/if we want to.

Graeme

  reply	other threads:[~2015-01-06 13:54 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
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 [this message]
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
2014-12-31  8:34       ` Hanjun Guo
2014-12-31 15:08         ` ashwinc
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='CAGCh1+neCkwYDc5jA=g1=RWrGc28EqBoYtY23E0dXSvmPXm0GA@mail.gmail.com' \
    --to=graeme.gregory@linaro.org \
    --cc=Charles.Garcia-Tobin@arm.com \
    --cc=Kangkang.Shen@huawei.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Sudeep.Holla@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=al.stone@linaro.org \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=grant.likely@linaro.org \
    --cc=hanjun.guo@linaro.org \
    --cc=jason@lakedaemon.net \
    --cc=jcm@redhat.com \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=olof@lixom.net \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=robert.moore@intel.com \
    --cc=robh@kernel.org \
    --cc=rric@kernel.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).