restore _OS object to "Linux" for ia64
PATCH 1/1 restore _OS object to "Linux" for ia64
A recent change to ACPI made the _OS object falsely report the OS as
"Microsoft Windows NT". This seems like a slippery slope, and I'd rather not go down it for ia64. I think all of the ia64 OEMs are involved enough with Linux that this isn't necessary and the change limits the options should ACPI firmware need to make an OS specific work around. The patch below will make all ia64 boxes report a default _OS of "Linux". Thanks,
Alex
Signature · 33 lines
Signed-off-by: Alex Williamson <[email protected]> ===== arch/ia64/kernel/acpi.c 1.74 vs edited ===== --- 1.74/arch/ia64/kernel/acpi.c Thu Aug 5 22:40:29 2004 +++ edited/arch/ia64/kernel/acpi.c Mon Sep 13 09:32:46 2004 @@ -629,6 +629,13 @@ #endif /* Make boot-up look pretty */ printk(KERN_INFO "%d CPUs available, %d CPUs total\n", available_cpus, total_cpus); + + /* + * Make the _OS object report the right name, ia64 Linux has + * enough OEM support that we shouldn't need to fake another OS. + */ + acpi_os_name_setup("Linux"); + return 0; } ===== include/acpi/acpiosxf.h 1.34 vs edited ===== --- 1.34/include/acpi/acpiosxf.h Fri Jul 16 23:37:53 2004 +++ edited/include/acpi/acpiosxf.h Mon Sep 13 09:38:55 2004 @@ -313,6 +313,10 @@ u32 function, void *info); +int __init +acpi_os_name_setup ( + char *str); + /* * Debug print routines */
Quoted 7 lines · Alex Williamson
A recent change to ACPI made the
_OSobject falsely report the OS as
"Microsoft Windows NT". This seems like a slippery slope, and I'd rather not go down it for ia64. I think all of the ia64 OEMs are involved enough with Linux that this isn't necessary and the change limits the options should ACPI firmware need to make an OS specific work around. The patch below will make all ia64 boxes report a default_OSof "Linux".
While I share your pride in Linux, there are a couple of reasons why we do not make _OS return "Linux".
_OS is a deprecated interface -- it has been replaced by the more flexible _OSI. So with _OS we're talking about past, not future systems. And there is a total population of 0 systems in the installed base that check for _OS ="Linux" in their firmware. On the other hand, there are zillions of systems that check for Windows with _OS, and the !Windows path through the firmware is effectivly unvalidated.
While this is really important on i386, it may not be important for ia64. However, unless you can show me an existing system that checks for _OS=Linux, then it only adds risk w/o reward to make this change, even if just on ia64. New systems should be using _OSI.
thanks,
-Len
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
Quoted 12 lines · Len Brown
Quoted 7 lines · Alex Williamson
A recent change to ACPI made the
_OSobject falsely report the OS as
"Microsoft Windows NT". This seems like a slippery slope, and I'd rather not go down it for ia64. I think all of the ia64 OEMs are involved enough with Linux that this isn't necessary and the change limits the options should ACPI firmware need to make an OS specific work around. The patch below will make all ia64 boxes report a default_OSof "Linux".While I share your pride in Linux, there are a couple of reasons why we do not make
_OSreturn "Linux".
Quoted 8 lines
_OSis a deprecated interface -- it has been replaced by the more flexible_OSI. So with_OSwe're talking about past, not future systems. And there is a total population of 0 systems in the installed base that check for_OS="Linux" in their firmware. On the other hand, there are zillions of systems that check for Windows with_OS, and the !Windows path through the firmware is effectivly unvalidated.
Perhaps true for i386. While I don't know of any ia64 AML that checks_OS, I do know that we extensively test any !Windows path that exists... or at least we did.
Quoted 5 lines
While this is really important on i386, it may not be important for ia64. However, unless you can show me an existing system that checks for _OS=Linux, then it only adds risk w/o reward to make this change, even if just on ia64. New systems should be using
_OSI.
I see the risk in *changing* the _OS, but not in leaving it the way
it was. SLES9 has already shipped based on 2.6.5. That ACPI CA set the _OS to "Linux". Many platforms have gone through full certification on that kernel. How is it more risky to stay with "Linux"? If it's a deprecated interface, why change it at the end of it's life when there are no known benefits on ia64? Thanks,
Alex
Signature · 1 line
Alex Williamson HP Linux & Open Source Lab