diff options
Diffstat (limited to 'include/xen/interface')
-rw-r--r-- | include/xen/interface/event_channel.h | 1 | ||||
-rw-r--r-- | include/xen/interface/features.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/blkif.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/console.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/protocols.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/ring.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/xenbus.h | 1 | ||||
-rw-r--r-- | include/xen/interface/io/xs_wire.h | 1 | ||||
-rw-r--r-- | include/xen/interface/memory.h | 1 | ||||
-rw-r--r-- | include/xen/interface/nmi.h | 1 | ||||
-rw-r--r-- | include/xen/interface/vcpu.h | 42 | ||||
-rw-r--r-- | include/xen/interface/version.h | 1 | ||||
-rw-r--r-- | include/xen/interface/xenpmu.h | 1 |
13 files changed, 54 insertions, 0 deletions
diff --git a/include/xen/interface/event_channel.h b/include/xen/interface/event_channel.h index 7e6acef5415b..45650c9a06d5 100644 --- a/include/xen/interface/event_channel.h +++ b/include/xen/interface/event_channel.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * event_channel.h * diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h index 6ad3d110bb81..9b0eb574f0d1 100644 --- a/include/xen/interface/features.h +++ b/include/xen/interface/features.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * features.h * diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h index 8b8cfadf7833..5e40041c7e95 100644 --- a/include/xen/interface/io/blkif.h +++ b/include/xen/interface/io/blkif.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * blkif.h * diff --git a/include/xen/interface/io/console.h b/include/xen/interface/io/console.h index e563de70f784..85ca8b02695a 100644 --- a/include/xen/interface/io/console.h +++ b/include/xen/interface/io/console.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * console.h * diff --git a/include/xen/interface/io/protocols.h b/include/xen/interface/io/protocols.h index 545a14ba0bb3..6a89dc1bf225 100644 --- a/include/xen/interface/io/protocols.h +++ b/include/xen/interface/io/protocols.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __XEN_PROTOCOLS_H__ #define __XEN_PROTOCOLS_H__ diff --git a/include/xen/interface/io/ring.h b/include/xen/interface/io/ring.h index e547088ceb0e..3f40501fc60b 100644 --- a/include/xen/interface/io/ring.h +++ b/include/xen/interface/io/ring.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * ring.h * diff --git a/include/xen/interface/io/xenbus.h b/include/xen/interface/io/xenbus.h index 9fda532973a5..aaf2951b1cce 100644 --- a/include/xen/interface/io/xenbus.h +++ b/include/xen/interface/io/xenbus.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /***************************************************************************** * xenbus.h * diff --git a/include/xen/interface/io/xs_wire.h b/include/xen/interface/io/xs_wire.h index 794deb07eb53..1517c7e93a3a 100644 --- a/include/xen/interface/io/xs_wire.h +++ b/include/xen/interface/io/xs_wire.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /* * Details of the "wire" protocol between Xen Store Daemon and client * library or guest kernel. diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h index 9aa8988cb340..583dd93b3016 100644 --- a/include/xen/interface/memory.h +++ b/include/xen/interface/memory.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * memory.h * diff --git a/include/xen/interface/nmi.h b/include/xen/interface/nmi.h index b47d9d06fade..73d9b0a2974e 100644 --- a/include/xen/interface/nmi.h +++ b/include/xen/interface/nmi.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * nmi.h * diff --git a/include/xen/interface/vcpu.h b/include/xen/interface/vcpu.h index 98188c87f5c1..504c71601511 100644 --- a/include/xen/interface/vcpu.h +++ b/include/xen/interface/vcpu.h @@ -178,4 +178,46 @@ DEFINE_GUEST_HANDLE_STRUCT(vcpu_register_vcpu_info); /* Send an NMI to the specified VCPU. @extra_arg == NULL. */ #define VCPUOP_send_nmi 11 + +/* + * Get the physical ID information for a pinned vcpu's underlying physical + * processor. The physical ID informmation is architecture-specific. + * On x86: id[31:0]=apic_id, id[63:32]=acpi_id. + * This command returns -EINVAL if it is not a valid operation for this VCPU. + */ +#define VCPUOP_get_physid 12 /* arg == vcpu_get_physid_t */ +struct vcpu_get_physid { + uint64_t phys_id; +}; +DEFINE_GUEST_HANDLE_STRUCT(vcpu_get_physid); +#define xen_vcpu_physid_to_x86_apicid(physid) ((uint32_t)(physid)) +#define xen_vcpu_physid_to_x86_acpiid(physid) ((uint32_t)((physid) >> 32)) + +/* + * Register a memory location to get a secondary copy of the vcpu time + * parameters. The master copy still exists as part of the vcpu shared + * memory area, and this secondary copy is updated whenever the master copy + * is updated (and using the same versioning scheme for synchronisation). + * + * The intent is that this copy may be mapped (RO) into userspace so + * that usermode can compute system time using the time info and the + * tsc. Usermode will see an array of vcpu_time_info structures, one + * for each vcpu, and choose the right one by an existing mechanism + * which allows it to get the current vcpu number (such as via a + * segment limit). It can then apply the normal algorithm to compute + * system time from the tsc. + * + * @extra_arg == pointer to vcpu_register_time_info_memory_area structure. + */ +#define VCPUOP_register_vcpu_time_memory_area 13 +DEFINE_GUEST_HANDLE_STRUCT(vcpu_time_info); +struct vcpu_register_time_memory_area { + union { + GUEST_HANDLE(vcpu_time_info) h; + struct pvclock_vcpu_time_info *v; + uint64_t p; + } addr; +}; +DEFINE_GUEST_HANDLE_STRUCT(vcpu_register_time_memory_area); + #endif /* __XEN_PUBLIC_VCPU_H__ */ diff --git a/include/xen/interface/version.h b/include/xen/interface/version.h index 145f12f9ecec..8772b552c006 100644 --- a/include/xen/interface/version.h +++ b/include/xen/interface/version.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ /****************************************************************************** * version.h * diff --git a/include/xen/interface/xenpmu.h b/include/xen/interface/xenpmu.h index 139efc91bceb..ad603eab24b3 100644 --- a/include/xen/interface/xenpmu.h +++ b/include/xen/interface/xenpmu.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __XEN_PUBLIC_XENPMU_H__ #define __XEN_PUBLIC_XENPMU_H__ |