From: Roger Pau Monne <roger.pau@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
boris.ostrovsky@oracle.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 07/30] xen/x86: split the setup of Dom0 permissions to a function
Date: Thu, 29 Sep 2016 17:53:19 +0200 [thread overview]
Message-ID: <20160929155319.7cgz6z2fwjevs73k@mac> (raw)
In-Reply-To: <57ED378A0200007800113C1E@prv-mh.provo.novell.com>
On Thu, Sep 29, 2016 at 07:47:22AM -0600, Jan Beulich wrote:
> >>> On 27.09.16 at 17:57, <roger.pau@citrix.com> wrote:
> > So that it can also be used by the PVH-specific domain builder. This is just
> > code motion, it should not introduce any functional change.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>
> Looks generally okay, but please do minor style corrections as you
> move code:
>
> > --- a/xen/arch/x86/domain_build.c
> > +++ b/xen/arch/x86/domain_build.c
> > @@ -869,6 +869,89 @@ static __init void setup_pv_physmap(struct domain *d, unsigned long pgtbl_pfn,
> > unmap_domain_page(l4start);
> > }
> >
> > +static int __init setup_permissions(struct domain *d)
> > +{
> > + unsigned long mfn;
> > + int i, rc = 0;
>
> i should be unsigned int, and the initializer of rc could be avoided.
Done (I've also converted the first assignment to rc below from |= to =).
> > + /* The hardware domain is initially permitted full I/O capabilities. */
> > + rc |= ioports_permit_access(d, 0, 0xFFFF);
> > + rc |= iomem_permit_access(d, 0UL, (1UL << (paddr_bits - PAGE_SHIFT)) - 1);
> > + rc |= irqs_permit_access(d, 1, nr_irqs_gsi - 1);
> > +
> > + /*
> > + * Modify I/O port access permissions.
> > + */
>
> This is a single line comment - I understand it's trying to be more of a
> separator than the others, but I'd prefer for it to do so by being
> followed by a blank line.
>
> > + /* Master Interrupt Controller (PIC). */
> > + rc |= ioports_deny_access(d, 0x20, 0x21);
> > + /* Slave Interrupt Controller (PIC). */
> > + rc |= ioports_deny_access(d, 0xA0, 0xA1);
> > + /* Interval Timer (PIT). */
> > + rc |= ioports_deny_access(d, 0x40, 0x43);
> > + /* PIT Channel 2 / PC Speaker Control. */
> > + rc |= ioports_deny_access(d, 0x61, 0x61);
> > + /* ACPI PM Timer. */
> > + if ( pmtmr_ioport )
> > + rc |= ioports_deny_access(d, pmtmr_ioport, pmtmr_ioport + 3);
> > + /* PCI configuration space (NB. 0xcf8 has special treatment). */
> > + rc |= ioports_deny_access(d, 0xcfc, 0xcff);
> > + /* Command-line I/O ranges. */
> > + process_dom0_ioports_disable(d);
> > +
> > + /*
> > + * Modify I/O memory access permissions.
> > + */
>
> Dito.
>
> > - BUG_ON(rc != 0);
> > + rc = setup_permissions(d);
> > + if ( rc != 0 )
> > + panic("Failed to setup Dom0 permissions");
>
> To be honest, I'm not sure of this BUG_ON() -> panic() conversion.
> I think I'd prefer it to stay the way it was. We're not really expecting
> for any of this to fail anyway.
>
> Jan
Done, fixed all the above, thanks.
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-09-29 15:53 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-27 15:56 [PATCH v2 00/30] PVHv2 Dom0 Roger Pau Monne
2016-09-27 15:56 ` [PATCH v2 01/30] xen/x86: move setup of the VM86 TSS to the domain builder Roger Pau Monne
2016-09-28 15:35 ` Jan Beulich
2016-09-29 12:57 ` Roger Pau Monne
2016-09-27 15:56 ` [PATCH v2 02/30] xen/x86: remove XENFEAT_hvm_pirqs for PVHv2 guests Roger Pau Monne
2016-09-28 16:03 ` Jan Beulich
2016-09-29 14:17 ` Roger Pau Monne
2016-09-29 16:07 ` Jan Beulich
2016-09-27 15:56 ` [PATCH v2 03/30] xen/x86: fix parameters and return value of *_set_allocation functions Roger Pau Monne
2016-09-28 9:34 ` Tim Deegan
2016-09-29 10:39 ` Jan Beulich
2016-09-29 14:33 ` Roger Pau Monne
2016-09-29 16:09 ` Jan Beulich
2016-09-30 16:48 ` George Dunlap
2016-10-03 8:05 ` Paul Durrant
2016-10-06 11:33 ` Roger Pau Monne
2016-09-27 15:56 ` [PATCH v2 04/30] xen/x86: allow calling {sh/hap}_set_allocation with the idle domain Roger Pau Monne
2016-09-29 10:43 ` Jan Beulich
2016-09-29 14:37 ` Roger Pau Monne
2016-09-29 16:10 ` Jan Beulich
2016-09-30 16:56 ` George Dunlap
2016-09-30 16:56 ` George Dunlap
2016-09-27 15:57 ` [PATCH v2 05/30] xen/x86: assert that local_events_need_delivery is not called by " Roger Pau Monne
2016-09-29 10:45 ` Jan Beulich
2016-09-30 8:32 ` Roger Pau Monne
2016-09-30 8:59 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 06/30] x86/paging: introduce paging_set_allocation Roger Pau Monne
2016-09-29 10:51 ` Jan Beulich
2016-09-29 14:51 ` Roger Pau Monne
2016-09-29 16:12 ` Jan Beulich
2016-09-29 16:57 ` Roger Pau Monne
2016-09-30 17:00 ` George Dunlap
2016-09-27 15:57 ` [PATCH v2 07/30] xen/x86: split the setup of Dom0 permissions to a function Roger Pau Monne
2016-09-29 13:47 ` Jan Beulich
2016-09-29 15:53 ` Roger Pau Monne [this message]
2016-09-27 15:57 ` [PATCH v2 08/30] xen/x86: do the PCI scan unconditionally Roger Pau Monne
2016-09-29 13:55 ` Jan Beulich
2016-09-29 15:11 ` Roger Pau Monne
2016-09-29 16:14 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 09/30] x86/vtd: fix and simplify mapping RMRR regions Roger Pau Monne
2016-09-29 14:18 ` Jan Beulich
2016-09-30 11:27 ` Roger Pau Monne
2016-09-30 13:21 ` Jan Beulich
2016-09-30 15:02 ` Roger Pau Monne
2016-09-30 15:09 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 10/30] xen/x86: allow the emulated APICs to be enbled for the hardware domain Roger Pau Monne
2016-09-29 14:26 ` Jan Beulich
2016-09-30 15:44 ` Roger Pau Monne
2016-09-27 15:57 ` [PATCH v2 11/30] xen/x86: split Dom0 build into PV and PVHv2 Roger Pau Monne
2016-09-30 15:03 ` Jan Beulich
2016-10-03 10:09 ` Roger Pau Monne
2016-10-04 6:54 ` Jan Beulich
2016-10-04 7:09 ` Andrew Cooper
2016-09-27 15:57 ` [PATCH v2 12/30] xen/x86: make print_e820_memory_map global Roger Pau Monne
2016-09-30 15:04 ` Jan Beulich
2016-10-03 16:23 ` Roger Pau Monne
2016-10-04 6:47 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 13/30] xen: introduce a new format specifier to print sizes in human-readable form Roger Pau Monne
2016-09-28 8:24 ` Juergen Gross
2016-09-28 11:56 ` Roger Pau Monne
2016-09-28 12:01 ` Andrew Cooper
2016-10-03 8:36 ` Paul Durrant
2016-10-11 10:27 ` Roger Pau Monne
2016-09-27 15:57 ` [PATCH v2 14/30] xen/mm: add a ceil sufix to current page calculation routine Roger Pau Monne
2016-09-30 15:20 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 15/30] xen/x86: populate PVHv2 Dom0 physical memory map Roger Pau Monne
2016-09-30 15:52 ` Jan Beulich
2016-10-04 9:12 ` Roger Pau Monne
2016-10-04 11:16 ` Jan Beulich
2016-10-11 14:01 ` Roger Pau Monne
2016-10-12 11:51 ` Jan Beulich
2016-10-11 14:06 ` Roger Pau Monne
2016-10-12 11:58 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 16/30] xen/x86: parse Dom0 kernel for PVHv2 Roger Pau Monne
2016-10-06 15:14 ` Jan Beulich
2016-10-11 15:02 ` Roger Pau Monne
2016-09-27 15:57 ` [PATCH v2 17/30] xen/x86: setup PVHv2 Dom0 CPUs Roger Pau Monne
2016-10-06 15:20 ` Jan Beulich
2016-10-12 11:06 ` Roger Pau Monne
2016-10-12 11:32 ` Andrew Cooper
2016-10-12 12:02 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 18/30] xen/x86: setup PVHv2 Dom0 ACPI tables Roger Pau Monne
2016-10-06 15:40 ` Jan Beulich
2016-10-06 15:48 ` Andrew Cooper
2016-10-12 15:35 ` Roger Pau Monne
2016-10-12 15:55 ` Jan Beulich
2016-10-26 11:35 ` Roger Pau Monne
2016-10-26 14:10 ` Jan Beulich
2016-10-26 15:08 ` Roger Pau Monne
2016-10-26 15:16 ` Jan Beulich
2016-10-26 16:03 ` Roger Pau Monne
2016-10-27 7:25 ` Jan Beulich
2016-10-27 11:08 ` Roger Pau Monne
2016-10-26 17:14 ` Boris Ostrovsky
2016-10-27 7:27 ` Jan Beulich
2016-10-27 11:13 ` Roger Pau Monne
2016-10-27 11:25 ` Jan Beulich
2016-10-27 13:51 ` Boris Ostrovsky
2016-10-27 14:02 ` Jan Beulich
2016-10-27 14:15 ` Boris Ostrovsky
2016-10-27 14:30 ` Jan Beulich
2016-10-27 14:40 ` Boris Ostrovsky
2016-10-27 15:04 ` Roger Pau Monne
2016-10-27 15:20 ` Jan Beulich
2016-10-27 15:37 ` Roger Pau Monne
2016-10-28 13:51 ` Boris Ostrovsky
2016-09-27 15:57 ` [PATCH v2 19/30] xen/dcpi: add a dpci passthrough handler for hardware domain Roger Pau Monne
2016-10-03 9:02 ` Paul Durrant
2016-10-06 14:31 ` Roger Pau Monne
2016-10-06 15:44 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 20/30] xen/x86: add the basic infrastructure to import QEMU passthrough code Roger Pau Monne
2016-10-03 9:54 ` Paul Durrant
2016-10-06 15:08 ` Roger Pau Monne
2016-10-06 15:52 ` Lars Kurth
2016-10-07 9:13 ` Jan Beulich
2016-10-06 15:47 ` Jan Beulich
2016-10-10 12:41 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 21/30] xen/pci: split code to size BARs from pci_add_device Roger Pau Monne
2016-10-06 16:00 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 22/30] xen/x86: support PVHv2 Dom0 BAR remapping Roger Pau Monne
2016-10-03 10:10 ` Paul Durrant
2016-10-06 15:25 ` Roger Pau Monne
2016-09-27 15:57 ` [PATCH v2 23/30] xen/x86: route legacy PCI interrupts to Dom0 Roger Pau Monne
2016-10-10 13:37 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 24/30] x86/vmsi: add MSI emulation for hardware domain Roger Pau Monne
2016-09-27 15:57 ` [PATCH v2 25/30] xen/x86: add all PCI devices to PVHv2 Dom0 Roger Pau Monne
2016-10-10 13:44 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 26/30] xen/x86: add PCIe emulation Roger Pau Monne
2016-10-03 10:46 ` Paul Durrant
2016-10-06 15:53 ` Roger Pau Monne
2016-10-10 13:57 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 27/30] x86/msixtbl: disable MSI-X intercepts for domains without an ioreq server Roger Pau Monne
2016-10-10 14:18 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 28/30] xen/x86: add MSI-X emulation to PVHv2 Dom0 Roger Pau Monne
2016-10-03 10:57 ` Paul Durrant
2016-10-06 15:58 ` Roger Pau Monne
2016-10-10 16:15 ` Jan Beulich
2016-09-27 15:57 ` [PATCH v2 29/30] xen/x86: allow PVHv2 to perform foreign memory mappings Roger Pau Monne
2016-09-30 17:36 ` George Dunlap
2016-10-10 14:21 ` Jan Beulich
2016-10-10 14:27 ` George Dunlap
2016-10-10 14:50 ` Jan Beulich
2016-10-10 14:58 ` George Dunlap
2016-09-27 15:57 ` [PATCH v2 30/30] xen: allow setting the store pfn HVM parameter Roger Pau Monne
2016-10-03 11:01 ` Paul Durrant
2016-09-28 12:22 ` [PATCH v2 00/30] PVHv2 Dom0 Roger Pau Monne
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=20160929155319.7cgz6z2fwjevs73k@mac \
--to=roger.pau@citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=boris.ostrovsky@oracle.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).