#
31b117be |
| 26-Oct-2014 |
Neel Natu <neel@FreeBSD.org> |
Don't pass the 'error' return from an I/O port handler directly to vm_run().
Most I/O port handlers return -1 to signal an error. If this value is returned without modification to vm_run() then it l
Don't pass the 'error' return from an I/O port handler directly to vm_run().
Most I/O port handlers return -1 to signal an error. If this value is returned without modification to vm_run() then it leads to incorrect behavior because '-1' is interpreted as ERESTART at the system call level.
Fix this by always returning EIO to signal an error from an I/O port handler.
MFC after: 1 week
show more ...
|
#
ee7b0571 |
| 19-Aug-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head from 7/28
|
Revision tags: release/9.3.0 |
|
#
6cec9cad |
| 03-Jun-2014 |
Peter Grehan <grehan@FreeBSD.org> |
MFC @ r266724
An SVM update will follow this.
|
#
65ffa035 |
| 27-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Add segment protection and limits violation checks in vie_calculate_gla() for 32-bit x86 guests.
Tested using ins/outs executed in a FreeBSD/i386 guest.
|
#
ae0780bb |
| 25-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Remove restriction on insb/insw/insl emulation. These instructions are properly emulated.
|
#
5382c19d |
| 25-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Do the linear address calculation for the ins/outs emulation using a new API function 'vie_calculate_gla()'.
While the current implementation is simplistic it forms the basis of doing segmentation c
Do the linear address calculation for the ins/outs emulation using a new API function 'vie_calculate_gla()'.
While the current implementation is simplistic it forms the basis of doing segmentation checks if the guest is in 32-bit protected mode.
show more ...
|
#
da11f4aa |
| 25-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Add libvmmapi functions vm_copyin() and vm_copyout() to copy into and out of the guest linear address space. These APIs in turn use a new ioctl 'VM_GLA2GPA' to convert the guest linear address to gue
Add libvmmapi functions vm_copyin() and vm_copyout() to copy into and out of the guest linear address space. These APIs in turn use a new ioctl 'VM_GLA2GPA' to convert the guest linear address to guest physical.
Use the new copyin/copyout APIs when emulating ins/outs instruction in bhyve(8).
show more ...
|
#
e813a873 |
| 24-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Consolidate all the information needed by the guest page table walker into 'struct vm_guest_paging'.
Check for canonical addressing in vmm_gla2gpa() and inject a protection fault into the guest if a
Consolidate all the information needed by the guest page table walker into 'struct vm_guest_paging'.
Check for canonical addressing in vmm_gla2gpa() and inject a protection fault into the guest if a violation is detected.
If the page table walk is restarted in vmm_gla2gpa() then reset 'ptpphys' to point to the root of the page tables.
show more ...
|
#
a7424861 |
| 23-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Check for alignment check violation when processing in/out string instructions.
|
#
d17b5104 |
| 23-May-2014 |
Neel Natu <neel@FreeBSD.org> |
Add emulation of the "outsb" instruction. NetBSD guests use this to write to the UART FIFO.
The emulation is constrained in a number of ways: 64-bit only, doesn't check for all exception conditions,
Add emulation of the "outsb" instruction. NetBSD guests use this to write to the UART FIFO.
The emulation is constrained in a number of ways: 64-bit only, doesn't check for all exception conditions, limited to i/o ports emulated in userspace.
Some of these constraints will be relaxed in followup commits.
Requested by: grehan Reviewed by: tychon (partially and a much earlier version)
show more ...
|
#
414fdaf0 |
| 21-May-2014 |
Alan Somers <asomers@FreeBSD.org> |
IFC @266473
|
#
3b8f0845 |
| 28-Apr-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head
|
#
84e51a1b |
| 23-Apr-2014 |
Alan Somers <asomers@FreeBSD.org> |
IFC @264767
|
#
82c2c890 |
| 22-Apr-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Factor out common ioport handler code for better hygiene -- pointed out by neel@.
Approved by: neel (co-mentor)
|
#
d6aa08c3 |
| 18-Apr-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Respect the destination operand size of the 'Input from Port' instruction.
Approved by: grehan (co-mentor)
|
#
79d6ca33 |
| 18-Apr-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Add support for reading the PIT Counter 2 output signal via the NMI Status and Control register at port 0x61.
Be more conservative about "catching up" callouts that were supposed to fire in the past
Add support for reading the PIT Counter 2 output signal via the NMI Status and Control register at port 0x61.
Be more conservative about "catching up" callouts that were supposed to fire in the past by skipping an interrupt if it was scheduled too far in the past.
Restore the PIT ACPI DSDT entries and add an entry for NMISC too.
Approved by: neel (co-mentor)
show more ...
|
#
1709ccf9 |
| 29-Mar-2014 |
Martin Matuska <mm@FreeBSD.org> |
Merge head up to r263906.
|
#
e883c9bb |
| 25-Mar-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Move the atpit device model from userspace into vmm.ko for better precision and lower latency.
Approved by: grehan (co-mentor)
|
#
762fd208 |
| 11-Mar-2014 |
Tycho Nightingale <tychon@FreeBSD.org> |
Replace the userspace atpic stub with a more functional vmm.ko model.
New ioctls VM_ISA_ASSERT_IRQ, VM_ISA_DEASSERT_IRQ and VM_ISA_PULSE_IRQ can be used to manipulate the pic, and optionally the ioa
Replace the userspace atpic stub with a more functional vmm.ko model.
New ioctls VM_ISA_ASSERT_IRQ, VM_ISA_DEASSERT_IRQ and VM_ISA_PULSE_IRQ can be used to manipulate the pic, and optionally the ioapic, pin state.
Reviewed by: jhb, neel Approved by: neel (co-mentor)
show more ...
|