Home
last modified time | relevance | path

Searched refs:ioreq (Results 1 – 15 of 15) sorted by relevance

/xen/xen/include/asm-x86/hvm/
A Dvcpu.h94 static inline bool hvm_ioreq_needs_completion(const ioreq_t *ioreq) in hvm_ioreq_needs_completion() argument
96 return ioreq->state == STATE_IOREQ_READY && in hvm_ioreq_needs_completion()
97 !ioreq->data_is_ptr && in hvm_ioreq_needs_completion()
98 (ioreq->type != IOREQ_TYPE_PIO || ioreq->dir != IOREQ_WRITE); in hvm_ioreq_needs_completion()
A Ddomain.h55 struct hvm_ioreq_page ioreq; member
/xen/xen/include/public/hvm/
A Dioreq.h52 struct ioreq { struct
67 typedef struct ioreq ioreq_t; argument
70 struct ioreq vcpu_ioreq[1];
/xen/xen/include/asm-x86/
A Dtime.h41 struct ioreq;
42 int hwdom_pit_access(struct ioreq *ioreq);
A Dp2m.h360 } ioreq; member
812 if ( t == p2m_ioreq_server && p2m->ioreq.server != NULL ) in p2m_recalc_type_range()
957 p2m->ioreq.entry_count++; in p2m_entry_modify()
979 ASSERT(p2m->ioreq.entry_count > 0); in p2m_entry_modify()
980 p2m->ioreq.entry_count--; in p2m_entry_modify()
/xen/xen/arch/x86/hvm/
A Dioreq.c76 shared_iopage_t *p = s->ioreq.va; in get_ioreq()
109 ioreq_t *ioreq = &v->arch.hvm.hvm_io.io_req; in hvm_io_assist() local
111 if ( hvm_ioreq_needs_completion(ioreq) ) in hvm_io_assist()
112 ioreq->data = data; in hvm_io_assist()
311 struct hvm_ioreq_page *iorp = buf ? &s->bufioreq : &s->ioreq; in hvm_unmap_ioreq_gfn()
326 struct hvm_ioreq_page *iorp = buf ? &s->bufioreq : &s->ioreq; in hvm_map_ioreq_gfn()
485 if ( s->ioreq.va != NULL ) in hvm_update_ioreq_evtchn()
746 s->ioreq.gfn = INVALID_GFN; in hvm_ioreq_server_init()
922 *ioreq_gfn = gfn_x(s->ioreq.gfn); in hvm_get_ioreq_server_info()
977 *mfn = page_to_mfn(s->ioreq.page); in hvm_get_ioreq_server_frame()
[all …]
A DMakefile16 obj-y += ioreq.o
A Ddm.c501 while ( read_atomic(&p2m->ioreq.entry_count) && in dm_op()
/xen/xen/arch/x86/
A Demul-i8254.c571 ioreq_t ioreq = { in pv_pit_handler() local
582 if ( is_hardware_domain(current->domain) && hwdom_pit_access(&ioreq) ) in pv_pit_handler()
590 handle_speaker_io(ioreq.dir, port, 1, &val); in pv_pit_handler()
592 handle_pit_io(ioreq.dir, port, 1, &val); in pv_pit_handler()
593 ioreq.data = val; in pv_pit_handler()
596 return !write ? ioreq.data : 0; in pv_pit_handler()
A Dtime.c2216 int hwdom_pit_access(struct ioreq *ioreq) in hwdom_pit_access() argument
2222 switch ( ioreq->addr ) in hwdom_pit_access()
2225 if ( ioreq->dir == IOREQ_READ ) in hwdom_pit_access()
2226 ioreq->data = inb(PIT_CH2); in hwdom_pit_access()
2228 outb(ioreq->data, PIT_CH2); in hwdom_pit_access()
2232 if ( ioreq->dir == IOREQ_READ ) in hwdom_pit_access()
2234 switch ( ioreq->data & 0xc0 ) in hwdom_pit_access()
2242 ioreq->data &= ~0x09; in hwdom_pit_access()
2245 outb(ioreq->data, PIT_MODE); in hwdom_pit_access()
2251 if ( ioreq->dir == IOREQ_READ ) in hwdom_pit_access()
[all …]
/xen/xen/arch/x86/mm/
A Dp2m.c104 spin_lock_init(&p2m->ioreq.lock); in p2m_initialise()
378 spin_lock(&p2m->ioreq.lock); in p2m_set_ioreq_server()
387 p2m->ioreq.server = NULL; in p2m_set_ioreq_server()
388 p2m->ioreq.flags = 0; in p2m_set_ioreq_server()
405 p2m->ioreq.server = s; in p2m_set_ioreq_server()
406 p2m->ioreq.flags = flags; in p2m_set_ioreq_server()
412 spin_unlock(&p2m->ioreq.lock); in p2m_set_ioreq_server()
423 spin_lock(&p2m->ioreq.lock); in p2m_get_ioreq_server()
425 s = p2m->ioreq.server; in p2m_get_ioreq_server()
426 *flags = p2m->ioreq.flags; in p2m_get_ioreq_server()
[all …]
A Dp2m-pt.c87 if ( p2m->ioreq.flags & XEN_DMOP_IOREQ_MEM_ACCESS_WRITE ) in p2m_type_to_flags()
A Dp2m-ept.c108 entry->w = !(p2m->ioreq.flags & XEN_DMOP_IOREQ_MEM_ACCESS_WRITE); in ept_p2m_type_to_flags()
/xen/
A DMAINTAINERS547 F: xen/arch/x86/hvm/ioreq.c
550 F: xen/include/asm-x86/hvm/ioreq.h
551 F: xen/include/public/hvm/ioreq.h
/xen/xen/arch/x86/mm/hap/
A Dhap.c190 if ( log_global && read_atomic(&p2m->ioreq.entry_count) ) in hap_enable_log_dirty()

Completed in 29 milliseconds