[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v4 00/31] Introduce HVM without dm and new boot ABI



This series is split in the following order:

 - Patch 1 is a fixup of the error paths in libxl__build_hvm and related
   functions (and can go in independently of the rest of the series).
 - Patches from 2 to 11 switch HVM domain contruction to use the xc_dom_*
   family of functions, like they are used to build PV domains. This batch
   of patches can go in regardless of the status of the rest of the series
   IMHO, and in fact would help me quite a lot with the rebasing.
 - Patches from 12 to 22 allow disabling the devices emulated inside of Xen.
 - Patches from 23 to 31 introduce the creation of HVM guests without a
   device model and without the devices emulated inside of Xen.

This series has been successfully tested on the following hardware:

 - Intel Xeon W3550.
 - AMD Opteron 4184.

With both hap=0 and hap=1 in the configuration file. I've been able to boot
a SMP guest in this mode with a virtual hard drive and a virtual network
card, all working fine AFAICT.

For this round only maintainers of the specific code being modified have
been Cced on the patches.

The series can also be found in the following git repo:

git://xenbits.xen.org/people/royger/xen.git branch hvm_without_dm_v4

And for the FreeBSD part:

git://xenbits.xen.org/people/royger/freebsd.git branch new_entry_point_v3

In case someone wants to give it a try, I've uploaded a FreeBSD kernel that
should work when booted into this mode:

https://people.freebsd.org/~royger/kernel_no_dm

This FreeBSD kernel starts the APs in long mode. There are examples for 
starting the APs in other modes in the sys/x86/xen/pv.c file.

The config file that I've used is:

<config>
kernel="/path/to/kernel_no_dm"

builder="hvm"
device_model_version="none"

memory=128
vcpus=2
name = "freebsd"
</config>

Of course if you have a FreeBSD disk already setup it can also be added to
the configuration file, and the following line can be used to point FreeBSD
to the disk:

extra="vfs.root.mountfrom=ufs:/dev/ufsid/<disk_id>"

N  01/31 libxl: fix libxl__build_hvm error handling
AW 02/31 libxc: split x86 HVM setup_guest into smaller
AW 03/31 libxc: unify xc_dom_p2m_{host/guest}
AW 04/31 libxc: introduce the notion of a container type
AW 05/31 libxc: introduce a domain loader for HVM guest
AW 06/31 libxc: make arch_setup_meminit a xc_dom_arch hook
AW 07/31 libxc: make arch_setup_boot{init/late} xc_dom_arch
M  08/31 libxc: rework BSP initialization
M  09/31 libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
M  10/31 libxl: switch HVM domain building to use xc_dom_*
   11/31 libxc: remove dead HVM building code
M  12/31 xen/x86: add bitmap of enabled emulated devices
   13/31 xen/x86: allow disabling the emulated local apic
   14/31 xen/x86: allow disabling the emulated HPET
   15/31 xen/x86: allow disabling the pmtimer
   16/31 xen/x86: allow disabling the emulated RTC
   17/31 xen/x86: allow disabling the emulated IO APIC
   18/31 xen/x86: allow disabling the emulated PIC
   19/31 xen/x86: allow disabling the emulated pmu
   20/31 xen/x86: allow disabling the emulated VGA
   21/31 xen/x86: allow disabling the emulated IOMMU
   22/31 xen/x86: allow disabling all emulated devices inside
   23/31 elfnotes: intorduce a new PHYS_ENTRY elfnote
M  24/31 libxc: allow creating domains without emulated
   25/31 xen: allow HVM guests to use XENMEM_memory_map
M  26/31 xen/x86: allow HVM guests to use hypercalls to bring
M  27/31 xenconsole: try to attach to PV console if HVM fails
   28/31 libxc/xen: introduce HVM_PARAM_CMDLINE_PFN
   29/31 libxc/xen: introduce HVM_PARAM_MODLIST_PFN
   30/31 libxc: switch xc_dom_elfloader to be used with
M  31/31 libxl: allow the creation of HVM domains without a

A = Acked/Reviewed by Andrew Cooper.
W = Acked/Reviewed by Wei Liu.
N = New in this version.
M = Modified in this version.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.