mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-20 04:33:55 +00:00
rename 'req_buf' field in 'struct vm_sw_info'
- rename it to 'io_shared_page' to keep consistent with ACRN HDL foils. - update related code that reference this data structure. Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
This commit is contained in:
parent
0d5405a648
commit
e12210a014
@ -353,7 +353,7 @@ int dm_emulate_mmio_post(struct vcpu *vcpu)
|
|||||||
int cur = vcpu->vcpu_id;
|
int cur = vcpu->vcpu_id;
|
||||||
struct vhm_request_buffer *req_buf;
|
struct vhm_request_buffer *req_buf;
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.req_buf);
|
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.io_shared_page);
|
||||||
|
|
||||||
vcpu->req.reqs.mmio_request.value =
|
vcpu->req.reqs.mmio_request.value =
|
||||||
req_buf->req_queue[cur].reqs.mmio_request.value;
|
req_buf->req_queue[cur].reqs.mmio_request.value;
|
||||||
|
@ -169,7 +169,7 @@ int create_vm(struct vm_description *vm_desc, struct vm **rtn_vm)
|
|||||||
|
|
||||||
/* Populate return VM handle */
|
/* Populate return VM handle */
|
||||||
*rtn_vm = vm;
|
*rtn_vm = vm;
|
||||||
vm->sw.req_buf = NULL;
|
vm->sw.io_shared_page = NULL;
|
||||||
|
|
||||||
status = set_vcpuid_entries(vm);
|
status = set_vcpuid_entries(vm);
|
||||||
if (status)
|
if (status)
|
||||||
|
@ -44,7 +44,7 @@ int dm_emulate_pio_post(struct vcpu *vcpu)
|
|||||||
0xFFFFFFFFul >> (32 - 8 * vcpu->req.reqs.pio_request.size);
|
0xFFFFFFFFul >> (32 - 8 * vcpu->req.reqs.pio_request.size);
|
||||||
uint64_t *rax;
|
uint64_t *rax;
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.req_buf);
|
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.io_shared_page);
|
||||||
|
|
||||||
rax = &vcpu->arch_vcpu.contexts[cur_context].guest_cpu_regs.regs.rax;
|
rax = &vcpu->arch_vcpu.contexts[cur_context].guest_cpu_regs.regs.rax;
|
||||||
vcpu->req.reqs.pio_request.value =
|
vcpu->req.reqs.pio_request.value =
|
||||||
|
@ -212,7 +212,7 @@ int64_t hcall_resume_vm(uint64_t vmid)
|
|||||||
|
|
||||||
if (target_vm == NULL)
|
if (target_vm == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
if (target_vm->sw.req_buf == NULL)
|
if (target_vm->sw.io_shared_page == NULL)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
else
|
else
|
||||||
ret = start_vm(target_vm);
|
ret = start_vm(target_vm);
|
||||||
@ -342,11 +342,11 @@ int64_t hcall_set_ioreq_buffer(struct vm *vm, uint64_t vmid, uint64_t param)
|
|||||||
hpa = gpa2hpa(vm, iobuf.req_buf);
|
hpa = gpa2hpa(vm, iobuf.req_buf);
|
||||||
if (hpa == 0) {
|
if (hpa == 0) {
|
||||||
pr_err("%s: invalid GPA.\n", __func__);
|
pr_err("%s: invalid GPA.\n", __func__);
|
||||||
target_vm->sw.req_buf = NULL;
|
target_vm->sw.io_shared_page = NULL;
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_vm->sw.req_buf = HPA2HVA(hpa);
|
target_vm->sw.io_shared_page = HPA2HVA(hpa);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -360,7 +360,8 @@ static void complete_request(struct vcpu *vcpu)
|
|||||||
if (vcpu->state == VCPU_ZOMBIE) {
|
if (vcpu->state == VCPU_ZOMBIE) {
|
||||||
struct vhm_request_buffer *req_buf;
|
struct vhm_request_buffer *req_buf;
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)vcpu->vm->sw.req_buf;
|
req_buf = (struct vhm_request_buffer *)
|
||||||
|
vcpu->vm->sw.io_shared_page;
|
||||||
req_buf->req_queue[vcpu->vcpu_id].valid = false;
|
req_buf->req_queue[vcpu->vcpu_id].valid = false;
|
||||||
atomic_store_rel_32(&vcpu->ioreq_pending, 0);
|
atomic_store_rel_32(&vcpu->ioreq_pending, 0);
|
||||||
|
|
||||||
@ -392,7 +393,7 @@ int64_t hcall_notify_req_finish(uint64_t vmid, uint64_t vcpu_id)
|
|||||||
struct vm *target_vm = get_vm_from_vmid(vmid);
|
struct vm *target_vm = get_vm_from_vmid(vmid);
|
||||||
|
|
||||||
/* make sure we have set req_buf */
|
/* make sure we have set req_buf */
|
||||||
if (!target_vm || target_vm->sw.req_buf == NULL)
|
if (!target_vm || target_vm->sw.io_shared_page == NULL)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
dev_dbg(ACRN_DBG_HYCALL, "[%d] NOTIFY_FINISH for vcpu %d",
|
dev_dbg(ACRN_DBG_HYCALL, "[%d] NOTIFY_FINISH for vcpu %d",
|
||||||
@ -401,7 +402,7 @@ int64_t hcall_notify_req_finish(uint64_t vmid, uint64_t vcpu_id)
|
|||||||
vcpu = vcpu_from_vid(target_vm, vcpu_id);
|
vcpu = vcpu_from_vid(target_vm, vcpu_id);
|
||||||
ASSERT(vcpu != NULL, "Failed to get VCPU context.");
|
ASSERT(vcpu != NULL, "Failed to get VCPU context.");
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)target_vm->sw.req_buf;
|
req_buf = (struct vhm_request_buffer *)target_vm->sw.io_shared_page;
|
||||||
req = req_buf->req_queue + vcpu_id;
|
req = req_buf->req_queue + vcpu_id;
|
||||||
|
|
||||||
if (req->valid &&
|
if (req->valid &&
|
||||||
@ -826,10 +827,10 @@ int acrn_insert_request_wait(struct vcpu *vcpu, struct vhm_request *req)
|
|||||||
"vhm_request page broken!");
|
"vhm_request page broken!");
|
||||||
|
|
||||||
|
|
||||||
if (!vcpu || !req || vcpu->vm->sw.req_buf == NULL)
|
if (!vcpu || !req || vcpu->vm->sw.io_shared_page == NULL)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.req_buf);
|
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.io_shared_page);
|
||||||
|
|
||||||
/* ACRN insert request to VHM and inject upcall */
|
/* ACRN insert request to VHM and inject upcall */
|
||||||
cur = vcpu->vcpu_id;
|
cur = vcpu->vcpu_id;
|
||||||
@ -860,10 +861,10 @@ int acrn_insert_request_nowait(struct vcpu *vcpu, struct vhm_request *req)
|
|||||||
struct vhm_request_buffer *req_buf;
|
struct vhm_request_buffer *req_buf;
|
||||||
long cur;
|
long cur;
|
||||||
|
|
||||||
if (!vcpu || !req || !vcpu->vm->sw.req_buf)
|
if (!vcpu || !req || !vcpu->vm->sw.io_shared_page)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.req_buf);
|
req_buf = (struct vhm_request_buffer *)(vcpu->vm->sw.io_shared_page);
|
||||||
|
|
||||||
/* ACRN insert request to VHM and inject upcall */
|
/* ACRN insert request to VHM and inject upcall */
|
||||||
cur = vcpu->vcpu_id;
|
cur = vcpu->vcpu_id;
|
||||||
@ -944,7 +945,7 @@ int get_req_info(char *str, int str_max)
|
|||||||
spinlock_obtain(&vm_list_lock);
|
spinlock_obtain(&vm_list_lock);
|
||||||
list_for_each(pos, &vm_list) {
|
list_for_each(pos, &vm_list) {
|
||||||
vm = list_entry(pos, struct vm, list);
|
vm = list_entry(pos, struct vm, list);
|
||||||
req_buf = (struct vhm_request_buffer *)vm->sw.req_buf;
|
req_buf = (struct vhm_request_buffer *)vm->sw.io_shared_page;
|
||||||
if (req_buf) {
|
if (req_buf) {
|
||||||
for (i = 0; i < VHM_REQUEST_MAX; i++) {
|
for (i = 0; i < VHM_REQUEST_MAX; i++) {
|
||||||
req = req_buf->req_queue + i;
|
req = req_buf->req_queue + i;
|
||||||
|
@ -76,8 +76,8 @@ struct vm_sw_info {
|
|||||||
struct sw_kernel_info kernel_info;
|
struct sw_kernel_info kernel_info;
|
||||||
/* Additional information specific to Linux guests */
|
/* Additional information specific to Linux guests */
|
||||||
struct sw_linux linux_info;
|
struct sw_linux linux_info;
|
||||||
/* HVA to guest OS's request buffer */
|
/* HVA to IO shared page */
|
||||||
void *req_buf;
|
void *io_shared_page;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct vm_pm_info {
|
struct vm_pm_info {
|
||||||
|
Loading…
Reference in New Issue
Block a user