diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-07-07 16:00:40 +0200 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2016-07-07 11:51:18 -0400 |
commit | 54e3a88609da074aaae2f04e592026ebf82169dc (patch) | |
tree | bdd635144218a19107b21b74b1311582c87b1373 /src/resume.c | |
parent | 13213a252286372efa5f72b4119faafd5dff5db1 (diff) | |
download | seabios-54e3a88609da074aaae2f04e592026ebf82169dc.tar.gz |
smp: restore MSRs on S3 resume
Currently the MTRRs and MSR_IA32_FEATURE_CONTROL are not restored on S3
resume. Because these have to be applied to all processors, SMP setup
has to be added to S3 resume.
There are two differences between the boot and resume paths. First,
romfile_* is not usable in the resume paths so we separate out the
remaining common code to a new smp_scan function. Second, smp_msr has
to be walked on the BSP as well, so we extract that out of handle_smp
and into a new function smp_write_msrs. Then, resume can call
smp_write_msrs on the BSP followed by smp_scan to initialize the APs.
Reported-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/resume.c')
-rw-r--r-- | src/resume.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/resume.c b/src/resume.c index afeadcf2..e67cfce7 100644 --- a/src/resume.c +++ b/src/resume.c @@ -97,6 +97,7 @@ s3_resume(void) pic_setup(); smm_setup(); + smp_resume(); pci_resume(); |