Home
last modified time | relevance | path

Searched refs:mmio (Results 1 – 12 of 12) sorted by relevance

/illumos-gate/usr/src/cmd/bhyve/amd64/
H A Dvmexit.c103 struct vm_mmio *mmio = &entry->u.mmio; in vmentry_mmio_read() local
108 mmio->bytes = bytes; in vmentry_mmio_read()
109 mmio->read = 1; in vmentry_mmio_read()
110 mmio->gpa = gpa; in vmentry_mmio_read()
111 mmio->data = data; in vmentry_mmio_read()
118 struct vm_mmio *mmio = &entry->u.mmio; in vmentry_mmio_write() local
123 mmio->bytes = bytes; in vmentry_mmio_write()
124 mmio->read = 0; in vmentry_mmio_write()
125 mmio->gpa = gpa; in vmentry_mmio_write()
126 mmio->data = 0; in vmentry_mmio_write()
[all …]
/illumos-gate/usr/src/test/bhyve-tests/tests/inst_emul/
H A Dimul.c40 if (vexit->u.mmio.read == 0) { in handle_test_mmio()
45 if (vexit->u.mmio.gpa < MMIO_TEST_BASE || in handle_test_mmio()
46 vexit->u.mmio.gpa >= MMIO_TEST_END) { in handle_test_mmio()
57 const uint16_t addr = vexit->u.mmio.gpa; in handle_test_mmio()
59 switch (vexit->u.mmio.bytes) { in handle_test_mmio()
/illumos-gate/usr/src/cmd/bhyve/common/
H A Dmem.c240 struct vm_mmio *mmio; in emulate_mem_cb() local
243 mmio = arg; in emulate_mem_cb()
245 if (mmio->read != 0) { in emulate_mem_cb()
246 err = mem_read(vcpu, paddr, &mmio->data, mmio->bytes, mr); in emulate_mem_cb()
248 err = mem_write(vcpu, paddr, mmio->data, mmio->bytes, mr); in emulate_mem_cb()
255 emulate_mem(struct vcpu *vcpu, struct vm_mmio *mmio) in emulate_mem() argument
257 return (access_memory(vcpu, mmio->gpa, emulate_mem_cb, mmio)); in emulate_mem()
H A Dmem.h55 int emulate_mem(struct vcpu *vcpu, struct vm_mmio *mmio);
/illumos-gate/usr/src/test/bhyve-tests/tests/common/
H A Din_guest.c225 vexit->u.mmio.bytes, in test_fail_vmexit()
226 vexit->u.mmio.read == 0 ? "write" : "read", in test_fail_vmexit()
227 vexit->u.mmio.gpa, in test_fail_vmexit()
228 vexit->u.mmio.data); in test_fail_vmexit()
632 bcopy(&vexit->u.mmio, &ventry->u.mmio, sizeof (struct vm_mmio)); in ventry_fulfill_mmio()
633 if (ventry->u.mmio.read != 0) { in ventry_fulfill_mmio()
634 ventry->u.mmio.data = data; in ventry_fulfill_mmio()
667 if (vexit->u.mmio.gpa != addr || in vexit_match_mmio()
668 vexit->u.mmio.bytes != len || in vexit_match_mmio()
669 (vexit->u.mmio.read != 0) != is_read) { in vexit_match_mmio()
[all …]
/illumos-gate/usr/src/uts/intel/io/amd8111s/
H A Damd8111s_hw.c306 unsigned long mmio = pLayerPointers->pMdl->Mem_Address; in mdlReadMib() local
308 WRITE_REG16(pLayerPointers, mmio + MIB_ADDR, MIB_RD_CMD | MIB_COUNTER); in mdlReadMib()
310 status = READ_REG16(pLayerPointers, mmio + MIB_ADDR); in mdlReadMib()
313 data = READ_REG32(pLayerPointers, mmio + MIB_DATA); in mdlReadMib()
323 unsigned long mmio = pLayerPointers->pMdl->Mem_Address; in mdlReadPHY() local
327 status = READ_REG16(pLayerPointers, mmio + PHY_ACCESS); in mdlReadPHY()
337 WRITE_REG32(pLayerPointers, mmio + PHY_ACCESS, data); in mdlReadPHY()
339 status = READ_REG16(pLayerPointers, mmio + PHY_ACCESS); in mdlReadPHY()
374 unsigned long mmio = pLayerPointers->pMdl->Mem_Address; in mdlWritePHY() local
378 status = READ_REG16(pLayerPointers, mmio + PHY_ACCESS); in mdlWritePHY()
[all …]
/illumos-gate/usr/src/uts/intel/sys/
H A Dvmm.h316 struct vm_mmio mmio; member
416 struct vm_mmio mmio; member
/illumos-gate/usr/src/uts/intel/io/vmm/io/
H A Dppt.c106 struct pptseg mmio[MAX_MMIOSEGS]; member
920 seg = &ppt->mmio[i]; in ppt_unmap_all_mmio()
1031 struct pptseg *seg = &ppt->mmio[i]; in ppt_is_mmio()
1205 struct pptseg *seg = &ppt->mmio[i]; in ppt_map_mmio()
1239 struct pptseg *seg = &ppt->mmio[i]; in ppt_unmap_mmio()
/illumos-gate/usr/src/uts/common/io/
H A Dmem.c285 mmio(struct uio *uio, enum uio_rw rw, pfn_t pfn, off_t pageoff, int allowio, in mmio() function
393 error = mmio(uio, rw, v, in mmrw()
435 error = mmio(uio, rw, v, uio->uio_loffset & PAGEOFFSET, in mmrw()
/illumos-gate/usr/src/uts/intel/io/vmm/
H A Dvmm_instruction_emul.c2674 vme->u.mmio.gpa = vie->mmio_req_read.gpa; in vie_exitinfo()
2675 vme->u.mmio.data = 0; in vie_exitinfo()
2676 vme->u.mmio.bytes = vie->mmio_req_read.bytes; in vie_exitinfo()
2677 vme->u.mmio.read = 1; in vie_exitinfo()
2679 vme->u.mmio.gpa = vie->mmio_req_write.gpa; in vie_exitinfo()
2680 vme->u.mmio.data = vie->mmio_req_write.data & in vie_exitinfo()
2682 vme->u.mmio.bytes = vie->mmio_req_write.bytes; in vie_exitinfo()
2683 vme->u.mmio.read = 0; in vie_exitinfo()
H A Dvmm.c2393 err = vie_fulfill_mmio(vie, &entry->u.mmio); in vm_entry_actions()
/illumos-gate/usr/src/cmd/bhyvectl/
H A Dbhyvectl.c188 vmexit->u.mmio.read ? "READ" : "WRITE"); in dump_vm_run_exitcode()
189 printf("\tbytes\t\t%d\n", vmexit->u.mmio.bytes); in dump_vm_run_exitcode()
190 printf("\tgpa\t\t0x%08x\n", vmexit->u.mmio.gpa); in dump_vm_run_exitcode()
191 printf("\tdata\t\t0x%08x\n", vmexit->u.mmio.data); in dump_vm_run_exitcode()