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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.