X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/c54a4356fd904634dae9b942fb3a587cdcb860b9..d71d98729a8da95c6ac901db1e8b23eaab48a34d:/ich2/smi.c?ds=sidebyside diff --git a/ich2/smi.c b/ich2/smi.c index 59f14b6..08fcc64 100644 --- a/ich2/smi.c +++ b/ich2/smi.c @@ -2,26 +2,28 @@ #include #include #include +#include uint16_t _get_PMBASE() { - return pci_read32(0, 0, 0, 0x40) & 0xFF80; + return pci_read32(ICH2_LPC_BUS, ICH2_LPC_DEV, ICH2_LPC_FN, ICH2_LPC_PCI_PMBASE) & ICH2_PMBASE_MASK; } void smi_disable() { - unsigned short smi_en = _get_PMBASE() + 0x30; - outl(smi_en, inl(smi_en) & ~0x0001); + unsigned short smi_en = _get_PMBASE() + ICH2_PMBASE_SMI_EN; + outl(smi_en, inl(smi_en) & ~ICH2_SMI_EN_GBL_SMI_EN); } void smi_enable() { - unsigned short smi_en = _get_PMBASE() + 0x30; - outl(smi_en, inl(smi_en) | 0x0001); + unsigned short smi_en = _get_PMBASE() + ICH2_PMBASE_SMI_EN; + outl(smi_en, inl(smi_en) | ICH2_SMI_EN_GBL_SMI_EN); } unsigned long smi_status() { - unsigned short smi_sts = _get_PMBASE() + 0x34; + unsigned short smi_sts = _get_PMBASE() + ICH2_PMBASE_SMI_STS; return inl(smi_sts); } +