aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2021-03-17 14:10:41 +0000
committerEd Maste <emaste@FreeBSD.org>2021-03-24 18:37:34 +0000
commitdb50c8123469e3eab07e931019bf6d4df2d55c78 (patch)
tree63b0f9f1e05556cdbec025ef040c0178993c5f24
parente4bdf7ac2a32ba1f2402e06360e476ec804210e7 (diff)
downloadsrc-db50c8123469e3eab07e931019bf6d4df2d55c78.tar.gz
src-db50c8123469e3eab07e931019bf6d4df2d55c78.zip
arm64: implement COMPAT_FREEBSD32 fill/set dbregs/fpregs
On FreeBSD/arm fill_fpregs, fill_dbregs are stubs that zero the reg struct and return success. set_fpregs and set_dbregs do nothing and return success. Provide the same implementation for arm64 COMPAT_FREEBSD32. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29314 (cherry picked from commit 5be27cbf16c85ce95d21db57349f61494f851821)
-rw-r--r--sys/arm64/arm64/machdep.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c
index 91f0a31ebe36..c825c1a18c70 100644
--- a/sys/arm64/arm64/machdep.c
+++ b/sys/arm64/arm64/machdep.c
@@ -489,36 +489,35 @@ set_regs32(struct thread *td, struct reg32 *regs)
return (0);
}
+/* XXX fill/set dbregs/fpregs are stubbed on 32-bit arm. */
int
fill_fpregs32(struct thread *td, struct fpreg32 *regs)
{
- printf("ARM64TODO: fill_fpregs32");
- return (EDOOFUS);
+ memset(regs, 0, sizeof(*regs));
+ return (0);
}
int
set_fpregs32(struct thread *td, struct fpreg32 *regs)
{
- printf("ARM64TODO: set_fpregs32");
- return (EDOOFUS);
+ return (0);
}
int
fill_dbregs32(struct thread *td, struct dbreg32 *regs)
{
- printf("ARM64TODO: fill_dbregs32");
- return (EDOOFUS);
+ memset(regs, 0, sizeof(*regs));
+ return (0);
}
int
set_dbregs32(struct thread *td, struct dbreg32 *regs)
{
- printf("ARM64TODO: set_dbregs32");
- return (EDOOFUS);
+ return (0);
}
#endif