RE: [PATCH V2 3/4] vmbus: add per-channel sysfs info

2018-10-18 Thread Michael Kelley
>From Olaf Hering Sent: Thursday, October 18, 2018 8:20 AM > > > This extends existing vmbus related sysfs structure to provide per-channel > > state information. This is useful when diagnosing issues with multiple > > queues in networking and storage. > > > +++ b/drivers/hv/vmbus_drv.c > > +stat

RE: [PATCH V2 1/5] Drivers: hv: vmbus: Get rid of unnecessary state in hv_context

2018-10-24 Thread Michael Kelley
global state in struct hv_context. > Get rid of this state in struct hv_context. > > Signed-off-by: K. Y. Srinivasan > --- > drivers/hv/hv.c | 10 +++--- > drivers/hv/hyperv_vmbus.h | 2 -- > 2 files changed, 3 insertions(+), 9 deletio

RE: [PATCH V2 3/5] Drivers: hv: kvp: Fix the recent regression caused by incorrect clean-up

2018-10-24 Thread Michael Kelley
Srinivasan > --- > drivers/hv/hv_kvp.c | 26 ++ > 1 file changed, 22 insertions(+), 4 deletions(-) > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

[PATCH v3 0/4] Subject: Enable Linux guests on Hyper-V on ARM64

2018-11-02 Thread Michael Kelley
-next code Changes in v2: * Removed patch to implement slow_virt_to_phys() on ARM64. Use of slow_virt_to_phys() in arch independent Hyper-V drivers has been eliminated by commit 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()") * Minor tweaks to rebase to latest

[PATCH v3 2/4] arm64: hyperv: Add support for Hyper-V as a hypervisor

2018-11-02 Thread Michael Kelley
This code is architecture dependent code and is mostly driven by architecture independent code in the VMbus driver in drivers/hv/hv.c and drivers/hv/vmbus_drv.c. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- MAINTAINERS | 1 + arch/

[PATCH v3 1/4] arm64: hyperv: Add core Hyper-V include files

2018-11-02 Thread Michael Kelley
-generic. Signed-off-by: Michael Kelley --- MAINTAINERS | 3 + arch/arm64/include/asm/hyperv-tlfs.h | 338 +++ arch/arm64/include/asm/mshyperv.h| 116 include/asm-generic/mshyperv.h | 240 + 4

[PATCH v3 3/4] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-11-02 Thread Michael Kelley
ff-by: Michael Kelley --- arch/x86/include/asm/mshyperv.h | 4 drivers/hv/hv.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index 0d6271c..8d97bd3 100644 --- a/arch/x86/include/asm/mshyperv.h +++ b/arc

[PATCH v3 4/4] Drivers: hv: Enable CONFIG_HYPERV on ARM64

2018-11-02 Thread Michael Kelley
Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on ARM64, causing the Hyper-V specific code to be built. Signed-off-by: Michael Kelley --- drivers/hv/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 97954f5

[PATCH v2 1/2] i8253: Add support for PIT shutdown quirk

2018-11-03 Thread Michael Kelley
ro'ed, which platform specific code can override. Signed-off-by: Michael Kelley --- drivers/clocksource/i8253.c | 14 -- include/linux/i8253.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/clocksource/i8253.c b/drivers/clocksource/i82

[PATCH v2 0/2] i8253: Fix PIT shutdown quirk on Hyper-V

2018-11-03 Thread Michael Kelley
able to control whether the counter register is zero'ed. [Juergen Gross & Thomas Gleixner] Michael Kelley (2): i8253: Add support for PIT shutdown quirk x86/hyper-v: Enable PIT shutdown quirk arch/x86/kernel/cpu/mshyperv.c | 11 +++ drivers/clocksource/i8253.c| 14 +

[PATCH v2 2/2] x86/hyper-v: Enable PIT shutdown quirk

2018-11-03 Thread Michael Kelley
Hyper-V emulation of the PIT has a quirk such that the normal PIT shutdown path doesn't work. Enable the PIT code that handles this quirk. Signed-off-by: Michael Kelley --- arch/x86/kernel/cpu/mshyperv.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch/x86/kerne

RE: [PATCH 3/4] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-11-26 Thread Michael Kelley
From: Greg KH Monday, November 26, 2018 11:21 AM > > diff --git a/arch/x86/include/asm/mshyperv.h > > b/arch/x86/include/asm/mshyperv.h > > index 0d6271cce198..8d97bd3a13a6 100644 > > --- a/arch/x86/include/asm/mshyperv.h > > +++ b/arch/x86/include/asm/mshyperv.h > > @@ -109,6 +109,10 @@ void h

RE: [PATCH 3/4] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-11-26 Thread Michael Kelley
From: Greg KH Monday, November 26, 2018 11:57 AM > > > You created "null" hooks that do nothing, for no one in this patch > > > series, why? > > > > > > > hv_enable_vmbus_irq() and hv_disable_vmbus_irq() have non-null > > implementations in the ARM64 code in patch 2 of this series. The > > impl

RE: [PATCH 3/4] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-12-02 Thread Michael Kelley
From: Will Deacon Sent: Tuesday, November 27, 2018 2:19 AM > > > The general approach is for patches 1 and 2 of the series to provide > > > all the new code under arch/arm64 to enable Hyper-V. But the code > > > won't get called (or even built) with just these two patches because > > > CONFIG_

RE: [PATCH 1/4] arm64: hyperv: Add core Hyper-V include files

2018-12-11 Thread Michael Kelley
ndows/reference/tlfs > > > > mshyperv.h defines Linux-specific structures and routines for > > interacting with Hyper-V. It is split into an ARM64 specific file > > and an architecture independent file in include/asm-generic. > > > > Signed-off-by: Michael Kelley &

RE: [PATCH 2/4] arm64: hyperv: Add support for Hyper-V as a hypervisor

2018-12-11 Thread Michael Kelley
yered patches in the next version. > > > This code is architecture dependent code and is mostly driven by > > architecture independent code in the VMbus driver in drivers/hv/hv.c > > and drivers/hv/vmbus_drv.c. > > > > This code is built only when CONFIG_HYPER

[PATCH 1/1] scsi: storvsc: Always use blk-mq

2018-12-19 Thread Michael Kelley
With high IOPS storage being increasingly prevalent for guests on Hyper-V and in Azure, make blk-mq the default so that the full performance of the storage can be realized without having to tweak other configuration settings. Signed-off-by: Michael Kelley --- drivers/scsi/storvsc_drv.c | 1 + 1

[PATCH 1/1] x86/hyper-v: Fix 'set but not used' warnings

2018-12-21 Thread Michael Kelley
In these two cases, a value returned by rdmsr() or rdmsrl() is ignored. Indicate that ignoring the value is intentional, so that with the W=1 compilation option no warning is generated. Signed-off-by: Michael Kelley --- arch/x86/hyperv/hv_apic.c | 2 +- arch/x86/hyperv/hv_spinlock.c | 2

RE: [PATCH 2/4] arm64: hyperv: Add support for Hyper-V as a hypervisor

2019-01-04 Thread Michael Kelley
From: Marc Zyngier Sent: Thursday, December 13, 2018 3:23 AM > >> As Will said, this isn't a viable option. Please follow SMCCC 1.1. > > > > I'll have to start a conversation with the Hyper-V team about this. > > I don't know why they chose to use HVC #1 or this register scheme > > for output va

RE: [PATCH v2] Drivers: hv: vmbus: Expose counters for interrupts and full conditions

2019-01-05 Thread Michael Kelley
From: Kimberly Brown Sent: Friday, January 4, 2019 8:35 PM > static inline void set_channel_pending_send_size(struct vmbus_channel *c, >u32 size) > { > + if (size) { > + ++c->out_full_total; > + > + if (!c->out_full_f

RE: [PATCH v2] vmbus: Switch to use new generic UUID API

2019-01-13 Thread Michael Kelley
rs/hv/channel_mgmt.c | 18 +++ > drivers/hv/hyperv_vmbus.h | 4 +- > drivers/hv/vmbus_drv.c| 48 +++ > include/linux/hyperv.h| 98 +++---- > 5 files changed, 79 insertions(+), 93 deletions(-) Reviewed-by: Michae

RE: [PATCH v3] Drivers: hv: vmbus: Expose counters for interrupts and full conditions

2019-01-17 Thread Michael Kelley
.c | 14 - > drivers/hv/vmbus_drv.c | 32 > include/linux/hyperv.h | 38 > 4 files changed, 116 insertions(+), 1 deletion(-) > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH hyperv-fixes,1/3] Fix ethtool change hash key error

2019-01-18 Thread Michael Kelley
f RSS indirection table") > Reported-by: Wei Hu > Signed-off-by: Haiyang Zhang > --- > drivers/net/hyperv/rndis_filter.c | 25 +++-- > 1 file changed, 19 insertions(+), 6 deletions(-) > Reviewed-by: Michael Kelley ___ d

RE: [PATCH hyperv-fixes,2/3] Refactor assignments of struct netvsc_device_info

2019-01-18 Thread Michael Kelley
> drivers/net/hyperv/netvsc_drv.c | 134 > 1 file changed, 85 insertions(+), 49 deletions(-) > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH hyperv-fixes, 3/3] Fix hash key value reset after other ops

2019-01-18 Thread Michael Kelley
t/hyperv/netvsc.c | 2 +- > drivers/net/hyperv/netvsc_drv.c | 5 - > drivers/net/hyperv/rndis_filter.c | 9 +++-- > 4 files changed, 19 insertions(+), 7 deletions(-) > Reviewed-by: Michael Kelley __

RE: [PATCH 2/4] arm64: hyperv: Add support for Hyper-V as a hypervisor

2019-01-20 Thread Michael Kelley
From: Michael Kelley Sent: Friday, January 4, 2019 12:05 PM > > > >> As Will said, this isn't a viable option. Please follow SMCCC 1.1. > > > > > > I'll have to start a conversation with the Hyper-V team about this. > > > I don't

RE: [PATCH] nfit: add Hyper-V NVDIMM DSM command set to white list

2019-01-26 Thread Michael Kelley
+- > include/uapi/linux/ndctl.h | 1 + > 3 files changed, 10 insertions(+), 2 deletions(-) > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH v2 1/2] PCI: hv: Replace hv_vp_set with hv_vpset

2019-01-26 Thread Michael Kelley
r > of struct hv_pcibus_device. > > Signed-off-by: Maya Nakamura > --- > Change in v2: > - None > Right -- there was no code change. But it's customary to note that you updated the commit message. Reviewed-by: Michael Kelley

RE: [PATCH v2 2/2] PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()

2019-01-26 Thread Michael Kelley
From: Maya Nakamura Sent: Saturday, January 26, 2019 12:55 AM > > @@ -953,29 +951,27 @@ static void hv_irq_unmask(struct irq_data *data) >*/ > params->int_target.flags |= > HV_DEVICE_INTERRUPT_TARGET_PROCESSOR_SET; > - params->int_t

RE: [PATCH v3 1/2] PCI: hv: Replace hv_vp_set with hv_vpset

2019-01-29 Thread Michael Kelley
uct hv_pcibus_device. > > Signed-off-by: Maya Nakamura > --- > Change in v3: > - Correct the v2 change log. > > Change in v2: > - Update the commit message. > Reviewed-by: Michael Kelley ___ devel mailing list de...@li

RE: [PATCH v3 2/2] PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()

2019-01-29 Thread Michael Kelley
essary dev_err()'s. > - Unlock before returning. > - Update the commit message. > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH] Drivers: hv: vmbus: Add mutex lock to channel show functions

2019-01-31 Thread Michael Kelley
From: Sasha Levin Sent: Thursday, January 31, 2019 7:20 AM > > I've queued this one for hyper-fixes, thanks all! > Actually, please hold off on queuing this one. In a conversation I had yesterday with Kim, they had identified a deadlock. Kim was going to be looking at some revisions to avoi

RE: [PATCH V2 1/3] x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available

2019-02-03 Thread Michael Kelley
From: lantianyu1...@gmail.com Sent: Saturday, February 2, 2019 5:15 AM > > Hyper-V doesn't provide irq remapping for IO-APIC. To enable x2apic, > set x2apic destination mode to physcial mode when x2apic is available > and Hyper-V IOMMU driver makes sure cpus assigned with IO-APIC irqs have > 8-

RE: [PATCH v4] Drivers: hv: vmbus: Expose counters for interrupts and full conditions

2019-02-04 Thread Michael Kelley
easonable amount when the Hyper-v related drivers were in use. > > Signed-off-by: Kimberly Brown > --- > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH v2 1/2] PCI: hv: Replace hv_vp_set with hv_vpset

2019-02-12 Thread Michael Kelley
From: Lorenzo Pieralisi Sent: Tuesday, February 12, 2019 8:35 AM > > On Mon, Jan 28, 2019 at 09:49:32PM -0800, Maya Nakamura wrote: > > On Sun, Jan 27, 2019 at 05:11:48AM +0000, Michael Kelley wrote: > > > From: Maya Nakamura Sent: Saturday, January >

RE: [PATCH v2 1/2] PCI: hv: Replace hv_vp_set with hv_vpset

2019-02-15 Thread Michael Kelley
From: Lorenzo Pieralisi Sent: Friday, February 15, 2019 2:27 AM > > I will add Michael's tag to v3 (unless Michael is not happy with that), > it is missing there. > Yes, please add. Thanks. Michae ___ devel mailing list de...@linuxdriverproject.org

RE: [PATCH v2 1/2] Drivers: hv: vmbus: Change server monitor_pages index to 0

2019-02-20 Thread Michael Kelley
er > --- > drivers/hv/vmbus_drv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH v2 2/2] Drivers: hv: vmbus: Return -EINVAL if monitor_allocated not set

2019-02-20 Thread Michael Kelley
ther monitor pages have been allocated to a channel. In the affected > "_show" functions, verify that "channel->offermsg.monitor_allocated" is > set before accessing the monitor id or the monitor page data. If > "channel->offermsg.monit

RE: [PATCH V4 1/3] x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available

2019-02-21 Thread Michael Kelley
PIC irqs have > 8-bit APIC id. > > Reviewed-by: Thomas Gleixner > Signed-off-by: Lan Tianyu > --- > Change since v2: >- Fix compile error due to x2apic_phys >- Fix comment indent > Change since v1: >- Remove redundant extern

RE: [PATCH V5 0/3] x86/Hyper-V/IOMMU: Add Hyper-V IOMMU driver to support x2apic mode

2019-02-25 Thread Michael Kelley
we're hoping that it can get into linux-next this week (given the extra week due to 5.0-rc8). Thanks, Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH V6 1/3] x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available

2019-02-27 Thread Michael Kelley
e > 8-bit APIC id. > > Reviewed-by: Thomas Gleixner > Reviewed-by: Michael Kelley > Signed-off-by: Lan Tianyu > --- > Change since v5: >- Fix comile error due to x2apic_phys > > Change since v2: >- Fix compile error due to x2apic_ph

RE: [PATCH 3/3] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary

2019-03-20 Thread Michael Kelley
From: Dexuan Cui Sent: Monday, March 4, 2019 1:35 PM > > diff --git a/drivers/pci/controller/pci-hyperv.c > b/drivers/pci/controller/pci-hyperv.c > index b489412e3502..82acd6155adf 100644 > --- a/drivers/pci/controller/pci-hyperv.c > +++ b/drivers/pci/controller/pci-hyperv.c > @@ -1776,6 +1776,

RE: [PATCH 2/3] PCI: hv: Add hv_pci_remove_slots() when we unload the driver

2019-03-20 Thread Michael Kelley
reporting serial number as slot > information") > Signed-off-by: Dexuan Cui > Acked-by: Stephen Hemminger > Cc: sta...@vger.kernel.org Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH 1/3] PCI: hv: Fix a memory leak in hv_eject_device_work()

2019-03-20 Thread Michael Kelley
From: Dexuan Cui > > After a device is just created in new_pcichild_device(), hpdev->refs is set > to 2 (i.e. the initial value of 1 plus the get_pcichild()). > > When we hot remove the device from the host, in Linux VM we first call > hv_pci_eject_device(), which increases hpdev->refs by get_pci

RE: [PATCH 3/3] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary

2019-03-26 Thread Michael Kelley
From: Dexuan Cui Sent: Wednesday, March 20, 2019 5:36 PM > > > From: Michael Kelley > > > ... > > > diff --git a/drivers/pci/controller/pci-hyperv.c > > > @@ -1776,6 +1776,10 @@ static void pci_devices_present_work(struct > > work_struct *work) > &g

RE: [PATCH 1/3] PCI: hv: Fix a memory leak in hv_eject_device_work()

2019-03-26 Thread Michael Kelley
From: Lorenzo Pieralisi Sent: Tuesday, March 26, 2019 10:09 AM > On Thu, Mar 21, 2019 at 12:12:03AM +, Dexuan Cui wrote: > > > From: Michael Kelley > > > Sent: Wednesday, March 20, 2019 2:38 PM > > > > > > From: Dexuan Cui > >

[PATCH v4 6/8] arm64: hyperv: Initialize hypervisor on boot

2019-08-06 Thread Michael Kelley
Add ARM64-specific code to initialize the Hyper-V hypervisor when booting as a guest VM. Provide functions and data structures indicating hypervisor status that are needed by VMbus driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64

[PATCH v4 3/8] arm64: hyperv: Add memory alloc/free functions for Hyper-V size pages

2019-08-06 Thread Michael Kelley
attempt is made to combine freed pages into larger chunks. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv/hv_init.c| 68 ++ include/asm-generic/mshyperv.h | 5 2 files changed, 73 insertions

[PATCH v4 4/8] arm64: hyperv: Add interrupt handlers for VMbus and stimer

2019-08-06 Thread Michael Kelley
built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv/Makefile | 2 +- arch/arm64/hyperv/mshyperv.c | 139 +++ 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/hyperv/mshyperv.c diff

[PATCH v4 8/8] Drivers: hv: Enable Hyper-V code to be built on ARM64

2019-08-06 Thread Michael Kelley
Update drivers/hv/Kconfig so CONFIG_HYPERV and CONFIG_HYPERV_TSCPAGE can be selected on ARM64, causing the Hyper-V specific code to be built. Signed-off-by: Michael Kelley --- drivers/hv/Kconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/hv/Kconfig b

[PATCH v4 2/8] arm64: hyperv: Add hypercall and register access functions

2019-08-06 Thread Michael Kelley
mostly driven by architecture independent code in the VMbus driver and the Hyper-V timer clocksource driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- MAINTAINERS | 1 + arch/arm64/Makefile | 1 + arch/arm64/hyperv

[PATCH v4 0/8] Enable Linux guests on Hyper-V on ARM64

2019-08-06 Thread Michael Kelley
;Drivers: hv: vmbus: Remove use of slow_virt_to_phys()") * Minor tweaks to rebase to latest linux-next code Michael Kelley (8): arm64: hyperv: Add core Hyper-V include files arm64: hyperv: Add hypercall and register access functions arm64: hyperv: Add memory alloc/free functions for

[PATCH v4 5/8] arm64: hyperv: Add kexec and panic handlers

2019-08-06 Thread Michael Kelley
Add functions to set up and remove kexec and panic handlers, and to inform Hyper-V about a guest panic. These functions are called from architecture independent code in the VMbus driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv

[PATCH v4 7/8] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2019-08-06 Thread Michael Kelley
ff-by: Michael Kelley --- arch/x86/include/asm/mshyperv.h | 4 drivers/hv/hv.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index f4138ae..583e1ce 100644 --- a/arch/x86/include/asm/mshyperv.h +++ b/arc

[PATCH v4 1/8] arm64: hyperv: Add core Hyper-V include files

2019-08-06 Thread Michael Kelley
-generic. Signed-off-by: Michael Kelley --- MAINTAINERS | 2 + arch/arm64/include/asm/hyperv-tlfs.h | 408 +++ arch/arm64/include/asm/mshyperv.h| 105 + 3 files changed, 515 insertions(+) create mode 100644 arch/arm64/include/asm

RE: [PATCH v4 0/8] Enable Linux guests on Hyper-V on ARM64

2019-08-27 Thread Michael Kelley
From: Michael Kelley Sent: Tuesday, August 6, 2019 1:31 PM > > This series enables Linux guests running on Hyper-V on ARM64 > hardware. New ARM64-specific code in arch/arm64/hyperv initializes > Hyper-V, including its interrupts and hypercall mechanism. > Existing architect

[PATCH v5 5/8] arm64: hyperv: Add kexec and panic handlers

2019-10-03 Thread Michael Kelley
Add functions to set up and remove kexec and panic handlers, and to inform Hyper-V about a guest panic. These functions are called from architecture independent code in the VMbus driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv

[PATCH v5 1/8] arm64: hyperv: Add core Hyper-V include files

2019-10-03 Thread Michael Kelley
-generic. Signed-off-by: Michael Kelley --- MAINTAINERS | 2 + arch/arm64/include/asm/hyperv-tlfs.h | 408 +++ arch/arm64/include/asm/mshyperv.h| 105 + 3 files changed, 515 insertions(+) create mode 100644 arch/arm64/include/asm

[PATCH v5 3/8] arm64: hyperv: Add memory alloc/free functions for Hyper-V size pages

2019-10-03 Thread Michael Kelley
attempt is made to combine freed pages into larger chunks. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv/hv_init.c| 68 ++ include/asm-generic/mshyperv.h | 5 2 files changed, 73 insertions

[PATCH v5 0/8] Enable Linux guests on Hyper-V on ARM64

2019-10-03 Thread Michael Kelley
nt Hyper-V drivers has been eliminated by commit 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()") * Minor tweaks to rebase to latest linux-next code Michael Kelley (8): arm64: hyperv: Add core Hyper-V include files arm64: hyperv: Add hypercall and register access func

[PATCH v5 2/8] arm64: hyperv: Add hypercall and register access functions

2019-10-03 Thread Michael Kelley
mostly driven by architecture independent code in the VMbus driver and the Hyper-V timer clocksource driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- MAINTAINERS | 1 + arch/arm64/Kbuild | 1 + arch/arm64/hyperv

[PATCH v5 4/8] arm64: hyperv: Add interrupt handlers for VMbus and stimer

2019-10-03 Thread Michael Kelley
built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64/hyperv/Makefile | 2 +- arch/arm64/hyperv/mshyperv.c | 139 +++ 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/hyperv/mshyperv.c diff

[PATCH v5 7/8] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2019-10-03 Thread Michael Kelley
ff-by: Michael Kelley --- arch/x86/include/asm/mshyperv.h | 4 drivers/hv/hv.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index f4138ae..583e1ce 100644 --- a/arch/x86/include/asm/mshyperv.h +++ b/arc

[PATCH v5 8/8] Drivers: hv: Enable Hyper-V code to be built on ARM64

2019-10-03 Thread Michael Kelley
Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on ARM64, causing the Hyper-V specific code to be built. Signed-off-by: Michael Kelley --- drivers/hv/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 79e5356

[PATCH v5 6/8] arm64: hyperv: Initialize hypervisor on boot

2019-10-03 Thread Michael Kelley
Add ARM64-specific code to initialize the Hyper-V hypervisor when booting as a guest VM. Provide functions and data structures indicating hypervisor status that are needed by VMbus driver. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley --- arch/arm64

RE: [PATCH v5 2/8] arm64: hyperv: Add hypercall and register access functions

2019-11-05 Thread Michael Kelley
From: Boqun Feng Sent: Sunday, November 3, 2019 8:37 PM > > > diff --git a/arch/arm64/Kbuild b/arch/arm64/Kbuild > > index d646582..2469421 100644 > > --- a/arch/arm64/Kbuild > > +++ b/arch/arm64/Kbuild > > @@ -3,4 +3,5 @@ obj-y += kernel/ mm/ > > obj-$(CONFIG_NET) += net/

RE: [PATCH v5 2/8] arm64: hyperv: Add hypercall and register access functions

2019-11-06 Thread Michael Kelley
From: Marc Zyngier Sent: Wednesday, November 6, 2019 2:20 AM > > On 2019-10-03 20:12, Michael Kelley wrote: > > Add ARM64-specific code to make Hyper-V hypercalls and to > > access virtual processor synthetic registers via hypercalls. > > Hypercalls use a Hyper-V specif

RE: [PATCH v5 3/8] arm64: hyperv: Add memory alloc/free functions for Hyper-V size pages

2019-11-08 Thread Michael Kelley
From: Marc Zyngier Sent: Thursday, November 7, 2019 6:20 AM > > +/* > > + * Functions for allocating and freeing memory with size and > > + * alignment HV_HYP_PAGE_SIZE. These functions are needed because > > + * the guest page size may not be the same as the Hyper-V page > > + * size. And while

RE: [PATCH v5 2/8] arm64: hyperv: Add hypercall and register access functions

2019-11-11 Thread Michael Kelley
From: Marc Zyngier Sent: Thursday, November 7, 2019 1:11 AM > >> > >> On 2019-10-03 20:12, Michael Kelley wrote: > >> > Add ARM64-specific code to make Hyper-V hypercalls and to > >> > access virtual processor synthetic registers via hypercalls. > &

RE: [PATCH] vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()

2019-04-12 Thread Michael Kelley
.org > Cc: Stephen Hemminger > Signed-off-by: Dexuan Cui Reviewed-by: Michael Kelley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

RE: [PATCH] Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE

2019-05-07 Thread Michael Kelley
> hypervisor writes data to the wrong location). > > Fixes: 6ba34171bcbd ("Drivers: hv: vmbus: Remove use of slow_virt_to_phys()") > Cc: sta...@vger.kernel.org > Cc: Michael Kelley > Reported-and-tested-by: Juliana Rodrigueiro > > Signed-off

RE: [PATCH] PCI: hv: Fix a use-after-free bug in hv_eject_device_work()

2019-06-21 Thread Michael Kelley
From: Dexuan Cui Sent: Friday, June 21, 2019 12:02 PM > > The commit 05f151a73ec2 itself is correct, but it exposes this > use-after-free bug, which is caught by some memory debug options. > > Add the Fixes tag to indicate the dependency. > > Fixes: 05f151a73ec2 ("PCI: hv: Fix a memory leak in

RE: [PATCH v2] PCI: hv: Fix a use-after-free bug in hv_eject_device_work()

2019-06-21 Thread Michael Kelley
: hv: Fix a memory leak in hv_eject_device_work()") > Signed-off-by: Dexuan Cui > Cc: sta...@vger.kernel.org > --- > > In v2: > Replaced "hpdev->hbus" with "hbus", since we have the new "hbus" variable. > [Michael > Kelley] > >

RE: [PATCH] x86/hyper-v: Zero out the VP assist page to fix CPU offlining

2019-07-07 Thread Michael Kelley
r the VP ASSIST PAGE is disabled in hv_cpu_die(). > + */ > if (!*hvp) > - *hvp = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL); > + *hvp = __vmalloc(PAGE_SIZE, GFP_KERNEL | __GFP_ZERO, > + PAGE_KERNEL); > > if (*hvp) { > u64 val; > -- > 2.19.1 Reviewed-by: Michael Kelley

RE: [PATCH v2] x86/hyper-v: Zero out the VP ASSIST PAGE to fix CPU offlining

2019-07-30 Thread Michael Kelley
r* the > + * EOI optimization is disabled in hv_cpu_die(), otherwise a CPU may > + * not be stopped in the case of CPU offlining and the VM will hang. > + */ > if (!*hvp) > - *hvp = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL); > + *hvp = __vmalloc(PAGE_SIZE, GFP_KERNEL | __GFP_ZERO, > + PAGE_KERNEL); > > if (*hvp) { > u64 val; > -- > 2.19.1 Reviewed-by: Michael Kelley

[PATCH char-misc 1/1] x86/hyperv: Add interrupt handler annotations

2018-04-03 Thread Michael Kelley
Add standard interrupt handler annotations to hyperv_vector_handler(). Signed-off-by: Michael Kelley --- arch/x86/kernel/cpu/mshyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c index 4488cf0..20f6849

[PATCH 1/1] scsi: storvsc: Avoid allocating memory for temp cpumasks

2018-05-17 Thread Michael Kelley
Current code allocates 240 Kbytes (in typical configs) for each synthetic SCSI controller to use as temp cpumask variables. Recode to avoid needing the temp cpumask variables and remove the memory allocation. Signed-off-by: Michael Kelley --- This patch is for the 4.18/scsi-queue branch and

[PATCH 4/5] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-06-19 Thread Michael Kelley
ff-by: Michael Kelley Reviewed-by: James Morris --- arch/x86/include/asm/mshyperv.h | 4 drivers/hv/hv.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index 3cd1431..27d0e83 100644 --- a/arch/x86/includ

[PATCH 5/5] Drivers: hv: Enable CONFIG_HYPERV on ARM64

2018-06-19 Thread Michael Kelley
Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on ARM64, causing the Hyper-V specific code to be built. Signed-off-by: Michael Kelley Reviewed-by: James Morris --- drivers/hv/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hv/Kconfig b/drivers

[PATCH 2/5] arm64: hyperv: Add core Hyper-V include files

2018-06-19 Thread Michael Kelley
formally published. The TLFS is available here: docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs mshyperv.h defines Linux-specific structures and routines for interacting with Hyper-V on ARM64. Signed-off-by: Michael Kelley Reviewed-by: James Morris --- MAINTAINERS

[PATCH 1/5] arm64: mm: Add slow_virt_to_phys()

2018-06-19 Thread Michael Kelley
Add slow_virt_to_phys() function for ARM64 that parallels the same function on x86/x64. This is needed by the architecture independent Hyper-V VMbus driver at drivers/hv/channel.c. The implementation directly translates the virtual address using the ARM64 'at' instruction. Signed-off-b

[PATCH 0/5] Enable Linux guests on Hyper-V on ARM64

2018-06-19 Thread Michael Kelley
hing more generic, so the code uses the Hyper-V terminology. This will be fixed when Hyper-V updates the usage in the TLFS. Michael Kelley (5): arm64: mm: Add slow_virt_to_phys() arm64: hyperv: Add core Hyper-V include files arm64: hyperv: Add support for Hyper-V as a hypervisor Drivers:

[PATCH 3/5] arm64: hyperv: Add support for Hyper-V as a hypervisor

2018-06-19 Thread Michael Kelley
This code is architecture dependent code and is mostly driven by architecture independent code in the VMbus driver in drivers/hv/hv.c and drivers/hv/vmbus_drv.c. This code is built only when CONFIG_HYPERV is enabled. Signed-off-by: Michael Kelley Reviewed-by: James Morris --- MAINTA

[PATCH net-next 1/1] netvsc: Add #include's for csum_* function declarations

2017-05-30 Thread Michael Kelley
Add direct #include statements for declarations of csum_tcpudp_magic() and csum_ipv6_magic(). While the needed #include's are picked up indirectly for the x86 architecture, they aren't on other architectures, resulting in compile errors. Signed-off-by: Michael Kelley --- drivers/

[PATCH char-misc 1/1] Drivers: hv: vmbus: Fix ring buffer signaling

2018-02-10 Thread Michael Kelley
03bad714a161 ("vmbus: more host signalling avoidance") Signed-off-by: Michael Kelley --- drivers/hv/ring_buffer.c | 24 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c index 50e0714..b64be18 100644

[PATCH v2 char-misc 1/1] Drivers: hv: vmbus: Fix ring buffer signaling

2018-02-16 Thread Michael Kelley
03bad714a161 ("vmbus: more host signalling avoidance") Signed-off-by: Michael Kelley --- Changes in v2: * Restructured to do signaling calcuations only if needed. Makes the most common path faster [KY Srinivasan, Steve Hemminger] * Moved bytes read calculation to new routine hv_pk

[PATCH char-misc 1/1] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

2018-03-11 Thread Michael Kelley
/x64 don't use an IRQ. Signed-off-by: Michael Kelley --- arch/x86/include/asm/mshyperv.h | 4 drivers/hv/hv.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index e73c4d0..b73b839 100644 --- a/arc

RE: [PATCH AUTOSEL 6.1 3/7] x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor callback

2024-03-12 Thread Michael Kelley
From: Pavel Machek Sent: Tuesday, March 12, 2024 1:35 PM > > > In preparation for temporarily marking pages not present during a > > transition between encrypted and decrypted, use slow_virt_to_phys() > > in the hypervisor callback. As long as the PFN is correct, > > This seems to be preparation

RE: [PATCH 10/13] x86/hyper-v: Add HvFlushGuestAddressList hypercall support

2018-09-11 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Monday, September 10, 2018 1:39 AM > + > +int hyperv_flush_guest_mapping_range(u64 as, struct kvm_tlb_range *range) I'm really concerned about defining the Hyper-V function to flush guest mappings in terms of a KVM struct definition. Your patch puts this function in arch/x

RE: [PATCH] Drivers: hv: vmbus: include header for get_irq_regs()

2018-09-15 Thread Michael Kelley (EOSG)
From Sebastian Andrzej Siewior Sent: Thursday, August 30, 2018 12:55 AM > > On !RT the header file get_irq_regs() gets pulled in via other header files. > On > RT it does not and the build fails: > > drivers/hv/vmbus_drv.c:975 implicit declaration of function > ‘get_irq_regs’ [- > Werror=

RE: [PATCH] x86/hyperv: suppress "PCI: Fatal: No config space access function found"

2018-09-19 Thread Michael Kelley (EOSG)
Dexuan Cui > Cc: K. Y. Srinivasan > Cc: Haiyang Zhang > Cc: Stephen Hemminger > --- > arch/x86/hyperv/hv_init.c | 19 +++ > 1 file changed, 19 insertions(+) > Reviewed-by: Michael Kelley ___ devel ma

RE: [PATCH V2 2/13] KVM/MMU: Add tlb flush with range helper function

2018-09-19 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Monday, September 17, 2018 8:18 PM > > +static void kvm_flush_remote_tlbs_with_range(struct kvm *kvm, > + struct kvm_tlb_range *range) > +{ > + int ret = -ENOTSUPP; > + > + if (range && kvm_x86_ops->tlb_remote_flush_with_range) { > + /* > +

RE: [PATCH V2 4/13] KVM/MMU: Flush tlb directly in the kvm_handle_hva_range()

2018-09-19 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Monday, September 17, 2018 8:19 PM > + > + if (ret && kvm_available_flush_tlb_with_range()) { > + kvm_flush_remote_tlbs_with_address(kvm, > + gfn_start, > +

RE: [PATCH V2 10/13] x86/hyper-v: Add HvFlushGuestAddressList hypercall support

2018-09-19 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Monday, September 17, 2018 8:19 PM > > #include > #include > #include > #include > +#include Hopefully asm/kvm_host.h does not need to be #included, given the new code structure. > > #include > > +/* > + * MAX_FLUSH_PAGES = "additional_pages" + 1. It's limite

RE: [PATCH V2 4/13] KVM/MMU: Flush tlb directly in the kvm_handle_hva_range()

2018-09-20 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Thursday, September 20, 2018 7:30 AM > On 9/20/2018 12:08 AM, Michael Kelley (EOSG) wrote: > > From: Tianyu Lan Sent: Monday, September 17, 2018 8:19 PM > >> + > >> + if (ret &&

RE: [PATCH -next] x86/hyper-v: Remove unused including

2018-09-23 Thread Michael Kelley (EOSG)
From: YueHaibing Sent: Sunday, September 23, 2018 1:20 AM > Remove including that don't need it. > > Signed-off-by: YueHaibing > --- > arch/x86/hyperv/hv_apic.c | 1 - > 1 file changed, 1 deletion(-) > Reviewed-by: Michael Kelley ___

RE: [PATCH V3 10/13] x86/hyper-v: Add HvFlushGuestAddressList hypercall support

2018-09-26 Thread Michael Kelley (EOSG)
From: Tianyu Lan Sent: Wednesday, September 26, 2018 8:50 PM > > Hyper-V provides HvFlushGuestAddressList() hypercall to flush EPT tlb > with specified ranges. This patch is to add the hypercall support. > > Signed-off-by: Lan Tianyu > Looks good! Reviewed-b

RE: [PATCH char-misc 1/1] Drivers: hv: vmbus: Implement Direct Mode for stimer0

2017-11-01 Thread Michael Kelley (EOSG)
It's fixed. Michael -Original Message- From: Thomas Gleixner [mailto:t...@linutronix.de] Sent: Wednesday, November 1, 2017 9:20 AM To: Michael Kelley (EOSG) Cc: gre...@linuxfoundation.org; LKML ; de...@linuxdriverproject.org; o...@aepfle.de; a...@canonical.com; vkuzn...@redha

RE: [PATCH char-misc 1/1] Drivers: hv: vmbus: Implement Direct Mode for stimer0

2017-11-30 Thread Michael Kelley (EOSG)
Vitaly Kuznetsov writes: > Vitaly Kuznetsov writes: > > > mikel...@exchange.microsoft.com writes: > > > >> From: Michael Kelley > >> > >> The 2016 version of Hyper-V offers the option to operate the guest VM > >> per-vcpu stimer's

RE: [PATCH char-misc 1/1] Drivers: hv: vmbus: Implement Direct Mode for stimer0

2017-11-30 Thread Michael Kelley (EOSG)
Thomas Gleixner writes: > On Tue, 31 Oct 2017, mikel...@exchange.microsoft.com wrote: > > diff --git a/arch/x86/include/uapi/asm/hyperv.h > > b/arch/x86/include/uapi/asm/hyperv.h > > index f65d125..408cf3e 100644 > > --- a/arch/x86/include/uapi/asm/hyperv.h > > +++ b/arch/x86/include/uapi/asm/hyp

  1   2   >