[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1699867] Re: x86_64 qemu crashes at far call into long-mode
From: |
Thomas Huth |
Subject: |
[Bug 1699867] Re: x86_64 qemu crashes at far call into long-mode |
Date: |
Mon, 16 Nov 2020 18:06:26 -0000 |
The QEMU project is currently considering to move its bug tracking to another
system. For this we need to know which bugs are still valid and which could be
closed already. Thus we are setting older bugs to "Incomplete" now.
If you still think this bug report here is valid, then please switch the state
back to "New" within the next 60 days, otherwise this report will be marked as
"Expired". Or mark it as "Fix Released" if the problem has been solved with a
newer version of QEMU already. Thank you and sorry for the inconvenience.
** Changed in: qemu
Status: New => Incomplete
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1699867
Title:
x86_64 qemu crashes at far call into long-mode
Status in QEMU:
Incomplete
Bug description:
I am experimenting with this OS https://github.com/phil-opp/blog_os
and spotted a weird behavior with qemu.
I am looking at code that does transition from 32bit mode to 64bit
mode. Right now it does 'jmp $SELECTOR,64bitfunction'.
https://github.com/phil-
opp/blog_os/blob/557c6a58ea11e31685b9d014d307002d64df5c22/src/arch/x86_64/boot.asm#L32
This code works fine with qemu/kvm/vmware.
To transition from 32 to 64 bit code it is possible to use 'call'
operation. So I am trying to replace that code with 'call
$SELECTOR,64bitfunction'. It works fine with kvm and wmware. But it
fails with Qemu emulation. See the interrup debug log attached. qemu
crashes at 10302c (far call mnemonic).
103016: e8 18 00 00 00 callq 103033 <set_up_page_tables>
10301b: e8 5c 00 00 00 callq 10307c <enable_paging>
103020: e8 ec 00 00 00 callq 103111 <set_up_SSE>
103025: 0f 01 15 28 00 10 00 lgdt 0x100028(%rip) # 203054
<GCC_except_table2+0xdb5f8>
10302c: 9a (bad)
10302d: 40 31 10 rex xor %edx,(%rax)
103030: 00 08 add %cl,(%rax)
As the code works at hardware I expect it to work with qemu. Thus current
qemu behavior looks like a bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1699867/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug 1699867] Re: x86_64 qemu crashes at far call into long-mode,
Thomas Huth <=