BIOS _OSI(Linux) query ignored on PRIMEQUEST
Hi all,
The following message is displayed on our server(PRIMEQUEST):
ACPI: bus type pci registered
ACPI: EC: Look up EC in DSDT
ACPI: BIOS _OSI(Linux) query ignored
ACPI: DMI System Vendor: <NULL>
ACPI: DMI Product Name: <NULL>
ACPI: DMI Product Version: <NULL>
ACPI: DMI Board Name: <NULL>
ACPI: DMI BIOS Vendor: FUJITSU LIMITED
ACPI: DMI BIOS Date: 1/17/2008
ACPI: Please send DMI info above to [email protected]
ACPI: If "acpi_osi=Linux" works better, please notify
[email protected]
Because "acpi_osi=Linux" boot option works well, so we want to use _OSI(Linux) query on PRIMEQUEST without this boot option and inihibit above message.
I thought the way to achive our goal was to add
the following entry to acpi_osi_dmi_table
(at drivers/acpi/blacklist.c),
{
.callback = dmi_enable_osi_linux,
.ident = "Fujitsu PRIMEQUEST",
.matches = {
DMI_MATCH(DMI_BIOS_VENDOR, "FUJITSU LIMITED"),
},
}
but unfortunately this table seems to be valid only for x86 machines. Our server is ia64, but what is the best solution?
Signature · 3 lines
Regards, Taku Izumi <[email protected]>
cover ACPI: add "OSI(Linux) checking procedure" for ia64 machines
Hi all,
Currently there is no "OSI(Linux) checking procedure" on ia64, so it is no use adding ia64 machines' entry to the acpi_osi_dmi_table for the purpose of enabling or disabling OSI(Linux).
The following first patch adds acpi_osi_dmi_table evaluation procedure for ia64 machines. The second patch adds our ia64 machine's entry to its table, because we want to enable OSI(Linux) on our mahines.
* [PATCH 1/2] ACPI: add acpi_osi_dmi_table evaluation procedure for ia64 machines
* [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Best regards,
Taku Izumi <[email protected]>
PATCH 1/2 ACPI: add acpi_osi_dmi_table evaluation procedure for ia64 machines
Currently, acpi_osi_dmi_table is valid only for x86 machines. This patch makes its table valid for ia64 machines too and adds evaluation procedure for the purpose of checking if OSI(Linux) should be enabled or not.
--- arch/ia64/kernel/setup.c | 7 +++++++ drivers/acpi/Makefile | 1 + 2 files changed, 8 insertions(+)
arch/ia64/kernel/setup.c +7 -0
@@ -985,3 +985,10 @@ static int __init run_dmi_scan(void)return 0 ; }core_initcall (run_dmi_scan); + +static int __init invoke_acpi_blacklisted (void ) +{ +acpi_blacklisted (); +return 0 ; +} +postcore_initcall (invoke_acpi_blacklisted);
drivers/acpi/Makefile +1 -0
@@ -17,6 +17,7 @@ EXTRA_CFLAGS += $(ACPI_CFLAGS) # obj-y += tables.o obj-$(CONFIG_X86) += blacklist.o +obj-$(CONFIG_IA64) += blacklist.o # # ACPI Core Subsystem (Interpreter)
PATCH 2/2 ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
In reply to Taku IzumiThis patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
--- drivers/acpi/blacklist.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
drivers/acpi/blacklist.c +14 -0
@@ -626,6 +626,20 @@ static struct dmi_system_id acpi_osi_dmi DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), }, }, +/* +* Enable OSI(Linux) on Fujitsu PRIMEQUEST +* +* DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), +* +*/ + { + .callback = dmi_enable_osi_linux, + .ident = "Fujitsu PRIMEQUEST", + .matches = { + DMI_MATCH(DMI_BIOS_VENDOR, "FUJITSU LIMITED"), + DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), + }, + }, {} };
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Quoted 3 lines · Taku Izumi
This patch adds DMI info to enable OSI(Linux) on
PRIMEQUEST.
(PRIMEQUEST is ia64 machine.)
Why is it needed? Why needs your bios know whether it is Linux or BSD or whatver running?
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Thank you for your response.
Quoted 5 lines
Quoted 2 lines
This patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
Why is it needed? Why needs your bios know whether it is Linux or BSD or whatver running?
For memory hotplug support.
Memory hotplug doesn't work on PRIMEQUEST when OSI(Linux) is disabled.
Best regards,
Taku Izumi <[email protected]>
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Quoted 11 lines · Taku Izumi
Thank you for your response.
Quoted 5 lines
Quoted 2 lines
This patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
Why is it needed? Why needs your bios know whether it is Linux or BSD or whatver running?
For memory hotplug support.
Memory hotplug doesn't work on PRIMEQUEST when OSI(Linux) is disabled.
So fix the BIOS: there's no reason why memory hotplug should not work on BSD or Windows...
Pavel
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Quoted 10 lines · On Mon, 26 May 2008 10:06:14 +0200 Pavel Machek <[email protected]> wrote:
Quoted 9 lines · Taku Izumi
Thank you for your response.
Quoted 5 lines
Quoted 2 lines
This patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
Why is it needed? Why needs your bios know whether it is Linux or BSD or whatver running?
Quoted 6 lines
Quoted 2 lines
For memory hotplug support.
Memory hotplug doesn't work on PRIMEQUEST when OSI(Linux) is disabled.So fix the BIOS: there's no reason why memory hotplug should not work on BSD or Windows...
Pavel
IIRC, PrimeQuest doesn't support BSD ;)
It's not really for memory hotplug. The result of _OSI method (TOOS) is used for PCI, EC driver's behavior, etc.. (on my box)
BTW, PrimeQuest's firmware is designed in 2.6.18 age and _heavily_ tested under _OSI("Linux") environments. So, the acpi layer which returns _OSI("Linux") is valid for PrimeQuest. I don't hear a major firmware update for already-sold-hosts is scheduled.
Thanks,
-Kame
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
On Tue, 27 May 2008 10:13:02 +0900
Quoted 5 lines
BTW, PrimeQuest's firmware is designed in 2.6.18 age and _heavily_ tested under
_OSI("Linux")environments. So, the acpi layer which returns_OSI("Linux")is valid for PrimeQuest. I don't hear a major firmware update for already-sold-hosts is scheduled.
the problem really is that 2.6.18 isn't 2.6.25. OSI("Linux") is really the wrong thing to do!
Not even microsoft does that.. they have very version specific OSI strings.
Can you work with your colleges in the BIOS team to make sure that no future BIOS will use OSI("Linux") please? If there's something they would want to disable because of a Linux bug.. the real solution is to fix the Linux bug!
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
In reply to Taku IzumiQuoted 23 lines · On Fri, 23 May 2008 15:43:48 +0900 Taku Izumi <[email protected]> wrote:
This patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
Signed-off-by Taku Izumi <[email protected]>--- drivers/acpi/blacklist.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)Index:
linux-2.6.25.4/drivers/acpi/blacklist.c
===================================================================drivers/acpi/blacklist.c +6
-0@@ -626,6 +626,20 @@ static struct dmi_system_id acpi_osi_dmi DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), }, }, +/* +* Enable OSI(Linux) on Fujitsu PRIMEQUEST +* +* DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), +* +*/
drivers/acpi/blacklist.c static struct dmi_system_id acpi_osi_dmi · line 644
Quoted 10 lines
drivers/acpi/blacklist.c +8
-0+ { + .callback = dmi_enable_osi_linux, + .ident = "Fujitsu PRIMEQUEST", + .matches = { + DMI_MATCH(DMI_BIOS_VENDOR, "FUJITSU LIMITED"), + DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), + }, + }, {} };
It is unclear (to me) what the impact of this patch is. Does it fix a problem which would justify including these patches in 2.6.26?
Also, your email client is performing space-stuffing. That is easy enough to repair at this end (s/^ / /) but please do sort that out for next time. http://mbligh.org/linuxdocs/Email/Clients/Thunderbird
should help.
Thanks.
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
I'm not sure that sharing drivers/acpi/blacklist.c between different architectures is wise idea. There are entries in there that make blanket decisions for all machines made by an OEM.
It seems quite possible that an OEM that makes boxes using different processor architectures might make different mistakes in the respective BIOS teams.
-Tony
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Quoted 8 lines · On Tue, 27 May 2008 16:41:59 -0700 "Tony Luck" <[email protected]> wrote:
I'm not sure that sharing
drivers/acpi/blacklist.cbetween different architectures is wise idea. There are entries in there that make blanket decisions for all machines made by an OEM.It seems quite possible that an OEM that makes boxes using different processor architectures might make different mistakes in the respective BIOS teams.
So... what's the fix? We don't appear to have a blacklisting table under arch/ia64. Should `#ifdef CONFIG_IA64' be added to drivers/acpi/blacklist.c entries?
RE: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
Quoted 3 lines
So... what's the fix? We don't appear to have a blacklisting table under
arch/ia64. Should `#ifdefCONFIG_IA64' be added todrivers/acpi/blacklist.centries?
That sounds reasonable. We should also put #if defined(CONFIG_X86) around all the existing entries in the acpi_osi_dmi_table[].
-Tony
Re: [PATCH 2/2] ACPI: add DMI info to enable OSI(Linux) on PRIMEQUEST
In reply to Andrew MortonQuoted 31 lines · On Tue, 27 May 2008 16:20:29 -0700 Andrew Morton <[email protected]>…
Quoted 28 lines · On Fri, 23 May 2008 15:43:48 +0900 Taku Izumi <[email protected]> wrote:
This patch adds DMI info to enable OSI(Linux) on PRIMEQUEST. (PRIMEQUEST is ia64 machine.)
Signed-off-by Taku Izumi <[email protected]>--- drivers/acpi/blacklist.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)Index:
linux-2.6.25.4/drivers/acpi/blacklist.c
===================================================================drivers/acpi/blacklist.c +11
-0@@ -626,6 +626,20 @@ static struct dmi_system_id acpi_osi_dmi DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), }, }, +/* +* Enable OSI(Linux) on Fujitsu PRIMEQUEST +* +* DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), +* +*/ + { + .callback = dmi_enable_osi_linux, + .ident = "Fujitsu PRIMEQUEST", + .matches = { + DMI_MATCH(DMI_BIOS_VENDOR, "FUJITSU LIMITED"),
Quoted 9 lines
drivers/acpi/blacklist.c static struct dmi_system_id acpi_osi_dmi · line 644
Quoted 5 lines
drivers/acpi/blacklist.c +3
-0+ DMI_MATCH(DMI_BIOS_VERSION, "PRIMEQUEST"), + }, + }, {} };It is unclear (to me) what the impact of this patch is. Does it fix a problem which would justify including these patches in 2.6.26?
Ah, sorry. I think this is not 2.6.26 candidates.
Before patch.
- PrimeQuest doesn't work well without acpi_osi="Linux" boot option.
After patch
- PrimeQuest works well without boot option.
But Pavel Machek and Arjan van de Ven informed us that "Supporting OSI("Linux") on PrimeQuest will be harmful even if it works well now. Because we cannot guarantee compatibility of this interface in future". So, we're now discussing the problem with our firmware team.
So, please ignore this patch for a while. We'll repost if necessary.
Thank you.
Regards.
-Kame