sandybridge: Move common northbridge finalize to northbridge code.
Change-Id: I6d4178e5aaffc1330b0953b0601bf6b448250a8e Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/6920 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
dca2c468fc
commit
c845b43f0a
|
@ -245,35 +245,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -289,35 +289,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -245,35 +245,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -299,35 +299,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -297,35 +297,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -305,35 +305,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
timestamp_add_now(TS_END_ROMSTAGE);
|
||||
}
|
||||
|
|
|
@ -252,36 +252,18 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode == 2);
|
||||
if (boot_mode != 2) {
|
||||
save_mrc_data(&pei_data);
|
||||
}
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
timestamp_add_now(TS_END_ROMSTAGE);
|
||||
}
|
||||
|
|
|
@ -240,28 +240,8 @@ void main(unsigned long bist)
|
|||
rcba_config();
|
||||
post_code(0x3d);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
northbridge_romstage_finalize(s3resume);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if (s3resume) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = 2;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
post_code(0x3f);
|
||||
timestamp_add_now(TS_END_ROMSTAGE);
|
||||
}
|
||||
|
|
|
@ -238,28 +238,8 @@ void main(unsigned long bist)
|
|||
rcba_config();
|
||||
post_code(0x3d);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
northbridge_romstage_finalize(s3resume);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if (s3resume) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = 2;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
post_code(0x3f);
|
||||
timestamp_add_now(TS_END_ROMSTAGE);
|
||||
}
|
||||
|
|
|
@ -229,28 +229,8 @@ void main(unsigned long bist)
|
|||
rcba_config();
|
||||
post_code(0x3d);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
northbridge_romstage_finalize(s3resume);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if (s3resume) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = 2;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
post_code(0x3f);
|
||||
timestamp_add_now(TS_END_ROMSTAGE);
|
||||
}
|
||||
|
|
|
@ -316,36 +316,16 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode == 2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -327,35 +327,17 @@ void main(unsigned long bist)
|
|||
quick_ram_check();
|
||||
post_code(0x3e);
|
||||
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
cbmem_was_initted = !cbmem_recovery(boot_mode==2);
|
||||
if (boot_mode!=2)
|
||||
save_mrc_data(&pei_data);
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if ((boot_mode == 2) && cbmem_was_initted) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = boot_mode;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else if (boot_mode == 2) {
|
||||
if (boot_mode==2 && !cbmem_was_initted) {
|
||||
/* Failed S3 resume, reset to come up cleanly */
|
||||
outb(0x6, 0xcf9);
|
||||
hlt();
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
northbridge_romstage_finalize(boot_mode==2);
|
||||
|
||||
post_code(0x3f);
|
||||
#if CONFIG_CHROMEOS
|
||||
init_chromeos(boot_mode);
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <arch/io.h>
|
||||
#include <device/pci_def.h>
|
||||
#include <elog.h>
|
||||
#include <cbmem.h>
|
||||
#include <pc80/mc146818rtc.h>
|
||||
#include "sandybridge.h"
|
||||
|
||||
|
@ -174,3 +175,29 @@ void sandybridge_early_initialization(int chipset_type)
|
|||
|
||||
sandybridge_setup_graphics();
|
||||
}
|
||||
|
||||
void northbridge_romstage_finalize(int s3resume)
|
||||
{
|
||||
MCHBAR16(SSKPD) = 0xCAFE;
|
||||
|
||||
#if CONFIG_HAVE_ACPI_RESUME
|
||||
/* If there is no high memory area, we didn't boot before, so
|
||||
* this is not a resume. In that case we just create the cbmem toc.
|
||||
*/
|
||||
|
||||
*(u32 *)CBMEM_BOOT_MODE = 0;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = 0;
|
||||
|
||||
if (s3resume) {
|
||||
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
|
||||
if (resume_backup_memory) {
|
||||
*(u32 *)CBMEM_BOOT_MODE = 2;
|
||||
*(u32 *)CBMEM_RESUME_BACKUP = (u32)resume_backup_memory;
|
||||
}
|
||||
/* Magic for S3 resume */
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafed00d);
|
||||
} else {
|
||||
pci_write_config32(PCI_DEV(0, 0x00, 0), SKPAD, 0xcafebabe);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -209,6 +209,7 @@ void intel_sandybridge_finalize_smm(void);
|
|||
int bridge_silicon_revision(void);
|
||||
void sandybridge_early_initialization(int chipset_type);
|
||||
void sandybridge_late_initialization(void);
|
||||
void northbridge_romstage_finalize(int s3resume);
|
||||
|
||||
/* debugging functions */
|
||||
void print_pci_devices(void);
|
||||
|
|
Loading…
Reference in New Issue