forked from Minki/linux
f1c6872e49
* Allow a Linux guest to boot as initial domain and as normal guests on Xen on ARM (specifically ARMv7 with virtualized extensions). PV console, block and network frontend/backends are working. Bug-fixes: * Fix compile linux-next fallout. * Fix PVHVM bootup crashing. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAABAgAGBQJQbJELAAoJEFjIrFwIi8fJSI4H/32qrQKyF5IIkFKHTN9FYDC1 OxEGc4y47DIQpGUd/PgZ/i6h9Iyhj+I6pb4lCevykwgd0j83noepluZlCIcJnTfL HVXNiRIQKqFhqKdjTANxVM4APup+7Lqrvqj6OZfUuoxaZ3tSTLhabJ/7UXf2+9xy g2RfZtbSdQ1sukQ/A2MeGQNT79rh7v7PrYQUYSrqytjSjSLPTqRf75HWQ+eapIAH X3aVz8Tn6nTixZWvZOK7rAaD4awsFxGP6E46oFekB02f4x9nWHJiCZiXwb35lORb tz9F9td99f6N4fPJ9LgcYTaCPwzVnceZKqE9hGfip4uT+0WrEqDxq8QmBqI5YtI= =gxJD -----END PGP SIGNATURE----- Merge tag 'stable/for-linus-3.7-arm-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen Pull ADM Xen support from Konrad Rzeszutek Wilk: Features: * Allow a Linux guest to boot as initial domain and as normal guests on Xen on ARM (specifically ARMv7 with virtualized extensions). PV console, block and network frontend/backends are working. Bug-fixes: * Fix compile linux-next fallout. * Fix PVHVM bootup crashing. The Xen-unstable hypervisor (so will be 4.3 in a ~6 months), supports ARMv7 platforms. The goal in implementing this architecture is to exploit the hardware as much as possible. That means use as little as possible of PV operations (so no PV MMU) - and use existing PV drivers for I/Os (network, block, console, etc). This is similar to how PVHVM guests operate in X86 platform nowadays - except that on ARM there is no need for QEMU. The end result is that we share a lot of the generic Xen drivers and infrastructure. Details on how to compile/boot/etc are available at this Wiki: http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions and this blog has links to a technical discussion/presentations on the overall architecture: http://blog.xen.org/index.php/2012/09/21/xensummit-sessions-new-pvh-virtualisation-mode-for-arm-cortex-a15arm-servers-and-x86/ * tag 'stable/for-linus-3.7-arm-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (21 commits) xen/xen_initial_domain: check that xen_start_info is initialized xen: mark xen_init_IRQ __init xen/Makefile: fix dom-y build arm: introduce a DTS for Xen unprivileged virtual machines MAINTAINERS: add myself as Xen ARM maintainer xen/arm: compile netback xen/arm: compile blkfront and blkback xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree xen/arm: receive Xen events on ARM xen/arm: initialize grant_table on ARM xen/arm: get privilege status xen/arm: introduce CONFIG_XEN on ARM xen: do not compile manage, balloon, pci, acpi, pcpu and cpu_hotplug on ARM xen/arm: Introduce xen_ulong_t for unsigned long xen/arm: Xen detection and shared_info page mapping docs: Xen ARM DT bindings xen/arm: empty implementation of grant_table arch specific functions xen/arm: sync_bitops xen/arm: page.h definitions xen/arm: hypercalls ...
67 lines
1.7 KiB
C
67 lines
1.7 KiB
C
/******************************************************************************
|
|
* version.h
|
|
*
|
|
* Xen version, type, and compile information.
|
|
*
|
|
* Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
|
|
* Copyright (c) 2005, Keir Fraser <keir@xensource.com>
|
|
*/
|
|
|
|
#ifndef __XEN_PUBLIC_VERSION_H__
|
|
#define __XEN_PUBLIC_VERSION_H__
|
|
|
|
/* NB. All ops return zero on success, except XENVER_version. */
|
|
|
|
/* arg == NULL; returns major:minor (16:16). */
|
|
#define XENVER_version 0
|
|
|
|
/* arg == xen_extraversion_t. */
|
|
#define XENVER_extraversion 1
|
|
struct xen_extraversion {
|
|
char extraversion[16];
|
|
};
|
|
#define XEN_EXTRAVERSION_LEN (sizeof(struct xen_extraversion))
|
|
|
|
/* arg == xen_compile_info_t. */
|
|
#define XENVER_compile_info 2
|
|
struct xen_compile_info {
|
|
char compiler[64];
|
|
char compile_by[16];
|
|
char compile_domain[32];
|
|
char compile_date[32];
|
|
};
|
|
|
|
#define XENVER_capabilities 3
|
|
struct xen_capabilities_info {
|
|
char info[1024];
|
|
};
|
|
#define XEN_CAPABILITIES_INFO_LEN (sizeof(struct xen_capabilities_info))
|
|
|
|
#define XENVER_changeset 4
|
|
struct xen_changeset_info {
|
|
char info[64];
|
|
};
|
|
#define XEN_CHANGESET_INFO_LEN (sizeof(struct xen_changeset_info))
|
|
|
|
#define XENVER_platform_parameters 5
|
|
struct xen_platform_parameters {
|
|
xen_ulong_t virt_start;
|
|
};
|
|
|
|
#define XENVER_get_features 6
|
|
struct xen_feature_info {
|
|
unsigned int submap_idx; /* IN: which 32-bit submap to return */
|
|
uint32_t submap; /* OUT: 32-bit submap */
|
|
};
|
|
|
|
/* Declares the features reported by XENVER_get_features. */
|
|
#include <xen/interface/features.h>
|
|
|
|
/* arg == NULL; returns host memory page size. */
|
|
#define XENVER_pagesize 7
|
|
|
|
/* arg == xen_domain_handle_t. */
|
|
#define XENVER_guest_handle 8
|
|
|
|
#endif /* __XEN_PUBLIC_VERSION_H__ */
|