On Wed Feb 28, 2024 at 9:46 PM AEST, Andrew Jones wrote:
> On Mon, Feb 26, 2024 at 08:11:50PM +1000, Nicholas Piggin wrote:
> > Add support for backtracing across interrupt stacks, and
> > add interrupt frame backtrace for unhandled interrupts.
> >
> > Sig
On Thu Feb 29, 2024 at 1:04 AM AEST, Andrew Jones wrote:
> Calculating the offset of an address is image specific, which is
> architecture specific. Until now, all architectures and architecture
> configurations which select CONFIG_RELOC were able to subtract
> _etext, but the EFI configuration of
#else
> -static inline int
> -backtrace_frame(const void *frame __unused, const void **return_addrs
> __unused,
> - int max_depth __unused)
> +extern int backtrace(const void **return_addrs, int max_depth);
> +
> +static inline int backtrace_frame(const void *frame, const void
> **return_addrs,
> + int max_depth)
> {
> return 0;
> }
> #endif
>
> -extern int backtrace(const void **return_addrs, int max_depth);
> -
> #endif
Is there a reason to add the inline wrappers rather than just externs
and drop the arch_ prefix?
Do we want to just generally have all arch specific functions have an
arch_ prefix? Fine by me.
Reviewed-by: Nicholas Piggin
I'm fine to rebase the powerpc patch on top of this if it goes in first.
Thanks for the heads up.
Thanks,
Nick
This adds testing for the powernv machine, and adds a gitlab-ci test
group instead of specifying all tests in .gitlab-ci.yml.
Signed-off-by: Nicholas Piggin
---
.gitlab-ci.yml| 16 ++--
powerpc/unittests.cfg | 15 ---
2 files changed, 14 insertions(+), 17
This moves merges ppc64 directories and files into powerpc, and
merges the 3 makefiles into one.
The configure --arch=powerpc option is aliased to ppc64 for
good measure.
Signed-off-by: Nicholas Piggin
---
MAINTAINERS| 1 -
configure
c: kvm...@lists.linux.dev
Cc: kvm-ri...@lists.infradead.org
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Nicholas Piggin
---
Makefile | 2 +-
configure | 18 +-
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 4f35fffc6..4e0f54543 100644
-dev@lists.ozlabs.org
Signed-off-by: Nicholas Piggin
---
configure | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 6907ccbbb..ae522c556 100755
--- a/configure
+++ b/configure
@@ -45,7 +45,8 @@ usage() {
Usage: $0 [options
Add some initial PMU testing.
- PMC5/6 tests
- PMAE / PMI test
- BHRB basic tests
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 2 +
lib/powerpc/asm/reg.h | 9 +
lib/powerpc/asm/setup.h | 1 +
lib/powerpc/setup.c | 23 +++
powerpc/Makefile.common
leged instruction interrupt test is added.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 9 +
lib/powerpc/asm/reg.h | 1 +
lib/powerpc/asm/smp.h | 1 +
lib/powerpc/io.c| 7 +++
lib/powerpc/processor.c
Now that sieve copes with lack of MMU support, it can be run by
powerpc.
Signed-off-by: Nicholas Piggin
---
powerpc/Makefile.common | 1 +
powerpc/sieve.c | 1 +
powerpc/unittests.cfg | 3 +++
3 files changed, 5 insertions(+)
create mode 12 powerpc/sieve.c
diff --git a/powerpc
Not all powerpc CPUs provide MMU support. Define vm_available() that is
true by default but archs can override it. Use this to run VM tests.
Cc: Paolo Bonzini
Cc: Thomas Huth
Cc: Andrew Jones
Cc: k...@vger.kernel.org
Signed-off-by: Nicholas Piggin
---
common/sieve.c | 14
ff-by: Nicholas Piggin
---
common/sieve.c | 1 +
lib/libcflat.h | 2 --
lib/s390x/io.c | 1 +
lib/s390x/uv.h | 1 +
lib/x86/vm.h | 1 +
s390x/mvpg.c | 1 +
s390x/selftest.c | 1 +
x86/pmu.c | 1 +
x86/pmu_lbr.c | 1 +
x86/vme
Add support for radix MMU, 4kB and 64kB pages.
This also adds MMU interrupt test cases, and runs the interrupts
test entirely with MMU enabled if it is available (aside from
machine check tests).
Signed-off-by: Nicholas Piggin
---
configure | 39 +++--
lib/powerpc/asm
This has a known failure on QEMU TCG machines where the decrementer
interrupt is not lowered when the DEC wraps from -ve to +ve.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/reg.h | 1 +
powerpc/Makefile.common | 1 +
powerpc/timebase.c | 330
Signed-off-by: Nicholas Piggin
---
powerpc/Makefile.common | 1 +
powerpc/atomics.c | 373
powerpc/unittests.cfg | 9 +
3 files changed, 383 insertions(+)
create mode 100644 powerpc/atomics.c
diff --git a/powerpc/Makefile.common b/powerpc
The test harness uses spinlocks if they are implemented with larx/stcx.
it can prevent some test scenarios such as testing migration of a
reservation.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/smp.h| 1 +
lib/powerpc/smp.c| 5 +
lib/powerpc/spinlock.c | 28
Modify run script to permit single vs mttcg threading, add a
thread=single smp case to unittests.cfg.
Signed-off-by: Nicholas Piggin
---
powerpc/run | 4 ++--
powerpc/unittests.cfg | 6 ++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/powerpc/run b/powerpc/run
powerpc SMP support is very primitive and does not set up a first-class
runtime environment for secondary CPUs.
This reworks SMP support, and provides a complete C and harness
environment for the secondaries, including interrupt handling, as well
as IPI support.
Signed-off-by: Nicholas Piggin
code should probably serialise this to prevent it, but
at the moment not all do. So make the parser handle this by
just looking at the first EXIT.
Cc: Paolo Bonzini
Cc: Thomas Huth
Cc: Andrew Jones
Cc: k...@vger.kernel.org
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 2 +-
1 file ch
stack for the boot
processor. Make the stack 64kB while we're here, to match the
size of the regular stack.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/setup.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/lib/powerpc/setup.c b/lib/powerpc/setup.c
other rtas operations.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/rtas.h | 2 ++
lib/powerpc/rtas.c | 78 +-
2 files changed, 64 insertions(+), 16 deletions(-)
diff --git a/lib/powerpc/asm/rtas.h b/lib/powerpc/asm/r
Add basic testing of various kinds of interrupts, machine check,
page fault, illegal, decrementer, trace, syscall, etc.
This has a known failure on QEMU TCG pseries machines where MSR[ME]
can be incorrectly set to 0.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 4 +
lib
This enables HV privilege registers to be tested with the powernv
machine.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
powerpc/sprs.c | 33 +
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/powerpc/sprs.c b/powerpc/sprs.c
index
Illegal instructions cause 0xe40 (HEAI) interrupts rather
than program interrupts.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 1 +
lib/powerpc/setup.c | 13 +
powerpc/emulator.c | 21 -
3 files
Add support for QEMU's powernv machine. This uses standard firmware
(skiboot) rather than a minimal firmware shim.
Reviewed-by: Cédric Le Goater
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 23 +++
lib/powerpc/asm/reg.h | 4 ++
lib/powerpc/hc
error message.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/runtime.bash | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/runtime.bash b/scripts/runtime.bash
index 8f9672d0d..bb32c0d10 100644
--- a/scripts/runtime.bash
+++ b/scripts/runtime.bash
This allows different machines with different requirements to be
supported by run_tests.sh, similarly to how different accelerators
are handled.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/common.bash | 8 ++--
scripts/runtime.bash | 16
2 files
Storing certain values in MMCR0 can cause PMU interrupts when msleep
enables MSR[EE], and this crashes the test. Freeze the PMU counters
and clear any PMU exception before calling msleep.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/reg.h | 4
powerpc/sprs.c| 17
SPRs annotated with SPR_HARNESS can change between consecutive reads
because the test harness code has changed them. Avoid failing the
test in this case.
Signed-off-by: Nicholas Piggin
---
powerpc/sprs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/powerpc/sprs.c b
eness, but also the code might one day be
reused for a hypervisor-privileged test.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/reg.h | 2 +
powerpc/sprs.c| 647 +-
2 files changed, 457 insertions(+), 192 deletions(-)
di
Move SPR and MSR defines out of ppc_asm.h and processor.h and into a
new include, asm/reg.h.
Add a define for the PVR SPR and various processor versions, and replace
the open coded numbers in the sprs.c test case.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/ppc_asm.h | 8
Add support for backtracing across interrupt stacks, and
add interrupt frame backtrace for unhandled interrupts.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/processor.c | 4 ++-
lib/ppc64/asm/stack.h | 3 +++
lib/ppc64/stack.c | 55 +
powerpc
it
were a stack frame. But this is fragile, and does not work with powernv
where address 0 contains firmware instructions.
Use the existing dummy frame on stack as the NULL caller, and create a
new frame on stack for the entry code.
Signed-off-by: Nicholas Piggin
---
powerpc/cstart64.S | 12
getchar() didn't get the shift value correct and never returned the
first character. This never really mattered since it was only ever
used for press-a-key-to-continue prompts. but it tripped me up when
debugging a QEMU console output problem.
Signed-off-by: Nicholas Piggin
---
lib/po
KVM does not like to run on POWER9 hosts without cap-ccf-assist=off.
Signed-off-by: Nicholas Piggin
---
powerpc/run | 2 ++
1 file changed, 2 insertions(+)
diff --git a/powerpc/run b/powerpc/run
index e469f1eb3..5cdb94194 100755
--- a/powerpc/run
+++ b/powerpc/run
@@ -24,6 +24,8 @@ M+=",
and other tests that
Joel and Thomas raised. Tidied up the new new SMP support and
fixed a couple of issues there. Added MMU, usermode support,
add atomics, timebase, PMU tests, and removes the ppc64
subdirectories.
Thanks,
Nick
Nicholas Piggin (32):
powerpc: Fix KVM caps on POWER9 hosts
power
This test stores to a bunch of pages and verifies previous stores,
while being continually migrated. This can fail due to a QEMU TCG
physical memory dirty bitmap bug.
Signed-off-by: Nicholas Piggin
---
common/memory-verify.c | 48 +
powerpc
The migration harness is complicated and easy to break so CI will
be helpful.
Signed-off-by: Nicholas Piggin
---
.gitlab-ci.yml | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 71d986e98..61f196d5d 100644
--- a/.gitlab
cooperative migration iterations reduced
to avoid increasing test time too much.
Signed-off-by: Nicholas Piggin
---
common/selftest-migration.c | 16 +--
lib/migrate.c | 18
lib/migrate.h | 3 ++
scripts/arch-run.bash | 55
This matches s390x clock and delay APIs, so common test code can start
using time facilities.
Signed-off-by: Nicholas Piggin
---
lib/powerpc/asm/processor.h | 21 -
lib/powerpc/asm/time.h | 30 ++
lib/powerpc/processor.c | 11
Have tests use the new migrate_skip command in skip paths, rather than
calling migrate_once to prevent harness reporting an error.
s390x/migration.c adds a new command that looks like it was missing
previously.
Signed-off-by: Nicholas Piggin
---
arm/gic.c | 21
ect a migration.
Signed-off-by: Nicholas Piggin
---
common/selftest-migration.c | 14 -
lib/migrate.c | 19 -
lib/migrate.h | 2 ++
powerpc/unittests.cfg | 6 ++
s390x/unittests.cfg | 5 +
scripts/arch-run.bash
, simplifying the
input pipeline.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 6daef3218..e5b36a07b 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch
test contually while it is running.
- Put some migration tests in gitlab CI for powerpc and s390.
- Add a test case that can reproduce the QEMU TCG dirty bitmap
migration bug.
Nicholas Piggin (7):
arch-run: Keep infifo open
migration: Add a migrate_skip command
(arm|s390): Use migrate_ski
On Fri Feb 23, 2024 at 5:06 PM AEST, Thomas Huth wrote:
> On 21/02/2024 04.27, Nicholas Piggin wrote:
> > Now that strange arm64 hang is found to be QEMU bug, I'll repost.
> > Since arm64 requires Thomas's uart patch and it is worse affected
> > by the QEMU bug,
Add a selftest for migration support in guest library and test harness
code. It performs migrations in a tight loop to irritate races and bugs
in the test harness code.
Include the test in s390, powerpc.
Acked-by: Claudio Imbrenda (s390x)
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas
x86/sieve.c is used by s390x, arm, and riscv via symbolic link. Make a
new directory common/ for architecture-independent tests and move
sieve.c here.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
arm/sieve.c| 2 +-
common/sieve.c | 51
Console output required to support migration becomes quite noisy
when doing lots of migrations. Provide a migrate_quiet() call that
suppresses console output and doesn't log a message.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
lib/migrate.c | 11 +++
Using 1 and 2 for source and destination is confusing, particularly
now with multiple migrations that flip between them. Do a rename
pass to 'src' and 'dst' to tidy things up.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts
Signed-off-by: Nicholas Piggin
---
lib/migrate.c | 8 ++--
lib/migrate.h | 1 +
scripts/arch-run.bash | 86 ---
3 files changed, 77 insertions(+), 18 deletions(-)
diff --git a/lib/migrate.c b/lib/migrate.c
index 527e63ae1..b77216594 100644
that is not running. This is easier to hit with subsequent
multiple-migration support. Changing this to use $! by swapping the
pipeline for a fifo is more robust.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 15 +++
1 file changed, 11 insertions
Rather than put a big script into the trap handler, have it call
a function.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index
n creation trap handler install.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index d0864360a..11d47a85c 100644
--- a/scripts/arc
ed slightly to remove the theoretical
race rather than just adding a comment about it.
- Patch 3 was missing a couple of fixes that leaked into patch 4,
those are moved into patch 3.
Thanks,
Nick
Nicholas Piggin (8):
arch-run: Fix TRAP handler recursion to remove temporary files
properly
On Mon Feb 19, 2024 at 4:56 PM AEST, Thomas Huth wrote:
> On 17/02/2024 08.19, Nicholas Piggin wrote:
> > On Fri Feb 16, 2024 at 9:15 PM AEST, Thomas Huth wrote:
> >> On 09/02/2024 10.11, Nicholas Piggin wrote:
> >>> Add a selftest for migration support in
On Fri Feb 16, 2024 at 9:15 PM AEST, Thomas Huth wrote:
> On 09/02/2024 10.11, Nicholas Piggin wrote:
> > Add a selftest for migration support in guest library and test harness
> > code. It performs migrations in a tight loop to irritate races and bugs
> > in
IG_PARAVIRT_TIME_ACCOUNTING")
Good find and fix. Paper bag for me.
I wonder why we didn't catch it in the first place. Maybe we
didn't understand the hypervisor's sharing algorithm and what
we expected it to report.
In any case this is right. The KVM implementation of the
Add a selftest for migration support in guest library and test harness
code. It performs migrations in a tight loop to irritate races and bugs
in the test harness code.
Include the test in arm, s390, powerpc.
Acked-by: Claudio Imbrenda (s390x)
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas
x86/sieve.c is used by s390x, arm, and riscv via symbolic link. Make a
new directory common/ for architecture-independent tests and move
sieve.c here.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
arm/sieve.c| 2 +-
common/sieve.c | 51
Console output required to support migration becomes quite noisy
when doing lots of migrations. Provide a migrate_quiet() call that
suppresses console output and doesn't log a message.
Signed-off-by: Nicholas Piggin
---
lib/migrate.c | 11 +++
lib/migrate.h
Using 1 and 2 for source and destination is confusing, particularly
now with multiple migrations that flip between them. Do a rename
pass to 'src' and 'dst' to tidy things up.
Acked-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts
Support multiple migrations by flipping dest file/socket variables to
source after the migration is complete, ready to start again. A new
destination is created if the test outputs the migrate line again.
Test cases may now switch to calling migrate() one or more times.
Signed-off-by: Nicholas
that is not running. This is easier to hit with subsequent
multiple-migration support. Changing this to use $! by swapping the
pipeline for a fifo is more robust.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 15 +++
1 file changed, 11 insertions
Rather than put a big script into the trap handler, have it call
a function.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 11d47a85..c1dd67ab 100644
n creation trap handler install.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index d0864360..11d47a85 100644
--- a/scripts/arch-run.
r patch reworked slightly to remove the theoretical
race rather than just adding a comment about it.
- Patch 3 was missing a couple of fixes that leaked into patch 4,
those are moved into patch 3.
Thanks,
Nick
Nicholas Piggin (8):
arch-run: Fix TRAP handler recursion to remove temporary file
On Fri Feb 9, 2024 at 6:19 PM AEST, Thomas Huth wrote:
> On 09/02/2024 08.01, Nicholas Piggin wrote:
> > Support multiple migrations by flipping dest file/socket variables to
> > source after the migration is complete, ready to start again. A new
> > destination is created if
On Fri Feb 9, 2024 at 5:32 PM AEST, Thomas Huth wrote:
> On 09/02/2024 08.01, Nicholas Piggin wrote:
> > Rather than put a big script into the trap handler, have it call
> > a function.
> >
> > Signed-off-by: Nicholas Piggin
> > ---
> > scripts/arch-r
Add a selftest for migration support in guest library and test harness
code. It performs migrations a tight loop to irritate races and bugs in
the test harness code.
Include the test in arm, s390, powerpc.
Acked-by: Claudio Imbrenda (s390x)
Signed-off-by: Nicholas Piggin
---
This has flushed
x86/sieve.c is used by s390x, arm, and riscv via symbolic link. Make a
new directory common/ for architecture-independent tests and move
sieve.c here.
Signed-off-by: Nicholas Piggin
---
arm/sieve.c| 2 +-
common/sieve.c | 51 +
riscv/sieve.c
Console output required to support migration becomes quite noisy
when doing lots of migrations. Provide a migrate_quiet() call that
suppresses console output and doesn't log a message.
Signed-off-by: Nicholas Piggin
---
lib/migrate.c | 12
lib/migrate.h
Using 1 and 2 for source and destination is confusing, particularly
now with multiple migrations that flip between them. Do a rename
pass to tidy things up.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 115 +-
1 file changed, 58 insertions
Support multiple migrations by flipping dest file/socket variables to
source after the migration is complete, ready to start again. A new
destination is created if the test outputs the migrate line again.
Test cases may now switch to calling migrate() one or more times.
Signed-off-by: Nicholas
that is not running. This is easier to hit with subsequent
multiple-migration support. Changing this to use $! by swapping the
pipeline for a fifo is more robust.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 15 +++
1 file changed, 11 insertions(+), 4 deletions(-)
diff
Rather than put a big script into the trap handler, have it call
a function.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 11d47a85..1e903e83 100644
trap-time rather than install-time, which closes
the small race between creation trap handler install.
Reviewed-by: Thomas Huth
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/scripts/arch-run.bash b/sc
it might be possible (along the
lines of starting ( sleep N ; kill ) subshell in the backround), but
it's very tricky to handle all the details. Existing script has
timeout issues already, so this series doesn't add a fundamentally
new type of problem here.
Thanks,
Nick
Nicholas Pi
On Wed Feb 7, 2024 at 5:58 PM AEST, Thomas Huth wrote:
> On 02/02/2024 07.57, Nicholas Piggin wrote:
> > Migration files weren't being removed when tests were interrupted.
> > This improves the situation.
> >
> > Signed-off-by: Nicholas Piggin
> >
On Fri Feb 9, 2024 at 6:15 AM AEST, Alexander Gordeev wrote:
> There is no architecture-specific code or data left
> that generic needs to know about.
> Thus, avoid the inclusion of header.
Nice cleanup!
Acked-by: Nicholas Piggin
>
> Reviewed-by: Frederic Weisbecker
On Fri Feb 9, 2024 at 6:15 AM AEST, Alexander Gordeev wrote:
> __ARCH_HAS_VTIME_TASK_SWITCH macro is not used anymore.
... but for benefit of patchwork if you decide to keep them
apart
Acked-by: Nicholas Piggin
>
> Reviewed-by: Frederic Weisbecker
> Acked-by: Heiko Carstens
>
think this could be squashed with patch 3.
Reviewed-by: Nicholas Piggin
>
> Reviewed-by: Frederic Weisbecker
> Signed-off-by: Alexander Gordeev
> ---
> arch/powerpc/include/asm/cputime.h | 13 -
> arch/powerpc/kernel/time.c | 22 ++
e it.
>
And powerpc arch_vtime_task_switch is static inline too,
so this just confuses things.
Reviewed-by: Nicholas Piggin
> Reviewed-by: Frederic Weisbecker
> Signed-off-by: Alexander Gordeev
> ---
> include/linux/vtime.h | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --g
ure if the bit is set,
but it does not set the feature if the bit is clear. The feature
is expected to be set in the cpu table.
This replaces the 'invert' modifier, which is unused since commit
7d4703455168 ("powerpc/feature: Remove CPU_FTR_NODSISRALIGN").
Signed-off-by: Nich
CPU_FTR_DBELL, and
ensure CPU_FTR_DBELL is not in CPU_FTRS_ALWAYS.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/cputable.h | 11 ++-
arch/powerpc/kernel/prom.c | 1 +
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/include/asm/cputable.h
b/arch
On Tue Feb 6, 2024 at 12:58 AM AEST, Marc Hartmayer wrote:
> On Fri, Feb 02, 2024 at 04:57 PM +1000, Nicholas Piggin
> wrote:
> > Starting a pipeline of jobs in the background does not seem to have
> > a simple way to reliably find the pid of a particular process in the
> &g
On Mon Feb 5, 2024 at 10:04 PM AEST, Thomas Huth wrote:
> On 02/02/2024 07.57, Nicholas Piggin wrote:
> > Rather than put a big script into the trap handler, have it call
> > a function.
> >
> > Signed-off-by: Nicholas Piggin
> > ---
> > scripts/arch-
Add a selftest for migration support in guest library and test harness
code. It performs migrations a tight loop to irritate races and bugs in
the test harness code.
Acked-by: Claudio Imbrenda (s390x)
Signed-off-by: Nicholas Piggin
This has flushed out several bugs in developing the multi
x86/sieve.c is used by s390x and arm via symbolic link. Make a new
directory common/ for architecture-independent tests and move
sieve.c here.
Signed-off-by: Nicholas Piggin
---
arm/sieve.c| 2 +-
common/sieve.c | 51 +
s390x/sieve.c | 2
Console output required to support migration becomes quite noisy
when doing lots of migrations. Provide a migrate_quiet() call that
suppresses console output and doesn't log a message.
Signed-off-by: Nicholas Piggin
---
lib/migrate.c | 12
lib/migrate.h
Using 1 and 2 for source and destination is confusing, particularly
now with multiple migrations that flip between them. Do a rename
pass to tidy things up.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 112 +-
1 file changed, 57 insertions
Support multiple migrations by flipping dest file/socket variables to
source after the migration is complete, ready to start again. A new
destination is created if the test outputs the migrate line again.
Test cases may now switch to calling migrate() one or more times.
Signed-off-by: Nicholas
that is not running. This is easier to hit with subsequent
multiple-migration support. Changing this to use $! by swapping the
pipeline for a fifo is more robust.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git
Rather than put a big script into the trap handler, have it call
a function.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index f22ead6f..cc7da7c5 100644
Migration files weren't being removed when tests were interrupted.
This improves the situation.
Signed-off-by: Nicholas Piggin
---
scripts/arch-run.bash | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index d08
prerequisite for this recipe.
Fixes: f2372f2d49135 ("(arm|powerpc|s390x): Makefile: add `%.aux.o` target")
Signed-off-by: Nicholas Piggin
---
arm/Makefile.common | 2 +-
powerpc/Makefile.common | 2 +-
s390x/Makefile | 2 +-
3 files changed, 3 insertions(+), 3 deletion
. And arm now has a reason to implement a
a getchar that can run more than 15 times.
Thanks,
Nick
Nicholas Piggin (9):
(arm|powerpc|s390x): Makefile: Fix .aux.o generation
arch-run: Clean up temporary files properly
arch-run: Clean up initrd cleanup
migration: use a more robust way to wai
The PS3 hcall assembly code makes ad-hoc stack frames that don't have
a back-chain pointer or meet other requirements like minimum frame size.
This probably confuses stack unwinders. Give all hcalls a real stack
frame.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/ps3/hvcall.S
The LRSAVE constant is required for assembly compiled for both 32-bit
and 64-bit, because the value differs there. PS3 is 64-bit only so
this is a noop, but it is nice to abstract stack frame offsets.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/ps3/hvcall.S | 128
This (hopefully) fixes the ELFv2 bug that Geoff reported, with patch
1. And a couple of other possible improvements I noticed.
I don't have a PS3 setup[*] so I have only compile tested these, I'm
sorry.
[*] Is RPCS3 usable for this kind of thing?
Thanks,
Nick
Nicholas Piggin (3):
p
Stack-passed parameters begin at a different offset in the caller's
stack in the ELFv2 ABI.
Reported-by: Geoff Levand
Fixes: 8c5fa3b5c4df ("powerpc/64: Make ELFv2 the default for big-endian builds")
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/ppc_asm.h |
201 - 300 of 1888 matches
Mail list logo