#
201b9e8b |
| 03-Jul-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'arm/queue' into 'master'
arm/arm64: LPA2 support and fpu/sve s/r test
See merge request kvm-unit-tests/kvm-unit-tests!61
|
#
cddb18bc |
| 12-Apr-2024 |
Alexandru Elisei <alexandru.elisei@arm.com> |
arm64: Expand SMCCC arguments and return values
PSCI uses the SMC Calling Convention (SMCCC) to communicate with the higher level software. PSCI uses at most 4 arguments and expend only one return v
arm64: Expand SMCCC arguments and return values
PSCI uses the SMC Calling Convention (SMCCC) to communicate with the higher level software. PSCI uses at most 4 arguments and expend only one return value. However, SMCCC has provisions for more arguments (upto 17 depending on the SMCCC version) and upto 10 distinct return values.
We are going to be adding tests that make use of it, so add support for the extended number of arguments and return values.
Also rename the SMCCC functions to generic, non-PSCI names, so they can be used for Realm services.
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> Co-developed-by: Joey Gouly <joey.gouly@arm.com> Signed-off-by: Joey Gouly <joey.gouly@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> [Fixed EFI compile error.] Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
e526bc78 |
| 01-Jul-2023 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'arm/queue' into 'master'
arm/arm64: EFI support, arm64 backtrace support, PMU test improvements, and more
See merge request kvm-unit-tests/kvm-unit-tests!43
|
#
bff097a8 |
| 30-May-2023 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
arm64: Add support for setting up the PSCI conduit through ACPI
In systems with ACPI support and when a DT is not provided, we can use the FADT to discover whether PSCI calls need to use smc or hvc
arm64: Add support for setting up the PSCI conduit through ACPI
In systems with ACPI support and when a DT is not provided, we can use the FADT to discover whether PSCI calls need to use smc or hvc calls. This change implements this but retains the default behavior; we check if a valid DT is provided, if not, we try to setup the PSCI conduit using ACPI.
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Ricardo Koller <ricarkol@google.com> Reviewed-by: Shaoqin Huang <shahuang@redhat.com> Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
74ff0e96 |
| 18-May-2021 |
Paolo Bonzini <bonzini@gnu.org> |
Merge branch 'arm/queue' into 'master'
arm/arm64: target-efi prep
This series mostly prepares kvm-unit-tests/arm for targeting EFI platforms. The actually EFI support will come in another series, b
Merge branch 'arm/queue' into 'master'
arm/arm64: target-efi prep
This series mostly prepares kvm-unit-tests/arm for targeting EFI platforms. The actually EFI support will come in another series, but these patches are good for removing assumptions from our memory maps and about our PSCI conduit, even if we never merge EFI support.
See merge request kvm-unit-tests/kvm-unit-tests!8
show more ...
|
#
bd5bd157 |
| 06-Apr-2021 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: psci: Don't assume method is hvc
The method can be smc in addition to hvc, and it will be when running on bare metal. Additionally, we move the invocations to assembly so we don't have to
arm/arm64: psci: Don't assume method is hvc
The method can be smc in addition to hvc, and it will be when running on bare metal. Additionally, we move the invocations to assembly so we don't have to rely on compiler assumptions. We also fix the prototype of psci_invoke. function_id should be an unsigned int, not an unsigned long.
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
3c13c642 |
| 08-Jan-2020 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge branch 'arm/queue' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
|
#
b40a6180 |
| 31-Dec-2019 |
Alexandru Elisei <alexandru.elisei@arm.com> |
lib: arm/arm64: Remove unused CPU_OFF parameter
The first version of PSCI required an argument for CPU_OFF, the power_state argument, which was removed in version 0.2 of the specification [1]. kvm-u
lib: arm/arm64: Remove unused CPU_OFF parameter
The first version of PSCI required an argument for CPU_OFF, the power_state argument, which was removed in version 0.2 of the specification [1]. kvm-unit-tests supports PSCI 0.2, and KVM ignores any CPU_OFF parameters, so let's remove the PSCI_POWER_STATE_TYPE_POWER_DOWN parameter.
[1] ARM DEN 0022D, section 7.3.
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
c81d5352 |
| 05-Apr-2019 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge branch 'support-kvmtool' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
|
#
7c12e7ca |
| 04-Feb-2019 |
Alexandru Elisei <alexandru.elisei@arm.com> |
lib: arm: Implement PSCI SYSTEM_OFF in psci_system_off()
A new function, psci_system_off(), is added which implements the PSCI SYSTEM_OFF function. A call causes the hypervisor to terminate the virt
lib: arm: Implement PSCI SYSTEM_OFF in psci_system_off()
A new function, psci_system_off(), is added which implements the PSCI SYSTEM_OFF function. A call causes the hypervisor to terminate the virtual machine.
We take this opportunity to rename psci_sys_reset() to psci_system_reset() to match the name of the PSCI function SYSTEM_RESET that it implements.
Consumers for the function will be added in a later patch.
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> Reviewed-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
d556c4a8 |
| 29-May-2017 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: psci: cpu_psci_cpu_die operates on itself
Signed-off-by: Andrew Jones <drjones@redhat.com> Message-Id: <20170529135804.22891-3-drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@r
arm/arm64: psci: cpu_psci_cpu_die operates on itself
Signed-off-by: Andrew Jones <drjones@redhat.com> Message-Id: <20170529135804.22891-3-drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
c535b2f8 |
| 25-May-2017 |
Andrew Jones <drjones@redhat.com> |
lib/arm/psci: make psci less ugly
Signed-off-by: Andrew Jones <drjones@redhat.com> Message-Id: <20170525102849.22754-3-drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
1742c67a |
| 29-Jul-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: fix mmu_enabled
We recently modified how mmu_enabled works in order to speed spinlocks up (see c33efcf3 and b141dbac). Unfortunately c33efcf3 was a bit hasty in removing mmu_set_enabled.
arm/arm64: fix mmu_enabled
We recently modified how mmu_enabled works in order to speed spinlocks up (see c33efcf3 and b141dbac). Unfortunately c33efcf3 was a bit hasty in removing mmu_set_enabled. I had forgotten one of the reasons I introduced it was because secondaries don't go through mmu_enable(), they go straight to asm_mmu_enable from secondary_entry. This patch brings it back, albeit renamed to mmu_mark_enabled to match mmu_mark_disabled.
The patch also moves mmu_mark_disabled from psci code to smp code, as psci code shouldn't need to care about mmu stuff, and because we now have a nice balance in the smp code - we mark the mmu disabled for the secondary before we kick it, and then mark it enabled on the init.
Finally, a bit unrelated, I've added a lengthy comment to __mmu_enabled in order to warn about what can't be called from there. We need to be cautious there because mmu_enabled() gets scattered around easily, being in basic functions, and thus there's risk of recursion.
Signed-off-by: Andrew Jones <drjones@redhat.com> Reported-by: Levente Kurusa <lkurusa@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
c33efcf3 |
| 25-Jun-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: drop mmu_set_enabled
The mmu is enabled automatically for all cpus, they must disable it themselves if they don't want it on. Switch from managing a cpumask of enabled cpus to one of disa
arm/arm64: drop mmu_set_enabled
The mmu is enabled automatically for all cpus, they must disable it themselves if they don't want it on. Switch from managing a cpumask of enabled cpus to one of disabled cpus. This allows us to remove the mmu_set_enabled call from secondary_cinit, and the function all together.
Signed-off-by: Andrew Jones <drjones@redhat.com> [Place CPUs in MMU disabled state at startup. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
68ea0e0b |
| 02-Feb-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: add smp_boot_secondary
Add a common entry point, present/online cpu masks, and smp_boot_secondary() to support booting secondary cpus. Adds a bit more PSCI API that we need too. We also a
arm/arm64: add smp_boot_secondary
Add a common entry point, present/online cpu masks, and smp_boot_secondary() to support booting secondary cpus. Adds a bit more PSCI API that we need too. We also adjust THREAD_START_SP for arm to make some room for exception stacks.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
show more ...
|
#
f0705d4c |
| 01-Feb-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: add some PSCI API
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|