diff options
Diffstat (limited to 'src/southbridge/intel')
-rw-r--r-- | src/southbridge/intel/i82801dx/smi.c | 6 | ||||
-rw-r--r-- | src/southbridge/intel/i82801gx/smi.c | 6 | ||||
-rw-r--r-- | src/southbridge/intel/i82801ix/smi.c | 6 |
3 files changed, 6 insertions, 12 deletions
diff --git a/src/southbridge/intel/i82801dx/smi.c b/src/southbridge/intel/i82801dx/smi.c index 71ef5fd8ee..93e28452e0 100644 --- a/src/southbridge/intel/i82801dx/smi.c +++ b/src/southbridge/intel/i82801dx/smi.c @@ -25,9 +25,6 @@ #include <string.h> #include "i82801dx.h" -extern unsigned char _binary_smm_start; -extern unsigned char _binary_smm_size; - /* I945 */ #define SMRAM 0x90 #define D_OPEN (1 << 6) @@ -321,7 +318,8 @@ static void smm_install(void) D_OPEN | G_SMRAME | C_BASE_SEG); /* copy the real SMM handler */ - memcpy((void *)0xa0000, &_binary_smm_start, (size_t)&_binary_smm_size); + memcpy((void *)0xa0000, _binary_smm_start, + _binary_smm_end - _binary_smm_start); wbinvd(); /* close the SMM memory window and enable normal SMM */ diff --git a/src/southbridge/intel/i82801gx/smi.c b/src/southbridge/intel/i82801gx/smi.c index 3487aabd56..c9d4cd92ca 100644 --- a/src/southbridge/intel/i82801gx/smi.c +++ b/src/southbridge/intel/i82801gx/smi.c @@ -25,9 +25,6 @@ #include <string.h> #include "i82801gx.h" -extern unsigned char _binary_smm_start; -extern unsigned char _binary_smm_size; - /* I945 */ #define SMRAM 0x9d #define D_OPEN (1 << 6) @@ -345,7 +342,8 @@ static void smm_install(void) D_OPEN | G_SMRAME | C_BASE_SEG); /* copy the real SMM handler */ - memcpy((void *)0xa0000, &_binary_smm_start, (size_t)&_binary_smm_size); + memcpy((void *)0xa0000, _binary_smm_start, + _binary_smm_end - _binary_smm_start); wbinvd(); } diff --git a/src/southbridge/intel/i82801ix/smi.c b/src/southbridge/intel/i82801ix/smi.c index 358a1a9ee7..421746df7e 100644 --- a/src/southbridge/intel/i82801ix/smi.c +++ b/src/southbridge/intel/i82801ix/smi.c @@ -26,9 +26,6 @@ #include <string.h> #include "i82801ix.h" -extern unsigned char _binary_smm_start; -extern unsigned char _binary_smm_size; - /* I945/GM45 */ #define SMRAM 0x9d #define D_OPEN (1 << 6) @@ -344,7 +341,8 @@ static void smm_install(void) D_OPEN | G_SMRAME | C_BASE_SEG); /* copy the real SMM handler */ - memcpy((void *)0xa0000, &_binary_smm_start, (size_t)&_binary_smm_size); + memcpy((void *)0xa0000, _binary_smm_start, + _binary_smm_end - _binary_smm_start); wbinvd(); } |