aboutsummaryrefslogtreecommitdiff
path: root/src/southbridge/amd/cimx/sb800/acpi/fch.asl
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/amd/cimx/sb800/acpi/fch.asl')
-rw-r--r--src/southbridge/amd/cimx/sb800/acpi/fch.asl24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/southbridge/amd/cimx/sb800/acpi/fch.asl b/src/southbridge/amd/cimx/sb800/acpi/fch.asl
index 59b556b5b0..ee9b125f2b 100644
--- a/src/southbridge/amd/cimx/sb800/acpi/fch.asl
+++ b/src/southbridge/amd/cimx/sb800/acpi/fch.asl
@@ -134,6 +134,30 @@ Method(_CRS, 0) {
Return (CRES) /* note to change the Name buffer */
} /* end of Method(_SB.PCI0._CRS) */
+/* Some global data */
+Name(OSVR, 3) /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
+
+Method(OSFL, 0){
+
+ if (OSVR != Ones) {Return (OSVR)} /* OS version was already detected */
+
+ if(CondRefOf(\_OSI))
+ {
+ OSVR = 1 /* Assume some form of XP */
+ if (\_OSI("Windows 2006")) /* Vista */
+ {
+ OSVR = 2
+ }
+ } else {
+ If (WCMP(\_OS,"Linux")) {
+ OSVR = 3 /* Linux */
+ } Else {
+ OSVR = 4 /* Gotta be WinCE */
+ }
+ }
+ Return(OSVR)
+}
+
/*
*
* FIRST METHOD CALLED UPON BOOT