#
ea325c68 |
| 22-Dec-2016 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge tag 'for-master' of https://github.com/rhdrjones/kvm-unit-tests into HEAD
arm/arm64 patches ready for master
|
#
d9193a9c |
| 06-Dec-2016 |
Wei Huang <wei@redhat.com> |
arm: rename cp15.h to sysreg.h
To prepare for future support of ARMv8 system register, rename cp15.h file to sysreg.h, with _ASMARM_CP15_H_ renamed to _ASMARM_SYSREG_H_ in header file.
Signed-off-b
arm: rename cp15.h to sysreg.h
To prepare for future support of ARMv8 system register, rename cp15.h file to sysreg.h, with _ASMARM_CP15_H_ renamed to _ASMARM_SYSREG_H_ in header file.
Signed-off-by: Wei Huang <wei@redhat.com> Signed-off-by: Andrew Jones <drjones@redhat.com>
show more ...
|
#
e27b176b |
| 25-Jun-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: Introduce mmu_disable
Allow unit test cpus to disable the MMU. Why not? We want the test framework to be as flexible as possible. Callers will have to deal with the cache coherency fallou
arm/arm64: Introduce mmu_disable
Allow unit test cpus to disable the MMU. Why not? We want the test framework to be as flexible as possible. Callers will have to deal with the cache coherency fallout... Cache flush support is still forthcoming to the framework though.
Signed-off-by: Andrew Jones <drjones@redhat.com> 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 ...
|
#
0f7d6d6e |
| 01-Feb-2015 |
Andrew Jones <drjones@redhat.com> |
arm: clarify comment about exception stack use
Each mode has its own stack, but we only use it as a base pointer to a private memory region. That region, which has a size of sizeof(struct pt_regs),
arm: clarify comment about exception stack use
Each mode has its own stack, but we only use it as a base pointer to a private memory region. That region, which has a size of sizeof(struct pt_regs), is used to store some registers during the switch to svc mode - which will use the normal svc stack. The switch to svc mode is done because we handle all exceptions in svc.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
show more ...
|
#
1693644d |
| 01-Feb-2015 |
Andrew Jones <drjones@redhat.com> |
arm/arm64: introduce thread_info
For smp we need a way to maintain thread local state. The bottom of the thread stack is a good place, and is where Linux puts it. So we just steal the concept of the
arm/arm64: introduce thread_info
For smp we need a way to maintain thread local state. The bottom of the thread stack is a good place, and is where Linux puts it. So we just steal the concept of the thread_info structure that lives at the bottom of the stack in Linux, and introduce it to kvm-unit-tests/arm[64]. For starters we just have cpu index for state, and that's implicitly initialized to zero for CPU0 already. So, as we don't have secondary cpus yet, there's not much to do.
Additionally, sneak a small fixup in to the initial stack setup for arm64. We were assuming that spsel is EL1 after reset, which has been true so far, but let's not assume.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
show more ...
|
#
1392497b |
| 01-Feb-2015 |
Andrew Jones <drjones@redhat.com> |
arm: fixups: add barriers, actually set MAIR
Sprinkle in some more isbs after context-changing operations, as the ARM ARM states we should. I haven't seen any problems without them, but we should do
arm: fixups: add barriers, actually set MAIR
Sprinkle in some more isbs after context-changing operations, as the ARM ARM states we should. I haven't seen any problems without them, but we should do it right. Also, *actually* set the MAIR in asm_mmu_enable. We were reading, not writing... Luckily this was just spotted while adding the isbs, rather than leading to a nightmare debug session some day...
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
show more ...
|
#
8cca5668 |
| 10-Dec-2014 |
Andrew Jones <drjones@redhat.com> |
arm: use absolute headers
Files in lib/arm including "asm/someheader.h" will get lib/arm/asm/someheader.h, not lib/asm/someheader.h. So we need to use <> instead of "" in order to prepare for header
arm: use absolute headers
Files in lib/arm including "asm/someheader.h" will get lib/arm/asm/someheader.h, not lib/asm/someheader.h. So we need to use <> instead of "" in order to prepare for headers of the same name, but for a different arch. We change all '#include's of all arm files, as consistency looks better.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
dd4af6b1 |
| 10-Dec-2014 |
Andrew Jones <drjones@redhat.com> |
arm: setup: drop unused arguments
Drop the unused arguments from setup(), passing only the fdt. This allows setup() to be more easily shared with arm64.
Signed-off-by: Andrew Jones <drjones@redhat.
arm: setup: drop unused arguments
Drop the unused arguments from setup(), passing only the fdt. This allows setup() to be more easily shared with arm64.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
153d1936 |
| 30-Oct-2014 |
Andrew Jones <drjones@redhat.com> |
arm: turn on the MMU
We should probably always run with the mmu on, so let's enable it from setup with an identity map.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini
arm: turn on the MMU
We should probably always run with the mmu on, so let's enable it from setup with an identity map.
Signed-off-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
901c1c8d |
| 22-Aug-2014 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge remote-tracking branch 'drjones/arm/v7-initial-drop'
|
#
2edfe428 |
| 08-Apr-2014 |
Andrew Jones <drjones@redhat.com> |
arm: vectors support
Add support for tests to use exception handlers using install_exception_handler(). This patch also adds start_usr(), which can be used to start a function in USR mode, using a g
arm: vectors support
Add support for tests to use exception handlers using install_exception_handler(). This patch also adds start_usr(), which can be used to start a function in USR mode, using a given stack pointer. start_usr() is used by a new selftest test that checks the new vector support.
Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> --- v7: - selftest.c: s/alloc_aligned/memalign/ - lib/arm/processor.c remove unnecessary include "asm/setup.h" v6: use alloc() for start_usr v5: rebase change: replace __stringify with libcflat's new xstr macro v4: a couple tweaks to fit changes in the other patches, vectors-usr test now has an 8K usr stack v3: - squashed in 'arm: Simplify exceptions_init in cstart.S' [Christoffer Dall] - suggested function name changes and comment additions [Christoffer Dall] - fix a bug with stack restore from usr mode exceptions that Christoffer pointed out. Add a get_sp() accessor too.
show more ...
|
#
5e61cba0 |
| 21-Jan-2014 |
Andrew Jones <drjones@redhat.com> |
arm: initial drop
This is the initial drop of the arm test framework and a first test that just checks that setup completed (a selftest). kvm isn't needed to run this test unless testing with smp >
arm: initial drop
This is the initial drop of the arm test framework and a first test that just checks that setup completed (a selftest). kvm isn't needed to run this test unless testing with smp > 1.
Try it out with yum install gcc-arm-linux-gnu export QEMU=[qemu with mach-virt and chr-testdev] ./configure --cross-prefix=arm-linux-gnu- --arch=arm make ./run_tests.sh
Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> --- v7: - remove memregions (reworked them as phys_alloc in lib/alloc) - selftest: non-functional change: s/argv[i]/var/ - lib/argv:setup_args don't dereference NULL v6: - fixed setup.c comment [Christoffer Dall] - changed arm/run to use chr-testdev instead of virtio-testdev - add align parameter to memregion_new, setup alloc_ops v5: - memregions: check freemem_start is in bounds and document - selftest: rename testnam => testname and properly init it - io.c: use writeb instead of writel in puts() and use ioremap - arm/run script update for new qemu ('-device ?' now requires -machine) - couple other minor changes to setup.c and io.c [Christoffer Dall] v4: - moved fdt to just after stacktop (it was in the middle of free memory) - switched from using heap to memregions - get nr_cpus and added smp=<num> test - added barrier.h - use new report()/report_summary() - config/config-arm.mak cleanup
show more ...
|