aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ia64/include/asm/xen/hypercall.h2
-rw-r--r--arch/x86/xen/enlighten.c2
-rw-r--r--arch/x86/xen/p2m.c6
-rw-r--r--drivers/block/xen-blkfront.c8
-rw-r--r--drivers/xen/events.c2
-rw-r--r--include/xen/interface/io/blkif.h16
6 files changed, 21 insertions, 15 deletions
diff --git a/arch/ia64/include/asm/xen/hypercall.h b/arch/ia64/include/asm/xen/hypercall.h
index 96fc62366aa4..ed28bcd5bb85 100644
--- a/arch/ia64/include/asm/xen/hypercall.h
+++ b/arch/ia64/include/asm/xen/hypercall.h
@@ -107,7 +107,7 @@ extern unsigned long __hypercall(unsigned long a1, unsigned long a2,
107static inline int 107static inline int
108xencomm_arch_hypercall_sched_op(int cmd, struct xencomm_handle *arg) 108xencomm_arch_hypercall_sched_op(int cmd, struct xencomm_handle *arg)
109{ 109{
110 return _hypercall2(int, sched_op_new, cmd, arg); 110 return _hypercall2(int, sched_op, cmd, arg);
111} 111}
112 112
113static inline long 113static inline long
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 50542efe45fb..28e6d42ce2b8 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1292,7 +1292,7 @@ static int init_hvm_pv_info(int *major, int *minor)
1292 return 0; 1292 return 0;
1293} 1293}
1294 1294
1295void xen_hvm_init_shared_info(void) 1295void __ref xen_hvm_init_shared_info(void)
1296{ 1296{
1297 int cpu; 1297 int cpu;
1298 struct xen_add_to_physmap xatp; 1298 struct xen_add_to_physmap xatp;
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 00fe5604c593..215a3ce61068 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -266,7 +266,7 @@ static void p2m_init(unsigned long *p2m)
266 * - After resume we're called from within stop_machine, but the mfn 266 * - After resume we're called from within stop_machine, but the mfn
267 * tree should alreay be completely allocated. 267 * tree should alreay be completely allocated.
268 */ 268 */
269void xen_build_mfn_list_list(void) 269void __ref xen_build_mfn_list_list(void)
270{ 270{
271 unsigned long pfn; 271 unsigned long pfn;
272 272
@@ -654,7 +654,7 @@ int m2p_add_override(unsigned long mfn, struct page *page)
654{ 654{
655 unsigned long flags; 655 unsigned long flags;
656 unsigned long pfn; 656 unsigned long pfn;
657 unsigned long address; 657 unsigned long uninitialized_var(address);
658 unsigned level; 658 unsigned level;
659 pte_t *ptep = NULL; 659 pte_t *ptep = NULL;
660 660
@@ -688,7 +688,7 @@ int m2p_remove_override(struct page *page)
688 unsigned long flags; 688 unsigned long flags;
689 unsigned long mfn; 689 unsigned long mfn;
690 unsigned long pfn; 690 unsigned long pfn;
691 unsigned long address; 691 unsigned long uninitialized_var(address);
692 unsigned level; 692 unsigned level;
693 pte_t *ptep = NULL; 693 pte_t *ptep = NULL;
694 694
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index d7aa39e349a6..cc4514c9d8a6 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -281,7 +281,7 @@ static int blkif_queue_request(struct request *req)
281 info->shadow[id].request = req; 281 info->shadow[id].request = req;
282 282
283 ring_req->id = id; 283 ring_req->id = id;
284 ring_req->sector_number = (blkif_sector_t)blk_rq_pos(req); 284 ring_req->u.rw.sector_number = (blkif_sector_t)blk_rq_pos(req);
285 ring_req->handle = info->handle; 285 ring_req->handle = info->handle;
286 286
287 ring_req->operation = rq_data_dir(req) ? 287 ring_req->operation = rq_data_dir(req) ?
@@ -317,7 +317,7 @@ static int blkif_queue_request(struct request *req)
317 rq_data_dir(req) ); 317 rq_data_dir(req) );
318 318
319 info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn); 319 info->shadow[id].frame[i] = mfn_to_pfn(buffer_mfn);
320 ring_req->seg[i] = 320 ring_req->u.rw.seg[i] =
321 (struct blkif_request_segment) { 321 (struct blkif_request_segment) {
322 .gref = ref, 322 .gref = ref,
323 .first_sect = fsect, 323 .first_sect = fsect,
@@ -615,7 +615,7 @@ static void blkif_completion(struct blk_shadow *s)
615{ 615{
616 int i; 616 int i;
617 for (i = 0; i < s->req.nr_segments; i++) 617 for (i = 0; i < s->req.nr_segments; i++)
618 gnttab_end_foreign_access(s->req.seg[i].gref, 0, 0UL); 618 gnttab_end_foreign_access(s->req.u.rw.seg[i].gref, 0, 0UL);
619} 619}
620 620
621static irqreturn_t blkif_interrupt(int irq, void *dev_id) 621static irqreturn_t blkif_interrupt(int irq, void *dev_id)
@@ -932,7 +932,7 @@ static int blkif_recover(struct blkfront_info *info)
932 /* Rewrite any grant references invalidated by susp/resume. */ 932 /* Rewrite any grant references invalidated by susp/resume. */
933 for (j = 0; j < req->nr_segments; j++) 933 for (j = 0; j < req->nr_segments; j++)
934 gnttab_grant_foreign_access_ref( 934 gnttab_grant_foreign_access_ref(
935 req->seg[j].gref, 935 req->u.rw.seg[j].gref,
936 info->xbdev->otherend_id, 936 info->xbdev->otherend_id,
937 pfn_to_mfn(info->shadow[req->id].frame[j]), 937 pfn_to_mfn(info->shadow[req->id].frame[j]),
938 rq_data_dir(info->shadow[req->id].request)); 938 rq_data_dir(info->shadow[req->id].request));
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 6befe6227159..149fa875e396 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -114,7 +114,7 @@ struct cpu_evtchn_s {
114static __initdata struct cpu_evtchn_s init_evtchn_mask = { 114static __initdata struct cpu_evtchn_s init_evtchn_mask = {
115 .bits[0 ... (NR_EVENT_CHANNELS/BITS_PER_LONG)-1] = ~0ul, 115 .bits[0 ... (NR_EVENT_CHANNELS/BITS_PER_LONG)-1] = ~0ul,
116}; 116};
117static struct cpu_evtchn_s *cpu_evtchn_mask_p = &init_evtchn_mask; 117static struct cpu_evtchn_s __refdata *cpu_evtchn_mask_p = &init_evtchn_mask;
118 118
119static inline unsigned long *cpu_evtchn_mask(int cpu) 119static inline unsigned long *cpu_evtchn_mask(int cpu)
120{ 120{
diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h
index c2d1fa4dc1ee..e4f743cfa151 100644
--- a/include/xen/interface/io/blkif.h
+++ b/include/xen/interface/io/blkif.h
@@ -51,11 +51,7 @@ typedef uint64_t blkif_sector_t;
51 */ 51 */
52#define BLKIF_MAX_SEGMENTS_PER_REQUEST 11 52#define BLKIF_MAX_SEGMENTS_PER_REQUEST 11
53 53
54struct blkif_request { 54struct blkif_request_rw {
55 uint8_t operation; /* BLKIF_OP_??? */
56 uint8_t nr_segments; /* number of segments */
57 blkif_vdev_t handle; /* only for read/write requests */
58 uint64_t id; /* private guest value, echoed in resp */
59 blkif_sector_t sector_number;/* start sector idx on disk (r/w only) */ 55 blkif_sector_t sector_number;/* start sector idx on disk (r/w only) */
60 struct blkif_request_segment { 56 struct blkif_request_segment {
61 grant_ref_t gref; /* reference to I/O buffer frame */ 57 grant_ref_t gref; /* reference to I/O buffer frame */
@@ -65,6 +61,16 @@ struct blkif_request {
65 } seg[BLKIF_MAX_SEGMENTS_PER_REQUEST]; 61 } seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
66}; 62};
67 63
64struct blkif_request {
65 uint8_t operation; /* BLKIF_OP_??? */
66 uint8_t nr_segments; /* number of segments */
67 blkif_vdev_t handle; /* only for read/write requests */
68 uint64_t id; /* private guest value, echoed in resp */
69 union {
70 struct blkif_request_rw rw;
71 } u;
72};
73
68struct blkif_response { 74struct blkif_response {
69 uint64_t id; /* copied from request */ 75 uint64_t id; /* copied from request */
70 uint8_t operation; /* copied from request */ 76 uint8_t operation; /* copied from request */