From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4ruG-0007X3-EU for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:32:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4ruC-00084v-7l for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:32:04 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:38123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4ruC-00084q-1k for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:32:00 -0400 Date: Tue, 16 Jun 2015 15:27:02 +0100 From: Stefano Stabellini In-Reply-To: <5571AC870200007800081573@mail.emea.novell.com> Message-ID: References: <5571AA3B020000780008152E@mail.emea.novell.com> <5571AC870200007800081573@mail.emea.novell.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Subject: Re: [Qemu-devel] [PATCH 6/6] xen/pass-through: constify some static data List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Beulich Cc: xen-devel , qemu-devel@nongnu.org, Stefano Stabellini On Fri, 5 Jun 2015, Jan Beulich wrote: > This is done indirectly by adjusting two typedefs and helps emphasizing > that the respective tables aren't supposed to be modified at runtime > (as they may be shared between devices). > > Signed-off-by: Jan Beulich Reviewed-by: Stefano Stabellini > --- a/qemu/upstream/hw/xen/xen_pt.h > +++ b/qemu/upstream/hw/xen/xen_pt.h > @@ -31,7 +31,7 @@ void xen_pt_log(const PCIDevice *d, cons > /* Helper */ > #define XEN_PFN(x) ((x) >> XC_PAGE_SHIFT) > > -typedef struct XenPTRegInfo XenPTRegInfo; > +typedef const struct XenPTRegInfo XenPTRegInfo; > typedef struct XenPTReg XenPTReg; > > typedef struct XenPCIPassthroughState XenPCIPassthroughState; > @@ -135,11 +135,11 @@ struct XenPTReg { > uint32_t data; /* emulated value */ > }; > > -typedef struct XenPTRegGroupInfo XenPTRegGroupInfo; > +typedef const struct XenPTRegGroupInfo XenPTRegGroupInfo; > > /* emul reg group size initialize method */ > typedef int (*xen_pt_reg_size_init_fn) > - (XenPCIPassthroughState *, const XenPTRegGroupInfo *, > + (XenPCIPassthroughState *, XenPTRegGroupInfo *, > uint32_t base_offset, uint8_t *size); > > /* emulated register group information */ > @@ -154,7 +154,7 @@ struct XenPTRegGroupInfo { > /* emul register group management table */ > typedef struct XenPTRegGroup { > QLIST_ENTRY(XenPTRegGroup) entries; > - const XenPTRegGroupInfo *reg_grp; > + XenPTRegGroupInfo *reg_grp; > uint32_t base_offset; > uint8_t size; > QLIST_HEAD(, XenPTReg) reg_tbl_list; > --- a/qemu/upstream/hw/xen/xen_pt_config_init.c > +++ b/qemu/upstream/hw/xen/xen_pt_config_init.c > @@ -96,8 +96,7 @@ XenPTReg *xen_pt_find_reg(XenPTRegGroup > } > > static uint32_t get_throughable_mask(const XenPCIPassthroughState *s, > - const XenPTRegInfo *reg, > - uint32_t valid_mask) > + XenPTRegInfo *reg, uint32_t valid_mask) > { > uint32_t throughable_mask = ~(reg->emu_mask | reg->ro_mask);