From: "Sebastian Herbszt" <herbszt@gmx.de>
To: "Yang, Sheng" <sheng.yang@intel.com>
Cc: "Avi Kivity" <avi@qumranet.com>, <kvm@vger.kernel.org>
Subject: Re: [PATCH] kvm: bios: Put AP boot up code to 0x1000
Date: Wed, 6 Aug 2008 23:56:30 +0200 [thread overview]
Message-ID: <02a901c8f80f$940da820$0201a8c0@zeug> (raw)
In-Reply-To: 200808051614.33138.sheng.yang@intel.com
Yang, Sheng wrote:
>> > Please refer to my another patch comment. Basicly, AP is running
>> > HLT in 0x10038, but it can exit due to some reason, here QEmu
>> > want to raise it up . But after AP exit from HLT, it can't return
>> > to it because the code was overrided by grub and no HLT loop
>> > there. Then AP had gone away...
>>
>> Thank you for pointing me to "[PATCH] KVM: Fix QEmu interrupted HLT
>> emulation". You wrote there:
>> "Though I also sent a patch for BIOS, it's necessary to get correct
>> behavior here."
>>
>> Would i be correct saying the problem is kvm/qemu only and with
>> that patch applied the bios fix is not needed?
>
> No... I think more important is get bios fixed. Anyway, copy BIOS part
> of running code to a place that may overwritten by userspace program
> is wrong, if you expect AP still running when userspace program is
> running.
>
> In fact, if BIOS code in right place, we won't need fix HLT, for HLT
> have a assumption that it might be interrupt by some event, so
> usually it is wrapped by a loop, as current BIOS did.
The AP enters HALT state with IF=0. What can make it resume at the
following "jmp 1b"? NMI? SMI?
>> If you still want to change the bios code i would suggest jumping
>> to the original smp_ap_boot_code location in rombios32.bin which
>> should not get overwritten. The following patch is based on the
>> bochs version.
>>
>
> Yeah, I just curious why we need to copy BIOS here and there in the
> beginning...
>
> Thanks for your patch, but is it based on bochs upstream?
Yes it's based on bochs upstream rombios32start.S r1.5.
> I found the
> patch don't apply...
This one should apply to current kvm version.
> I also want to know why we need copy AP boot
> code, if anyone know the detail...
I think i read something about a need for 4kb alignment for the
startup vector in the mp specs. AP_BOOT_ADDR is currently
at 0x10000 (16 x 4kb).
- Sebastian
--- rombios32start.S.orig Wed Aug 6 21:37:22 2008
+++ rombios32start.S Wed Aug 6 21:39:17 2008
@@ -40,6 +40,7 @@ _start:
.code16
smp_ap_boot_code_start:
+ cli
xor %ax, %ax
mov %ax, %ds
xor %eax, %eax
@@ -60,6 +61,7 @@ smp_ap_boot_code_start:
12:
incw CPU_COUNT_ADDR
+ ljmp $0xe000, $(1f-_start)
1:
hlt
jmp 1b
next prev parent reply other threads:[~2008-08-06 21:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-31 2:43 [PATCH] kvm: bios: Put AP boot up code to 0x1000 Yang, Sheng
2008-07-31 6:00 ` Yang, Sheng
2008-07-31 6:41 ` Avi Kivity
2008-07-31 9:09 ` Yang, Sheng
2008-07-31 9:46 ` Avi Kivity
2008-08-01 15:49 ` H. Peter Anvin
2008-07-31 21:15 ` Sebastian Herbszt
2008-08-01 1:19 ` Yang, Sheng
2008-08-02 19:30 ` Sebastian Herbszt
2008-08-05 8:14 ` Yang, Sheng
2008-08-06 21:56 ` Sebastian Herbszt [this message]
2008-08-10 7:50 ` Avi Kivity
2008-08-13 23:00 ` Sebastian Herbszt
2008-08-14 6:08 ` Avi Kivity
2008-08-17 22:35 ` [PATCH] kvm: bios: end AP boot code execution in rombios Sebastian Herbszt
2008-08-18 2:33 ` Anthony Liguori
2008-08-18 2:45 ` Yang, Sheng
2008-08-18 10:21 ` Avi Kivity
2008-08-18 10:22 ` Avi Kivity
2008-08-19 23:06 ` Sebastian Herbszt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='02a901c8f80f$940da820$0201a8c0@zeug' \
--to=herbszt@gmx.de \
--cc=avi@qumranet.com \
--cc=kvm@vger.kernel.org \
--cc=sheng.yang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox