Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 619848bd authored by Jake Oshins's avatar Jake Oshins Committed by Greg Kroah-Hartman
Browse files

drivers:hv: Export a function that maps Linux CPU num onto Hyper-V proc num



This patch exposes the mapping between Linux CPU number and Hyper-V virtual
processor number.  This is necessary because the hypervisor needs to know which
virtual processors to target when making a mapping in the Interrupt Redirection
Table in the I/O MMU.

Signed-off-by: default avatarJake Oshins <jakeo@microsoft.com>
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 17efbee8
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
@@ -1193,6 +1193,23 @@ int vmbus_allocate_mmio(struct resource **new, struct hv_device *device_obj,
}
}
EXPORT_SYMBOL_GPL(vmbus_allocate_mmio);
EXPORT_SYMBOL_GPL(vmbus_allocate_mmio);


/**
 * vmbus_cpu_number_to_vp_number() - Map CPU to VP.
 * @cpu_number: CPU number in Linux terms
 *
 * This function returns the mapping between the Linux processor
 * number and the hypervisor's virtual processor number, useful
 * in making hypercalls and such that talk about specific
 * processors.
 *
 * Return: Virtual processor number in Hyper-V terms
 */
int vmbus_cpu_number_to_vp_number(int cpu_number)
{
	return hv_context.vp_index[cpu_number];
}
EXPORT_SYMBOL_GPL(vmbus_cpu_number_to_vp_number);

static int vmbus_acpi_add(struct acpi_device *device)
static int vmbus_acpi_add(struct acpi_device *device)
{
{
	acpi_status result;
	acpi_status result;
+2 −0
Original line number Original line Diff line number Diff line
@@ -983,6 +983,8 @@ int vmbus_allocate_mmio(struct resource **new, struct hv_device *device_obj,
			resource_size_t size, resource_size_t align,
			resource_size_t size, resource_size_t align,
			bool fb_overlap_ok);
			bool fb_overlap_ok);


int vmbus_cpu_number_to_vp_number(int cpu_number);

/**
/**
 * VMBUS_DEVICE - macro used to describe a specific hyperv vmbus device
 * VMBUS_DEVICE - macro used to describe a specific hyperv vmbus device
 *
 *