xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 11/29] xen/x86: add bitmap of enabled emulated devices
Date: Wed, 23 Sep 2015 14:35:05 +0200	[thread overview]
Message-ID: <56029C79.8040505@citrix.com> (raw)
In-Reply-To: <55F9577502000078000A3372@prv-mh.provo.novell.com>

El 16/09/15 a les 11.50, Jan Beulich ha escrit:
>>>> On 04.09.15 at 14:08, <roger.pau@citrix.com> wrote:
>> --- a/tools/libxl/libxl_x86.c
>> +++ b/tools/libxl/libxl_x86.c
>> @@ -7,8 +7,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>                                        libxl_domain_config *d_config,
>>                                        xc_domain_configuration_t *xc_config)
>>  {
>> -    /* No specific configuration right now */
>> -
>> +    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM)
>> +        xc_config->emulation_flags = (XEN_X86_EMU_LAPIC | XEN_X86_EMU_HPET |
>> +                                      XEN_X86_EMU_PMTIMER | XEN_X86_EMU_RTC |
>> +                                      XEN_X86_EMU_IOAPIC | XEN_X86_EMU_PIC |
>> +                                      XEN_X86_EMU_PMU | XEN_X86_EMU_VGA |
>> +                                      XEN_X86_EMU_IOMMU);
> 
> This calls for the elsewhere discussed XEN_X86_EMU_ALL to even be
> exposed to the tool stack.

Done.

>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -555,6 +555,29 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags,
>>                 d->domain_id);
>>      }
>>  
>> +    if ( is_hvm_domain(d) )
>> +    {
>> +        uint32_t emulation_mask = (XEN_X86_EMU_LAPIC | XEN_X86_EMU_HPET |
> 
> const

With the introduction of XEN_X86_EMU_ALL this is no longer needed.

> 
>> +                                   XEN_X86_EMU_PMTIMER | XEN_X86_EMU_RTC |
>> +                                   XEN_X86_EMU_IOAPIC | XEN_X86_EMU_PIC |
>> +                                   XEN_X86_EMU_PMU | XEN_X86_EMU_VGA |
>> +                                   XEN_X86_EMU_IOMMU);
>> +        if ( (config->emulation_flags & ~emulation_mask) != 0 )
> 
> Missing blank line between declaration and statements.

emulation_mask is now gone, so no need for the newline any more.

>> +        {
>> +            printk(XENLOG_G_ERR "d%d: Invalid emulation bitmap: %#x.\n",
> 
> Generally we have no full stops at the end of log messages.

Ack, I've removed them here and below, but I've noticed that other
printks in arch_domain_create have full stops (that's probably why I've
added them here).

> 
>> +                   d->domain_id, config->emulation_flags);
>> +            return -EINVAL;
>> +        }
>> +        if ( config->emulation_flags != emulation_mask )
>> +        {
>> +            printk(XENLOG_G_ERR "d%d: Xen does not allow HVM creation with the "
>> +                   "current selection of emulators: %#x.\n", d->domain_id,
>> +                   config->emulation_flags);
>> +            return -EOPNOTSUPP;
>> +        }
>> +        d->arch.emulation_flags = config->emulation_flags;
>> +    }
> 
> Isn't there an "else" missing here, validating that the flags are zero?

The comment in xen/include/asm-x86/domain.h above the emulation_flags
field already mentions that this field is ignored for PV guests. For
example the x86 Dom0 building code calls arch_domain_create passing in a
NULL xen_arch_domainconfig, so I think it's easier to just ignore this
for PV guests.

Roger.

  reply	other threads:[~2015-09-23 12:35 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04 12:08 [PATCH v6 00/29] Introduce HVM without dm and new boot ABI Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 01/29] libxc: split x86 HVM setup_guest into smaller logical functions Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 02/29] libxc: unify xc_dom_p2m_{host/guest} Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 03/29] libxc: introduce the notion of a container type Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 04/29] libxc: introduce a domain loader for HVM guest firmware Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 05/29] libxc: make arch_setup_meminit a xc_dom_arch hook Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 06/29] libxc: make arch_setup_boot{init/late} xc_dom_arch hooks Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 07/29] libxc: rework BSP initialization Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 08/29] libxc: introduce a xc_dom_arch for hvm-3.0-x86_32 guests Roger Pau Monne
