All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [RFC] Porting KVM to QEMU CVS
Date: Thu, 21 Dec 2006 10:11:17 -0600	[thread overview]
Message-ID: <458AB225.3050109@cs.utexas.edu> (raw)
In-Reply-To: <458A4792.1000309-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

Avi Kivity wrote:
>>
>>> 2. Add hacks in the memory slot code to not return a memory slot if 
>>> the physical address is in the forbidden range.
>>
>> I'm not sure I understand what you mean by this.  I guess I have to 
>> spend some time and understand how the whole memory slot thing works.
>
> Memory slots are just like the DIMM (or, since the qemu model is 
> rather old, SIMM) slots in a PC.
>
> A PC memory controller has circuitry to route memory access to a DIMM 
> or to the PCI bus.  The logic is something like this (first match wins):
>
> - if the access is to the VGA hole, and we're not in SMM, route the 
> access to PCI (the vga controller will route it further to somewhere 
> in the framebuffer)
> - if the access is to the VGA hole, and we are in SMM mode, route to 
> the DIMM that contains the address
> - if the access is to the ROM areas (0xf0000-0xfffff), route to the ROM
> - if the access is to an area mapped by a DIMM, do that
> - otherwise it's an mmio access
>
> My proposal is to implement the special runtime routing table. This 
> way we can have a DIMM that covers all of memory including the 
> forbidden hole.

Okay, that makes sense.

> Entry into SMM will issue an ioctl() to remove the vga routing; exit 
> from SMM will reinstall it.

Right.

>> Another option to consider would simply be to have the BIOS detect 
>> whether or not the emulated hardware supports SMM dynamically (right 
>> now, it's a compile time switch).  This would let us turn it off in 
>> QEMU when KVM is enabled.
>>
>
> That may be best.  What does SMM buy us anyway?

I was hoping to be able to do this with something like CPUID but there 
isn't a bit.  Right now I'm using PIO but I'd have to ask on the bochs 
mailing list whether or not this is a reasonable thing to do.

The current bochs bios doesn't really do anything with SMM.  It merely 
enables or disables ACPI.

Regards,

Anthony Liguori

>
>>>
>>>> Is anyone else working on this?
>>>
>>> I intended to merge qemu once a release is made.  However, if you 
>>> get this working and it is stable, it may make sense to merge sooner 
>>> as I very much like qemu cvs.
>>
>> I would rather just submit this patch (with the BIOS hack) to QEMU 
>> and try and get it picked up in CVS.  There are some regressions at 
>> the moment in CVS so it may be nice for users to have an 0.8.2 based 
>> version available. What do you think?
>>
>> Would be nice to have KVM support in QEMU CVS by the time 2.6.20 
>> rolls out.
>
> I'll reply to this in the next email, this one's too long already.
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

      parent reply	other threads:[~2006-12-21 16:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-18  4:57 [RFC] Porting KVM to QEMU CVS Anthony Liguori
     [not found] ` <45861F9D.7070006-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-12-18  8:16   ` Avi Kivity
     [not found]     ` <45864E67.3050803-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-21  4:04       ` Anthony Liguori
     [not found]         ` <458A07C3.3080000-NZpS4cJIG2HvQtjrzfazuQ@public.gmane.org>
2006-12-21  8:36           ` Avi Kivity
     [not found]             ` <458A4792.1000309-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2006-12-21 16:11               ` Anthony Liguori [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=458AB225.3050109@cs.utexas.edu \
    --to=aliguori-nzps4cjig2hvqtjrzfazuq@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /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.