#include <string.h>
#include "i82801dx.h"
-extern unsigned char smm[];
-extern unsigned int smm_len;
+extern unsigned char _binary_smm_start;
+extern unsigned char _binary_smm_size;
/* I945 */
#define SMRAM 0x90
D_OPEN | G_SMRAME | C_BASE_SEG);
/* copy the real SMM handler */
- memcpy((void *)0xa0000, smm, smm_len);
+ memcpy((void *)0xa0000, &_binary_smm_start, (size_t)&_binary_smm_size);
wbinvd();
/* close the SMM memory window and enable normal SMM */