On 11/09/2015 11:54, Ian Campbell wrote:
On Thu, 2015-09-10 at 17:23 +0100, Julien Grall wrote:
I applied the two patches on top of linus/master and I'm able to boot
correctly on X-gene. Thank you!
Perhaps we should replicate this approach in Xen and get rid
On 11/09/15 12:09, Marc Zyngier wrote:
> On 11/09/15 11:59, Julien Grall wrote:
>>
>>
>> On 11/09/2015 11:54, Ian Campbell wrote:
>>> On Thu, 2015-09-10 at 17:23 +0100, Julien Grall wrote:
>>>> I applied the two patches on top of linus/master and I'm ab
drivers to get the necessary information to initialize the different KVM
components (vGIC + vtimer).
I think this achieves the goal you have in mind. I will post the series
in a few minutes.
Regards,
--
Julien Grall
___
kvmarm mailing list
kvmarm
Fill up the recently introduced gic_kvm_info with the virtual GIC
information.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
driv
, a stub for the new helper hasn't been
introduced because KVM is requiring the arch timer for both ARM64 and
ARM32.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Christoffer D
tables are duplicated which I think make more complex to
support new firmware tables.
Regards,
[1] https://lists.cs.columbia.edu/pipermail/kvmarm/2016-February/018482.html
[2] https://lists.cs.columbia.edu/pipermail/kvmarm/2016-February/018355.html
Julien Grall (5):
KVM: arm/arm64: arch_timer
,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Hi Marc,
On 10/02/16 14:46, Marc Zyngier wrote:
On 10/02/16 14:19, Julien Grall wrote:
On 09/02/16 20:49, Christoffer Dall wrote:
+static void __init gic_acpi_setup_kvm_info(void)
+{
+ gic_v2_kvm_info.type = GIC_V2;
+
+ gic_v2_kvm_info.maint_irq = acpi_register_gsi(NULL
For now, there is only one member. More member will be added later.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v
timer code.
With this changes, the support for ACPI is coming free.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc:
Fill up the recently introduced gic_kvm_info with the virtual GIC
information.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Change
Julien Grall (6):
KVM: arm/arm64: arch_timer: Gather KVM specific information in a
structure
KVM: arm/arm64: arch_timer: Rely on the arch timer to parse the
firmware tables
irqchip/gic-v2: Gather ACPI specific data in a single structure
irqchip/gic-v2: Parse and export virtual GIC
, a stub for the new helper hasn't been
introduced because KVM is requiring the arch timer for both ARM64 and
ARM32.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Christoffer D
information about the virtual GIC.
With this change, the virtual GIC becomes agnostic to the firmware
table and KVM will be able to initialize the vGIC on ACPI.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngie
On 19/02/16 10:53, Julien Grall wrote:
--
Julien Grall
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person
Hi Christoffer,
On 09/03/16 05:14, Christoffer Dall wrote:
On Tue, Mar 08, 2016 at 11:29:28AM +, Julien Grall wrote:
For now, the firmware tables are parsed 2 times: once in the GIC
drivers, the other timer when initializing the vGIC. It means code
duplication and make more tedious to add
Hi Christoffer,
On 09/03/16 05:39, Christoffer Dall wrote:
On Tue, Mar 08, 2016 at 11:29:29AM +, Julien Grall wrote:
Even though all the variables aren't marked with __initdata, they are
only used during initialization. So the structure is marked with
__initdata.
Not sure I understand
Hi Christoffer,
On 09/03/2016 10:23, Christoffer Dall wrote:
On Tue, Mar 08, 2016 at 11:29:25AM +, Julien Grall wrote:
-static struct timecounter timecounter;
+static struct arch_timer_kvm_info arch_timer_kvm_info;
+
+struct arch_timer_kvm_info *arch_timer_get_kvm_info(void)
borderline
Hi Christoffer,
On 09/03/2016 10:27, Christoffer Dall wrote:
On Tue, Mar 08, 2016 at 11:29:26AM +, Julien Grall wrote:
diff --git a/drivers/clocksource/arm_arch_timer.c
b/drivers/clocksource/arm_arch_timer.c
index b7ab588..d8887f3 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b
Hi Christoffer,
On 09/03/2016 12:47, Christoffer Dall wrote:
On Tue, Mar 08, 2016 at 11:29:27AM +, Julien Grall wrote:
For now, there is only one member. More member will be added later.
questionable commit message
What about:
"The ACPI code requires to use global variables in
On 29/03/16 15:39, Daniel Lezcano wrote:
On 03/24/2016 06:53 PM, Julien Grall wrote:
The only call of arch_timer_get_timecounter (in KVM) has been removed.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
Hi Julien,
Hi
Hi Christoffer,
On 06/04/2016 18:28, Christoffer Dall wrote:
On Mon, Apr 04, 2016 at 12:37:31PM +0100, Julien Grall wrote:
Hello,
This patch series allows KVM to work with ACPI on ARM64.
Currently, the firmware tables are parsed by the the virtual timer and virtual
GIC code in order
Hi Christoffer,
On 06/04/2016 18:04, Christoffer Dall wrote:
On Mon, Apr 04, 2016 at 12:37:35PM +0100, Julien Grall wrote:
diff --git a/include/linux/irqchip/arm-gic-common.h
b/include/linux/irqchip/arm-gic-common.h
new file mode 100644
index 000..ef34f6f
--- /dev/null
+++ b/include/linux
Hi Christoffer,
On 06/04/2016 18:22, Christoffer Dall wrote:
On Mon, Apr 04, 2016 at 12:37:37PM +0100, Julien Grall wrote:
+static void __init gic_acpi_setup_kvm_info(void)
+{
+ int irq;
+
+ if (!gic_acpi_collect_virt_info()) {
+ pr_warn("Unable to get har
Hello Hanjun,
On 11/04/16 06:27, Hanjun Guo wrote:
On 2016/4/4 19:37, Julien Grall wrote:
+static void __init gic_acpi_setup_kvm_info(void)
+{
+int irq;
+
+if (!gic_acpi_collect_virt_info()) {
+pr_warn("Unable to get hardware information used for
virtualizat
On 09/04/16 03:29, Shanker Donthineni wrote:
Hi Julien,
Hello Shanker,
On 04/04/2016 06:37 AM, Julien Grall wrote:
+static int __init gic_acpi_parse_virt_madt_gicc(struct
acpi_subtable_header *header,
+ const unsigned long end)
+{
+ struct
On 11/04/16 04:17, Hanjun Guo wrote:
Hi Julian,
Hi Hanjun,
On 2016/4/4 19:37, Julien Grall wrote:
@@ -1302,6 +1339,41 @@ static bool __init gic_validate_dist(struct
acpi_subtable_header *header,
#define ACPI_GICV2_DIST_MEM_SIZE(SZ_4K)
#define ACPI_GIC_CPU_IF_MEM_SIZE(SZ_8K
by the virtual timer code.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Gleb Natapov <g...@kernel.org>
Cc: Paol
the initialization. Therefore,
the new variable, which hold the structure, can be marked with
__initdata.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
Reviewed-by: Hanjun Guo <hanjun@linaro.org>
---
Cc:
in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Marc Zyngier <marc.zyng...@arm.com>
The ACPI code requires to use global variables in order to collect
information from the tables.
For now, a single global variable is used, but more will be added in a
subsequent patch. To make clear they are ACPI specific, gather all the
information in a single structure.
Signed-off-by: Julien
Currently, most of the pr_* messages in the GICv3 driver don't have a
prefix. Add one to make clear where the messages come from.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Changes in v6:
- Patch added
---
drivers/irqchip/irq-gic-v3.c | 2 ++
1 file chan
information. Also fill up the structure for GICv2.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v6:
- Move the cod
information about the virtual GIC.
With this change, the virtual GIC becomes agnostic to the firmware
table and KVM will be able to initialize the vGIC on ACPI.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Reviewed-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Marc Zyngie
Fill up the recently introduced gic_kvm_info with the hardware
information used for virtualization.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
are merged via the clocksource tree
Patches #2-#7 are merged via the irqchip tree
2) Patches #8-#9 are merge via the KVM tree
3) Patch #10 is merged via the clocksource tree.
For all the changes see in each patch.
Regards,
Julien Grall (10):
clocksource: arm_arch_timer: Gather KVM specific
and ARM32.
The function arch_timer_get_timecounter is kept for the time being and
will be dropped in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
C
The only call of arch_timer_get_timecounter (in KVM) has been removed.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.d
Hi Graeme,
On 22/03/16 11:27, Graeme Gregory wrote:
On Tue, Mar 08, 2016 at 11:29:30AM +, Julien Grall wrote:
@@ -1020,6 +1060,13 @@ gic_acpi_parse_madt_gicc(struct acpi_subtable_header
*header,
return -ENOMEM;
gic_acpi_register_redist(gicc->gicr_base_addr
introduces new helpers to retrieve the
information from the different drivers in order to avoid duplication of the
parsing code.
To make the merge easier via the different trees, each patch modifies
a single subsystem.
For all the changes see the different patches.
Yours sincerely,
Julien Grall (9
and ARM32.
The function arch_timer_get_timecounter is kept for the time being and
will be dropped in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Marc
Fill up the recently introduced gic_kvm_info with the hardware
information used for virtualization.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
the initialization. Therefore,
the new variable, which hold the structure, can be marked with
__initdata.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.co
information. Also fill up the structure for GICv2.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v4:
- Change the flow
The only call of arch_timer_get_timecounter (in KVM) has been removed.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.d
by the virtual timer code.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Gleb Natapov <g...@kernel.org>
Cc: Paol
information. Also fill up the structure for GICv2.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v2:
- Use 0 rath
Fill up the recently introduced gic_kvm_info with the virtual GIC
information.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
---
Changes i
by the virtual timer code.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Gleb Natapov <g...@kernel.org>
Cc: Paolo Bonzini <pbonz...@redhat.com>
Changes in v3:
information about the virtual GIC.
With this change, the virtual GIC becomes agnostic to the firmware
table and KVM will be able to initialize the vGIC on ACPI.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngier <marc.
,
Julien Grall (9):
clocksource: arm_arch_timer: Gather KVM specific information in a
structure
clocksource: arm_arch_timer: Extend arch_timer_kvm_info to get the
virtual IRQ
irqchip/gic-v2: Gather ACPI specific data in a single structure
irqchip/gic-v2: Parse and export virtual GIC
Even though all the variables aren't marked with __initdata, they are
only used during initialization. So the structure is marked with
__initdata.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemo
in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v3:
- Move the KVM changes in a separate pa
The only call of arch_timer_get_timecounter (in KVM) has been removed.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Changes in v3:
- Patch added
---
d
Hi Christoffer,
On 03/03/16 19:38, Christoffer Dall wrote:
On Thu, Feb 11, 2016 at 03:33:20PM +, Julien Grall wrote:
[...]
diff --git a/drivers/clocksource/arm_arch_timer.c
b/drivers/clocksource/arm_arch_timer.c
index 6eb2c5d..3cdbefd 100644
--- a/drivers/clocksource/arm_arch_timer.c
,
domain->ops = bus->iommu_ops;
domain->type = type;
+ mutex_init(>reserved_mutex);
For consistency, the RB-tree reserved_binding_list should be initialized
too:
domain->reserved_binding_list = RB_ROOT;
Cheers,
--
Julien Grall
___
by the virtual timer code.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Acked-by: Christoffer Dall <christoffer.d...@linaro.org>
---
Cc: Christoffer Dall <christoffer.d...@linaro.org>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Gleb Natapov <g...@kernel.org>
Cc: Paol
information. Also fill up the structure for GICv2.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v4:
- Change the flow
the initialization. Therefore,
the new variable, which hold the structure, can be marked with
__initdata.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.co
are merged via the clocksource tree
Patches #2-#6 are merged via the irqchip tree
2) Patches #7-#8 are merge via the KVM tree
3) Patch #9 is merged via the clocksource tree.
For all the changes see in each patch.
Regards,
Cc: daniel.lezc...@linaro.org
Julien Grall (9):
clocksource
Fill up the recently introduced gic_kvm_info with the hardware
information used for virtualization.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Marc Zyngier <marc.zyng...@arm.com>
and ARM32.
The function arch_timer_get_timecounter is kept for the time being and
will be dropped in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Marc
in a subsequent patch.
Signed-off-by: Julien Grall <julien.gr...@arm.com>
---
Cc: Daniel Lezcano <daniel.lezc...@linaro.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Changes in v4:
- Move the initializ
The ACPI code requires to use global variables in order to collect
information from the tables.
For now, a single global variable is used, but more will be added in a
subsequent patch. To make clear they are ACPI specific, gather all the
information in a single structure.
Signed-off-by: Julien
Hi Christoffer,
On 01/04/2016 11:13, Christoffer Dall wrote:
On Thu, Mar 24, 2016 at 05:53:40PM +, Julien Grall wrote:
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 50e87e6..b5ed8be 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3
Hi Hanjun,
Sorry for the late answer.
On 13/04/16 11:01, Hanjun Guo wrote:
On 2016/4/11 23:32, Julien Grall wrote:
Currently, most of the pr_* messages in the GICv3 driver don't have a
prefix. Add one to make clear where the messages come from.
Signed-off-by: Julien Grall <julien
Hello,
On 17/05/2016 00:28, Itaru Kitayama wrote:
The new v4.6 upstream kernel gets to the prompt on Mustang (Rev A3).
I would recommend you to bissect Linux and finger one or multiple
commits which break booting on your board.
Regards,
--
Julien Grall
ns an error code otherwise
+ */
+int vgic_v3_probe(const struct gic_kvm_info *info)
Regards,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
ld recommend
you to try Linux-next.
Regards,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
On 27/04/18 16:18, Suzuki K Poulose wrote:
On 26/04/18 11:58, Julien Grall wrote:
Hi Suzuki,
On 27/03/18 14:15, Suzuki K Poulose wrote:
Add a helper to convert ID_AA64MMFR0_EL1:PARange to they physical
size shift. Limit the size to the maximum supported by the kernel.
We are about to move
Hi Suzuki,
On 27/04/18 16:58, Suzuki K Poulose wrote:
On 27/04/18 16:22, Suzuki K Poulose wrote:
On 26/04/18 14:35, Julien Grall wrote:
Hi Suzuki,
On 27/03/18 14:15, Suzuki K Poulose wrote:
Right now the stage2 page table for a VM is hard coded, assuming
an IPA of 40bits. As we are about
29
+#define ARM64_SSBD 30
NIT: Could you indent 30 the same way as the other number?
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https
NIT: Shouldn't you use /* ... */ for multi-line comments?
Regardless that:
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Hi Marc,
On 05/22/2018 04:06 PM, Marc Zyngier wrote:
In a heterogeneous system, we can end up with both affected and
unaffected CPUs. Let's check their status before calling into the
firmware.
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
Reviewed-by: Julien Grall <julien.gr..
permanently
on or off instead of switching it on exception entry/exit.
In any case, default to the mitigation being enabled.
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
Documentation/admin-guide/kernel-paramete
mitigation.
Think of it as a poor man's static key...
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
arch/arm64/kernel/cpu_errata.c | 14 ++
arch/arm64/kernel/entry.S | 3 +++
2 files
ine option,
let's enforce it by calling into the firmware again to disable it.
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
arch/arm64/include/asm/cpufeature.h | 6 ++
arch/arm64/kernel/cpu_errata.c | 8
<marc.zyng...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
arch/arm64/include/asm/cpufeature.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/include/asm/cpufeature.h
b/arch/arm64/include/asm/cpufeature.h
index 9bc548e22784..
)
+{
+ unsigned max_ipa;
+
+ max_ipa = ioctl(kvm->sys_fd, KVM_ARM_GET_MAX_VM_PHYS_SHIFT);
+ if (max_ipa < 0)
Another issues spotted while doing some testing. This will always be
false because max_ipa is unsigned.
I think we want to turn max_ipa to signed.
Cheers,
--
Julien
ve.cap...@arm.com>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Christoffer Dall <cd...@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poul...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
arch/arm64/include/asm/pgalloc.h | 34 ++
talin.mari...@arm.com>
Cc: Christoffer Dall <cd...@kernel.org>
Signed-off-by: Suzuki K Poulose <suzuki.poul...@arm.com>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
arch/arm64/include/asm/pgtable.h | 5 +
arch/arm64/mm/hugetlbpage.c | 2 +-
2
arange);
+ val |= 64 - (phys_shift > 40 ? 40 : phys_shift);
/*
* Check the availability of Hardware Access Flag / Dirty Bit
@@ -86,5 +68,5 @@ u32 __hyp_text __init_stage2_translation(void)
write_sysreg(val, vtcr_el2);
- return parange;
+
actually going to run the vcpu.
Signed-off-by: Christoffer Dall <christoffer.d...@linaro.org>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia
.
Signed-off-by: Christoffer Dall <christoffer.d...@linaro.org>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
virt/kvm/arm/arch_timer.c | 7 ---
virt/kvm/arm/arm.c| 22 --
virt/kvm/arm/vgic/vgic-init.c | 11 ---
3 file
is also touching this
code (see https://patchwork.kernel.org/patch/10190297/).
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
(spsr, elr, par, host_ctxt);
+ else
+ __hyp_call_panic_vhe(spsr, elr, par, host_ctxt);
unreachable();
}
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
On 05/02/18 18:04, Julien Grall wrote:
On 12/01/18 12:07, Christoffer Dall wrote:
@@ -436,37 +446,31 @@ static void __hyp_text __hyp_call_panic_nvhe(u64
spsr, u64 elr, u64 par,
read_sysreg(hpfar_el2), par, vcpu);
}
-static void __hyp_text __hyp_call_panic_vhe(u64 spsr, u64
Hi Christoffer,
On 02/08/2018 01:24 PM, Christoffer Dall wrote:
On Mon, Feb 05, 2018 at 06:04:25PM +, Julien Grall wrote:
On 12/01/18 12:07, Christoffer Dall wrote:
+
panic(__hyp_panic_string,
spsr, elr,
read_sysreg_el2(esr), read_sysreg_el2(far
nvhe, __fpsimd_enabled_vhe,
- ARM64_HAS_VIRT_HOST_EXTN);
-
-bool __hyp_text __fpsimd_enabled(void)
Now that __fpsimd_enabled is removed, I think you need to remove the
prototype in arch/arm64/include/kvm_hyp.h too.
-{
- return __fpsimd_is_enabled()();
-}
* Disallow physical timer access for the guest
+* Physical counter access is allowed
+*/
+ val = read_sysreg(cnthctl_el2);
+ val &= ~CNTHCTL_EL1PCEN;
+ val |= CNTHCTL_EL1PCTEN;
+ write_sysreg(val, cnthctl_el2);
}
C
ysreg(actlr_el1);
I am a bit confused, the comment on top of the function says the host
must save ACTLR_EL1 in the VHE case. But AFAICT, after this patch the
register will not get saved in the host context. Did I miss anything?
Cheers,
--
Julien Grall
___
ret = kvm_vcpu_run_vhe(vcpu);
+ else
+ ret = kvm_call_hyp(__kvm_vcpu_run_nvhe, vcpu);
vcpu->mode = OUTSIDE_GUEST_MODE;
vcpu->stat.exits++;
Cheers,
--
Julien Grall
___
r.d...@linaro.org>
Reviewed-by: Julien Grall <julien.gr...@arm.com>
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
,6 @@ static void __hyp_text __vgic_restore_state(struct kvm_vcpu
*vcpu)
u64 val;
val = read_sysreg(hcr_el2);
- val |= HCR_INT_OVERRIDE;
val |= vcpu->arch.irq_lines;
write_sysreg(val, hcr_el2);
Cheers,
--
Julien Grall
to remove this paragraph as you don't seem to have rework
that part of the code in this version.
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
,
--
Julien Grall
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
On 22/02/18 18:30, Julien Grall wrote:
Hi Christoffer,
On 15/02/18 21:03, Christoffer Dall wrote:
Some system registers do not affect the host kernel's execution and can
therefore be loaded when we are about to run a VCPU and we don't have to
restore the host state to the hardware before
it would be possible to have hardware where ACTLR_EL1 would still
have an effect on host EL0. I also read the comments on the version 2 of
this patch but I wasn't able to find what I missing.
Cheers,
--
Julien Grall
___
kvmarm mailing list
kvmarm
0) =
+ p->regval & ARMV8_PMU_USERENR_MASK;
+ } else {
NIT: There is a double space between else and {.
+ p->regval = __vcpu_sys_reg(vcpu, PMUSERENR_EL0)
& ARMV8_PMU_USERENR_MASK;
}
Cheers,
--
Julien G
Hi Christoffer,
Sorry for the late reply.
On 13/02/18 22:31, Christoffer Dall wrote:
On Fri, Feb 09, 2018 at 05:53:43PM +, Julien Grall wrote:
Hi Christoffer,
On 01/12/2018 12:07 PM, Christoffer Dall wrote:
The VHE switch function calls __timer_enable_traps and
__timer_disable_traps
1 - 100 of 201 matches
Mail list logo