Currently, KVM ARM/ARM64 only provides in-kernel emulation of Power State
and Coordination Interface (PSCI) v0.1.
This patchset aims at providing newer PSCI v0.2 for KVM ARM/ARM64 VCPUs
such that it does not break current KVM ARM/ARM64 ABI.
The user space tools (i.e. QEMU or KVMTOOL) will have to explicitly enable
KVM_ARM_VCPU_PSCI_0_2 feature using KVM_ARM_VCPU_INIT ioctl for providing
PSCI v0.2 to VCPUs.
Changlog:
V5:
- Have separate last patch to advertise KVM_CAP_ARM_PSCI_0_2
- Use kvm_psci_version() in kvm_psci_vcpu_on()
- Return ALREADY_ON for PSCI v0.2 CPU_ON if VCPU is not paused
- Remove per-VCPU suspend context
- As-per PSCI v0.2 spec, only current CPU can suspend itself
V4:
- Implement all mandatory functions required by PSCI v0.2
V3:
- Make KVM_ARM_VCPU_PSCI_0_2 feature experiementatl for now so that
it fails for user space till all mandatory PSCI v0.2 functions are
emulated by KVM ARM/ARM64
- Have separate patch for making KVM_ARM_VCPU_PSCI_0_2 feature available
to user space. This patch can be defferred for now
V2:
- Don't rename PSCI return values KVM_PSCI_RET_NI and KVM_PSCI_RET_INVAL
- Added kvm_psci_version() to get PSCI version available to VCPU
- Fixed grammer in Documentation/virtual/kvm/api.txt
V1:
- Initial RFC PATCH
Anup Patel (11):
KVM: Add capability to advertise PSCI v0.2 support
ARM/ARM64: KVM: Add base for PSCI v0.2 emulation
KVM: Documentation: Add info regarding KVM_ARM_VCPU_PSCI_0_2 feature
ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible
KVM: Add KVM_EXIT_SYSTEM_EVENT to user space API header
ARM/ARM64: KVM: Emulate PSCI v0.2 SYSTEM_OFF and SYSTEM_RESET
ARM/ARM64: KVM: Emulate PSCI v0.2 AFFINITY_INFO
ARM/ARM64: KVM: Emulate PSCI v0.2 MIGRATE_INFO_TYPE and related
functions
ARM/ARM64: KVM: Fix CPU_ON emulation for PSCI v0.2
ARM/ARM64: KVM: Emulate PSCI v0.2 CPU_SUSPEND
ARM/ARM64: KVM: Advertise KVM_CAP_ARM_PSCI_0_2 to user space
Documentation/virtual/kvm/api.txt | 17 +++
arch/arm/include/asm/kvm_host.h | 2 +-
arch/arm/include/asm/kvm_psci.h | 6 +-
arch/arm/include/uapi/asm/kvm.h | 35 +++++-
arch/arm/kvm/arm.c | 1 +
arch/arm/kvm/handle_exit.c | 10 +-
arch/arm/kvm/psci.c | 220 ++++++++++++++++++++++++++++++++++---
arch/arm64/include/asm/kvm_host.h | 2 +-
arch/arm64/include/asm/kvm_psci.h | 6 +-
arch/arm64/include/uapi/asm/kvm.h | 35 +++++-
arch/arm64/kvm/handle_exit.c | 10 +-
include/uapi/linux/kvm.h | 9 ++
12 files changed, 326 insertions(+), 27 deletions(-)
--
1.7.9.5
Add loop to prevent return from machine_power_off if
pm_power_off is null or does not halt the system.
This caused a panic during hibernation testing on Kirkwood
Openblocks A6 board.
Signed-off-by: Sebastian Capella <sebastian.capella(a)linaro.org>
Reported-by: Ezequiel Garcia <ezequiel.garcia(a)free-electrons.com>
Cc: Len Brown <len.brown(a)intel.com>
Cc: Pavel Machek <pavel(a)ucw.cz>
Cc: "Rafael J. Wysocki" <rjw(a)rjwysocki.net>
---
arch/arm/kernel/process.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index f58b723..6ffdc2c 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -217,6 +217,8 @@ void machine_power_off(void)
if (pm_power_off)
pm_power_off();
+ while (1)
+ cpu_relax();
}
/*
--
1.7.9.5
-- resend for correct linaro kernel ML, sorry!
Hi, all,
According to card 1213 https://cards.linaro.org/browse/CARD-1213, LSK need
backport thermal framework DT support. The feature summary is here:
https://lkml.org/lkml/2014/1/23/680
The LSK git tree: git://git.linaro.org/kernel/linux-linaro-stable.git
It should be equal to stable tree on this feature base.
Thanks for Broonie's comments! I remove few trivial bug fix patches, and
drop omap DT changes. The test passed build testing.
Any comments are appreciated!
Thanks
Alex
[PATCH 01/10] thermal: allow registering without .get_temp
[PATCH 02/10] thermal: hwmon: move hwmon support to single file
[PATCH 03/10] drivers: thermal: make usage of CONFIG_THERMAL_HWMON
[PATCH 04/10] thermal: introduce device tree parser
[PATCH 05/10] thermal: core: introduce
[PATCH 06/10] thermal: cpu_cooling: introduce
[PATCH 07/10] hwmon: lm75: expose to thermal fw via DT nodes
[PATCH 08/10] hwmon: tmp102: expose to thermal fw via DT nodes
[PATCH 09/10] MAINTAINERS: add thermal bindings entry in thermal
[PATCH 10/10] thermal: debug: add debug statement for core and
pm_wq work queue is used for runtime suspend/resume work, these
functions are not bound to run on specific CPUs. Having unbounded
type will reduce the waiting time.
Signed-off-by: Sanjay Singh Rawat <sanjay.rawat(a)linaro.org>
---
Need to test on a full runtime supported hardware
---
kernel/power/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 1d1bf63..8212528 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -622,7 +622,7 @@ EXPORT_SYMBOL_GPL(pm_wq);
static int __init pm_start_workqueue(void)
{
- pm_wq = alloc_workqueue("pm", WQ_FREEZABLE, 0);
+ pm_wq = alloc_workqueue("pm", WQ_FREEZABLE | WQ_UNBOUND, 0);
return pm_wq ? 0 : -ENOMEM;
}
--
1.7.10.4
On 03/25/2014 08:30 PM, Mark Brown wrote:
> On Tue, Mar 25, 2014 at 06:49:22PM +0800, Alex Shi wrote:
>> From: Eduardo Valentin <eduardo.valentin(a)ti.com>
>
> Dropping a bunch of irrelevant people/lists.
>
>> This patch changes a dtsi file to contain the thermal data
>> for MPU domain on OMAP4 and later SoCs. This data will
>> enable the passive cooling with CPUfreq cooling device
>> at 100C and the system will do a thermal shutdown at 125C.
>>
>> This thermal data can be reused across TI SoC devices.
>
> We probably shouldn't in general have DTS patches backported to LSK
> unless we're using them for testing - they aren't needed by people using
> the feature and may interfere with downstream users working on these
> boards who have their own modifications. Of course this is OMAP4 which
> is used on Panda so it might make sense since that's already part of our
> test coverage...
>
Yes, the testing show it is ok now. But you are right. it's better not
have this change when think of downstream users. I will remove all dts
patches.
--
Thanks
Alex
From: Mark Brown <broonie(a)linaro.org>
There is no real reason why we require transfers to have a completion and
the only user of the completion now checks to see if one has been provided
before using it so stop enforcing this. This makes it more convenient for
drivers to chain multiple asynchronous transfers together.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
drivers/spi/spi.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 26b331d27c35..121c43b5a8e8 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1812,8 +1812,6 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
if (list_empty(&message->transfers))
return -EINVAL;
- if (!message->complete)
- return -EINVAL;
/* Half-duplex links include original MicroWire, and ones with
* only one data pin like SPI_3WIRE (switches direction) or where
--
1.9.1
This small series fixes issues found with the kprobes tests during
testing of Dave Long's latest ARM uprobe patches [1]. Whilst these fixes
are based on top of that series all the bugs are already present in the
kernel tree.
[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/238862.html
Contents:
Jon Medhurst (3):
ARM: kprobes: Prevent known test failures stopping other tests running
ARM: kprobes: Disallow instructions with PC and register specified shift
ARM: kprobes: Fix test code compilation errors for ARMv4 targets
arch/arm/kernel/kprobes-test-arm.c | 33 +++++++++++++++++++++------------
arch/arm/kernel/kprobes-test.c | 10 ++++++++++
arch/arm/kernel/probes-arm.c | 6 +++---