mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Merge
This commit is contained in:
commit
af14d5a195
2 files changed
+2
-19
No files matched your search
@@ -319,11 +319,10 @@ static struct page_info* mem_sharing_alloc_page(struct domain *d,
|
||||
vcpu_pause_nosync(v);
|
||||
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
|
||||
}
|
||||
|
||||
|
||||
/* XXX: Need to reserve a request, not just check the ring! */
|
||||
if(mem_event_check_ring(d)) return page;
|
||||
|
||||
req.flags |= MEM_EVENT_FLAG_OUT_OF_MEM;
|
||||
req.gfn = gfn;
|
||||
req.p2mt = p2m_ram_shared;
|
||||
req.vcpu_id = v->vcpu_id;
|
||||
@@ -347,8 +346,6 @@ int mem_sharing_sharing_resume(struct domain *d)
|
||||
/* Unpause domain/vcpu */
|
||||
if( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
|
||||
vcpu_unpause(d->vcpu[rsp.vcpu_id]);
|
||||
if( rsp.flags & MEM_EVENT_FLAG_DOM_PAUSED )
|
||||
domain_unpause(d);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -23,21 +23,11 @@
|
||||
#ifndef _XEN_PUBLIC_MEM_EVENT_H
|
||||
#define _XEN_PUBLIC_MEM_EVENT_H
|
||||
|
||||
|
||||
#include "xen.h"
|
||||
#include "io/ring.h"
|
||||
|
||||
|
||||
/* Memory event notification modes */
|
||||
#define MEM_EVENT_MODE_ASYNC 0
|
||||
#define MEM_EVENT_MODE_SYNC (1 << 0)
|
||||
#define MEM_EVENT_MODE_SYNC_ALL (1 << 1)
|
||||
|
||||
/* Memory event flags */
|
||||
#define MEM_EVENT_FLAG_VCPU_PAUSED (1 << 0)
|
||||
#define MEM_EVENT_FLAG_DOM_PAUSED (1 << 1)
|
||||
#define MEM_EVENT_FLAG_OUT_OF_MEM (1 << 2)
|
||||
|
||||
|
||||
typedef struct mem_event_shared_page {
|
||||
uint32_t port;
|
||||
@@ -45,19 +35,15 @@ typedef struct mem_event_shared_page {
|
||||
|
||||
typedef struct mem_event_st {
|
||||
uint64_t gfn;
|
||||
uint64_t offset;
|
||||
uint32_t p2mt;
|
||||
int32_t vcpu_id;
|
||||
uint32_t vcpu_id;
|
||||
uint64_t flags;
|
||||
} mem_event_request_t, mem_event_response_t;
|
||||
|
||||
|
||||
DEFINE_RING_TYPES(mem_event, mem_event_request_t, mem_event_response_t);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* mode: C
|
||||
|
||||