All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Mathias Gottschlag <mathias-go@web.de>, kvm@vger.kernel.org
Subject: Re: Bug in protected mode segments?
Date: Thu, 23 Oct 2008 09:21:47 +0200	[thread overview]
Message-ID: <4900260B.7060701@redhat.com> (raw)
In-Reply-To: <48FF6754.5040406@codemonkey.ws>

Anthony Liguori wrote:
> Mathias Gottschlag wrote:
>>
>> Grub inits the CPU with no paging and flat segmenting, I now activate 
>> segments to move the code to 0xE0000000 and later activate paging and 
>> reset the segments. When I run this code on qemu or on real hardware 
>> (Athlon XP), everything works well, but on kvm I get several hangs. 
>> For example I try to write to 0xE00B8000 to write into the VGA 
>> framebuffer. This addres should now get translated back to 0xB8000 by 
>> the segment which has the base address 0x20000000, and this 
>> definately works on real hardware, but on kvm I only notice a hang at 
>> the instruction which writes at that address (kvm still responds, but 
>> doesn't update eip anymore, execution stops.
>
> I looked briefly and there didn't appear to be any explicit checks for 
> wrap around but I think that it will work correctly since we're always 
> using at least unsigned long in the host.  My suspicion is that we're 
> somehow getting something wrong with MMIO decoding.

Well, unsigned long is 64-bits on a 64-bit host, so the generated 
address will be 0x1000b8000 instead of 0xb8000.  So the problem here is 
likely to be a missing wraparound, rather than a wraparound.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


      reply	other threads:[~2008-10-23  7:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22 17:38 Bug in protected mode segments? Mathias Gottschlag
2008-10-22 17:48 ` Anthony Liguori
2008-10-23  7:21   ` Avi Kivity [this message]

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=4900260B.7060701@redhat.com \
    --to=avi@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=kvm@vger.kernel.org \
    --cc=mathias-go@web.de \
    /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.