From 57765364fcf29e91b2b59311b4501f12dc347bc1 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 30 Apr 2026 17:25:25 +0200 Subject: [PATCH 1/4] Return to using assembly SCAL kernels on FreeBSD --- kernel/power/KERNEL.PPC970 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/kernel/power/KERNEL.PPC970 b/kernel/power/KERNEL.PPC970 index 597ed9e5f7..0c8b473320 100644 --- a/kernel/power/KERNEL.PPC970 +++ b/kernel/power/KERNEL.PPC970 @@ -90,9 +90,3 @@ CROTKERNEL = ../arm/zrot.c ZROTKERNEL = ../arm/zrot.c endif -ifeq ($(OSNAME), FreeBSD) -SSCALKERNEL = ../arm/scal.c -DSCALKERNEL = ../arm/scal.c -CSCALKERNEL = ../arm/zscal.c -ZSCALKERNEL = ../arm/zscal.c -endif From 54efe8ae714e63b5c5ed543f4a332b0b859c309f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 30 Apr 2026 17:28:10 +0200 Subject: [PATCH 2/4] Correct stack offset of FLAG on FreeBSD --- kernel/power/scal.S | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/power/scal.S b/kernel/power/scal.S index 97fa8e9bf7..50e05a7954 100644 --- a/kernel/power/scal.S +++ b/kernel/power/scal.S @@ -91,8 +91,12 @@ fcmpu cr0, FZERO, ALPHA bne- cr0, LL(A1I1) - LDLONG FLAG, 120(SP) - cmpwi cr0, FLAG, 1 +#ifdef (__FreeBSD__) + LDLONG FLAG, 104(SP) +#else + LDLONG FLAG, 120(SP) +#endif + cmpwi cr0, FLAG, 1 beq- cr0, LL(A1I1) cmpwi cr0, INCX, SIZE From 703710763d6cc31fe317a3ef62e0bed2b81a4a4b Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 30 Apr 2026 17:29:31 +0200 Subject: [PATCH 3/4] Correct stack offset of FLAG on FreeBSD --- kernel/power/zscal.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/power/zscal.S b/kernel/power/zscal.S index 042fa03811..dbf4a98857 100644 --- a/kernel/power/zscal.S +++ b/kernel/power/zscal.S @@ -96,7 +96,11 @@ fcmpu cr0, FZERO, ALPHA_I bne- cr0, LL(A1I1) +#if defined(__FreeBSD__) + LDLONG FLAG, 112(SP) +#else LDLONG FLAG, 128(SP) +#endif cmpwi cr0, FLAG, 1 beq- cr0, LL(A1I1) From 33c14c66c79f61e2b0b8ad9f2c0a9d2f8bfb80ff Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 30 Apr 2026 17:31:01 +0200 Subject: [PATCH 4/4] spell out ifdefined --- kernel/power/scal.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/power/scal.S b/kernel/power/scal.S index 50e05a7954..2b63fade51 100644 --- a/kernel/power/scal.S +++ b/kernel/power/scal.S @@ -91,7 +91,7 @@ fcmpu cr0, FZERO, ALPHA bne- cr0, LL(A1I1) -#ifdef (__FreeBSD__) +#if defined(__FreeBSD__) LDLONG FLAG, 104(SP) #else LDLONG FLAG, 120(SP)