Feature #583 » dump-me-status.diff
| src/mainboard/asus/p8x7x-series/mainboard.c | ||
|---|---|---|
| 		 * Skip if ME is already unlocked or inoperable. | ||
| 		 */ | ||
| 		union me_hfs hfs; | ||
| 		union me_gmes gmes; | ||
| 		int32_t me_sig = pci_s_read_config32(PCH_ME_DEV, PCI_VENDOR_ID); | ||
| 		hfs.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_HFS); | ||
| 		gmes.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_GMES); | ||
| 		intel_me_status(&hfs, &gmes); | ||
| 		if (me_sig != -1 && | ||
| 		    hfs.working_state != 4 && | ||
| 		    hfs.operation_mode != ME_HFS_MODE_DEBUG) { | ||
| 			printk(BIOS_INFO, "Unlocking ME, system will restart... "); | ||
| 			mainboard_unlock_me(1); | ||
| 			udelay(8); | ||
| 			hfs.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_HFS); | ||
| 			gmes.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_GMES); | ||
| 			intel_me_status(&hfs, &gmes); | ||
| 			full_reset(); | ||
| 		} else { | ||
| 			printk(BIOS_INFO, "ME unlocked or inop. "); | ||