diff options
-rw-r--r-- | arch/ia64/include/asm/xen/hypercall.h | 2 | ||||
-rw-r--r-- | arch/x86/xen/enlighten.c | 2 | ||||
-rw-r--r-- | arch/x86/xen/p2m.c | 6 | ||||
-rw-r--r-- | drivers/block/xen-blkfront.c | 8 | ||||
-rw-r--r-- | drivers/xen/events.c | 2 | ||||
-rw-r--r-- | include/xen/interface/io/blkif.h | 16 |
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, | |||
107 | static inline int | 107 | static inline int |
108 | xencomm_arch_hypercall_sched_op(int cmd, struct xencomm_handle *arg) | 108 | xencomm_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 | ||
113 | static inline long | 113 | static 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 | ||
1295 | void xen_hvm_init_shared_info(void) | 1295 | void __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 | */ |
269 | void xen_build_mfn_list_list(void) | 269 | void __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 | ||
621 | static irqreturn_t blkif_interrupt(int irq, void *dev_id) | 621 | static 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 { | |||
114 | static __initdata struct cpu_evtchn_s init_evtchn_mask = { | 114 | static __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 | }; |
117 | static struct cpu_evtchn_s *cpu_evtchn_mask_p = &init_evtchn_mask; | 117 | static struct cpu_evtchn_s __refdata *cpu_evtchn_mask_p = &init_evtchn_mask; |
118 | 118 | ||
119 | static inline unsigned long *cpu_evtchn_mask(int cpu) | 119 | static 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 | ||
54 | struct blkif_request { | 54 | struct 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 | ||
64 | struct 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 | |||
68 | struct blkif_response { | 74 | struct 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 */ |