+/**\r
+ Initialize the state of the SoftwareEnable bit in the Local APIC\r
+ Spurious Interrupt Vector register.\r
+\r
+ @param Enable If TRUE, then set SoftwareEnable to 1\r
+ If FALSE, then set SoftwareEnable to 0.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+InitializeLocalApicSoftwareEnable (\r
+ IN BOOLEAN Enable\r
+ )\r
+{\r
+ LOCAL_APIC_SVR Svr;\r
+\r
+ //\r
+ // Set local APIC software-enabled bit.\r
+ //\r
+ Svr.Uint32 = ReadLocalApicReg (XAPIC_SPURIOUS_VECTOR_OFFSET);\r
+ if (Enable) {\r
+ if (Svr.Bits.SoftwareEnable == 0) {\r
+ Svr.Bits.SoftwareEnable = 1;\r
+ WriteLocalApicReg (XAPIC_SPURIOUS_VECTOR_OFFSET, Svr.Uint32);\r
+ }\r
+ } else {\r
+ if (Svr.Bits.SoftwareEnable == 1) {\r
+ Svr.Bits.SoftwareEnable = 0;\r
+ WriteLocalApicReg (XAPIC_SPURIOUS_VECTOR_OFFSET, Svr.Uint32);\r
+ }\r
+ }\r
+}\r
+\r