#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
298971 |
|
03-May-2016 |
royger |
xen/i386: enable the platform hypercall for i386
Not sure why the platform hypercall was disabled on i386, just enable it in order to fix compilation of the PV timer on i386.
Sponsored by: Citrix Systems R&D
|
#
289033 |
|
08-Oct-2015 |
royger |
xen/console: Introduce a new console driver for Xen guest
The current Xen console driver is crashing very quickly when using it on an ARM guest. This is because the console lock is recursive and it may lead to recursion on the tty lock and/or corrupt the ring pointer.
Furthermore, the console lock is not always taken where it should be and has to be released too early because of the way the console has been designed.
Over the years, code has been modified to support various new features but the driver has not been reworked.
This new driver has been rewritten with the idea of only having a small set of specific function to write either via the shared ring or the hypercall interface.
Note that HVM support has been left aside for now because it requires additional features which are not yet supported. A follow-up patch will be sent with HVM guest support.
List of items that may be good to have but not mandatory: - Avoid to flush for each character written when using the tty - Support multiple consoles
Submitted by: Julien Grall <julien.grall@citrix.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D3698 Sponsored by: Citrix Systems R&D
|
#
282274 |
|
30-Apr-2015 |
jhb |
Remove support for Xen PV domU kernels. Support for HVM domU kernels remains. Xen is planning to phase out support for PV upstream since it is harder to maintain and has more overhead. Modern x86 CPUs include virtualization extensions that support HVM guests instead of PV guests. In addition, the PV code was i386 only and not as well maintained recently as the HVM code. - Remove the i386-only NATIVE option that was used to disable certain components for PV kernels. These components are now standard as they are on amd64. - Remove !XENHVM bits from PV drivers. - Remove various shims required for XEN (e.g. PT_UPDATES_FLUSH, LOAD_CR3, etc.) - Remove duplicate copy of <xen/features.h>. - Remove unused, i386-only xenstored.h.
Differential Revision: https://reviews.freebsd.org/D2362 Reviewed by: royger Tested by: royger (i386/amd64 HVM domU and amd64 PVH dom0) Relnotes: yes
|
#
273476 |
|
22-Oct-2014 |
royger |
xen: implement the privcmd user-space device
This device is only attached to priviledged domains, and allows the toolstack to interact with Xen. The two functions of the privcmd interface is to allow the execution of hypercalls from user-space, and the mapping of foreign domain memory.
Sponsored by: Citrix Systems R&D
i386/include/xen/hypercall.h: amd64/include/xen/hypercall.h: - Introduce a function to make generic hypercalls into Xen.
xen/interface/xen.h: xen/interface/memory.h: - Import the new hypercall XENMEM_add_to_physmap_range used by auto-translated guests to map memory from foreign domains.
dev/xen/privcmd/privcmd.c: - This device has the following functions: - Allow user-space applications to make hypercalls into Xen. - Allow user-space applications to map memory from foreign domains, this is accomplished using the newly introduced hypercall (XENMEM_add_to_physmap_range).
xen/privcmd.h: - Public ioctl interface for the privcmd device.
x86/xen/hvm.c: - Remove declaration of hypercall_page, now it's declared in hypercall.h.
conf/files: - Add the privcmd device to the build process.
|
#
263010 |
|
11-Mar-2014 |
royger |
xen: use the same hypercall mechanism for XEN and XENHVM
Currently XEN (PV) and XENHVM (PVHVM) ports use different ways to issue hypercalls, unify this by filling the hypercall_page under HVM also.
Approved by: gibbs Sponsored by: Citrix Systems R&D
amd64/include/xen/hypercall.h: - Unify Xen hypercall code by always using the PV way.
i386/i386/locore.s: - Define hypercall_page on i386 XENHVM.
x86/xen/hvm.c: - Fill hypercall_page on XENHVM kernels using the HVM method (only when running as an HVM guest).
|
#
216956 |
|
04-Jan-2011 |
rwatson |
Make "options XENHVM" compile for i386, not just amd64 -- a largely mechanical change. This opens the door for using PV device drivers under Xen HVM on i386, as well as more general harmonisation of i386 and amd64 Xen support in FreeBSD.
Reviewed by: cperciva MFC after: 3 weeks
|
#
215818 |
|
25-Nov-2010 |
cperciva |
Rename HYPERVISOR_multicall (which performs the multicall hypercall) to _HYPERVISOR_multicall, and create a new HYPERVISOR_multicall function which invokes _HYPERVISOR_multicall and checks that the individual hypercalls all succeeded.
|
#
181638 |
|
12-Aug-2008 |
kmacy |
Import xen sub-arch includes.
MFC after: 2 weeks
|