X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/81148fa15713ee68be49610206526d0725a5868f..20ef12080950c328702f590b53c50e328a03b971:/ich2/smram-ich2.c?ds=sidebyside diff --git a/ich2/smram-ich2.c b/ich2/smram-ich2.c index 20c2b8a..edf8ad5 100644 --- a/ich2/smram-ich2.c +++ b/ich2/smram-ich2.c @@ -2,7 +2,7 @@ #include #include -#ifdef __linux__ +#ifndef __RAW__ static unsigned long memsz[] = { 0, // 0 @@ -94,7 +94,7 @@ smram_state_t smram_save_state() void smram_restore_state(smram_state_t state) { - return pci_write8(0, 0, 0, SMRAMC, state); + pci_write8(0, 0, 0, SMRAMC, state); } int smram_aseg_set_state (int open) { @@ -127,3 +127,25 @@ int smram_aseg_set_state (int open) { return 0; } + +int smram_tseg_set_state (int open) { + unsigned char smramc; + + if (smram_locked()) + return -1; + + smramc = pci_read8(0, 0, 0, SMRAMC); + + switch (open) + { + case SMRAM_TSEG_OPEN: + smramc = (smramc & 0x8F) | 0x00; + break; + default: + return -1; + } + + pci_write8(0, 0, 0, SMRAMC, smramc); + + return 0; +}