2015-09-18 15:53   ` Anthony PERARD
2015-09-23 10:32     ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 09/29] libxl: switch HVM domain building to use xc_dom_* helpers Roger Pau Monne
2015-09-18 15:53   ` Anthony PERARD
2015-09-23 10:38     ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 10/29] libxc: remove dead HVM building code Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 11/29] xen/x86: add bitmap of enabled emulated devices Roger Pau Monne
2015-09-04 12:25   ` Wei Liu
2015-09-04 13:51     ` Roger Pau Monné
2015-09-04 13:55       ` Jan Beulich
2015-09-04 22:41         ` Andrew Cooper
2015-09-23 11:43         ` Roger Pau Monné
2015-09-04 13:56       ` Wei Liu
2015-09-09 14:27   ` Wei Liu
2015-09-16  9:50   ` Jan Beulich
2015-09-23 12:35     ` Roger Pau Monné [this message]
2015-09-23 13:24       ` Jan Beulich
2015-09-23 15:02         ` Roger Pau Monné
2015-09-16 10:10   ` Jan Beulich
2015-09-23 12:42     ` Roger Pau Monné
2015-09-23 12:46       ` Andrew Cooper
2015-09-04 12:08 ` [PATCH v6 12/29] xen/x86: allow disabling the emulated local apic Roger Pau Monne
2015-09-16 10:05   ` Jan Beulich
2015-09-23 15:45     ` Roger Pau Monné
2015-09-24  7:57       ` Jan Beulich
2015-09-25  9:00         ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 13/29] xen/x86: allow disabling the emulated HPET Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 14/29] xen/x86: allow disabling the pmtimer Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 15/29] xen/x86: allow disabling the emulated RTC Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 16/29] xen/x86: allow disabling the emulated IO APIC Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 17/29] xen/x86: allow disabling the emulated PIC Roger Pau Monne
2015-09-21 14:34   ` Jan Beulich
2015-09-25 15:01     ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 18/29] xen/x86: allow disabling the emulated pmu Roger Pau Monne
2015-09-21 14:36   ` Jan Beulich
2015-09-21 14:48     ` Boris Ostrovsky
2015-09-25 15:07       ` Roger Pau Monné
2015-09-25 15:13         ` Jan Beulich
2015-09-25 15:22           ` Roger Pau Monné
2015-09-25 15:41             ` Boris Ostrovsky
2015-09-04 12:08 ` [PATCH v6 19/29] xen/x86: allow disabling the emulated VGA Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 20/29] xen/x86: allow disabling the emulated IOMMU Roger Pau Monne
2015-09-28 13:58   ` Aravind Gopalakrishnan
2015-09-04 12:09 ` [PATCH v6 21/29] xen/x86: allow disabling all emulated devices inside of Xen Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 22/29] elfnotes: intorduce a new PHYS_ENTRY elfnote Roger Pau Monne
2015-09-21 14:47   ` Jan Beulich
2015-09-28 10:35     ` Roger Pau Monné
2015-09-28 10:56       ` Jan Beulich
2015-09-28 10:59         ` Andrew Cooper
2015-09-04 12:09 ` [PATCH v6 23/29] libxc: allow creating domains without emulated devices Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 24/29] xen/x86: allow HVM guests to use hypercalls to bring up vCPUs Roger Pau Monne
2015-09-21 15:44   ` Jan Beulich
2015-09-25 15:16     ` Andrew Cooper
2015-09-25 15:52       ` Jan Beulich
2015-09-28 16:09     ` Roger Pau Monné
2015-09-29  7:09       ` Jan Beulich
2015-09-29  8:53         ` Tim Deegan
2015-09-29 10:00         ` Andrew Cooper
2015-09-29 10:07           ` Jan Beulich
2015-09-29 10:25             ` Andrew Cooper
2015-09-29 10:33               ` Jan Beulich
2015-09-29 10:37                 ` Andrew Cooper
2015-09-29 10:48                   ` Jan Beulich
2015-09-29 14:01                     ` Roger Pau Monné
2015-09-29 15:29                       ` Jan Beulich
2015-09-29 16:01                         ` Roger Pau Monné
2015-09-29 16:20                           ` Jan Beulich
2015-09-29 16:49                             ` Roger Pau Monné
2015-09-29 16:58                               ` Roger Pau Monné
2015-09-30 10:03                               ` Jan Beulich
2015-09-30 11:37                                 ` Roger Pau Monné
2015-09-30 11:49                                   ` Andrew Cooper
2015-09-30 11:54                                   ` Jan Beulich
2015-09-30 12:19                                     ` Roger Pau Monné
2015-09-30 12:35                                       ` Jan Beulich
2015-09-30 12:50                                         ` Andrew Cooper
2015-09-30 15:33                                           ` Roger Pau Monné
2015-09-30 14:23                                         ` Roger Pau Monné
2015-09-30 15:41                                           ` Jan Beulich
2015-09-04 12:09 ` [PATCH v6 25/29] xenconsole: try to attach to PV console if HVM fails Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 26/29] libxc/xen: introduce a start info structure for HVMlite guests Roger Pau Monne
2015-09-10 16:00   ` Wei Liu
2015-09-21 15:53   ` Jan Beulich
2015-09-28 16:51     ` Roger Pau Monné
2015-09-04 12:09 ` [PATCH v6 27/29] libxc: switch xc_dom_elfloader to be used with HVMlite domains Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 28/29] libxl: allow the creation of HVM domains without a device model Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 29/29] libxl: add support for migrating HVM guests " Roger Pau Monne
2015-09-10 16:00   ` Wei Liu
2015-09-10 16:30   ` Andrew Cooper
2015-09-11 13:04 ` [PATCH v6 00/29] Introduce HVM without dm and new boot ABI Ian Campbell

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=56029C79.8040505@citrix.com \
    --to=roger.pau@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).