Re: [Xen-devel] [PATCH 6/6] xen/pass-through: constify some static data

2015-06-16 Thread Jan Beulich
 On 16.06.15 at 16:27, stefano.stabell...@eu.citrix.com wrote:
 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 jbeul...@suse.com
 
 Reviewed-by: Stefano Stabellini stefano.stabell...@eu.citrix.com

Perhaps patch 5 and 6 could go in right away, without waiting
for the issues on the other ones addressed? After all, it may
well be that patch 1 will be dropped following the discussion on
the hypervisor side patch series...

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH 6/6] xen/pass-through: constify some static data

2015-06-16 Thread 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 jbeul...@suse.com

Reviewed-by: Stefano Stabellini stefano.stabell...@eu.citrix.com


 --- 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);

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH 6/6] xen/pass-through: constify some static data

2015-06-16 Thread Stefano Stabellini
On Tue, 16 Jun 2015, Jan Beulich wrote:
  On 16.06.15 at 16:27, stefano.stabell...@eu.citrix.com wrote:
  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 jbeul...@suse.com
  
  Reviewed-by: Stefano Stabellini stefano.stabell...@eu.citrix.com
 
 Perhaps patch 5 and 6 could go in right away, without waiting
 for the issues on the other ones addressed? After all, it may
 well be that patch 1 will be dropped following the discussion on
 the hypervisor side patch series...

Yes, I'll queue them up.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH 6/6] xen/pass-through: constify some static data

2015-06-05 Thread Jan Beulich
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 jbeul...@suse.com

--- 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);
 



xen/pass-through: constify some static data

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 jbeul...@suse.com

--- 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);
 
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel