aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Margiolis <christos@FreeBSD.org>2023-06-03 17:04:57 +0000
committerChristos Margiolis <christos@FreeBSD.org>2023-06-03 17:04:57 +0000
commit9b091f12008f060cd1c03b91b020f24187341d60 (patch)
tree44533a3605935307a4f70d4c991e68f95ed4dbf3
parent980746e5cb264a70ad3dcbbf38ba919ad3436aa1 (diff)
downloadsrc-9b091f12008f060cd1c03b91b020f24187341d60.tar.gz
src-9b091f12008f060cd1c03b91b020f24187341d60.zip
kinst: simplify trampoline fill definitions
Centralize KINST_TRAMP_FILL_PATTERN and KINST_TRAMP_FILL_SIZE to reduce redefinitions, and use the architecture-dependent kinst_patchval_t as their size. Reviewed by: markj Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40406
-rw-r--r--sys/cddl/dev/kinst/amd64/kinst_isa.h6
-rw-r--r--sys/cddl/dev/kinst/trampoline.c5
2 files changed, 6 insertions, 5 deletions
diff --git a/sys/cddl/dev/kinst/amd64/kinst_isa.h b/sys/cddl/dev/kinst/amd64/kinst_isa.h
index eb4f79c4c726..bd7d40f4bd06 100644
--- a/sys/cddl/dev/kinst/amd64/kinst_isa.h
+++ b/sys/cddl/dev/kinst/amd64/kinst_isa.h
@@ -17,10 +17,8 @@
* have 2 instructions stored in the trampoline, and each of them can take up
* to 16 bytes, 32 bytes is enough to cover even the worst case scenario.
*/
-#define KINST_TRAMP_SIZE 32
-#define KINST_TRAMPCHUNK_SIZE PAGE_SIZE
-#define KINST_TRAMP_FILL_PATTERN ((uint8_t []){KINST_PATCHVAL})
-#define KINST_TRAMP_FILL_SIZE sizeof(uint8_t)
+#define KINST_TRAMP_SIZE 32
+#define KINST_TRAMPCHUNK_SIZE PAGE_SIZE
typedef uint8_t kinst_patchval_t;
diff --git a/sys/cddl/dev/kinst/trampoline.c b/sys/cddl/dev/kinst/trampoline.c
index 75efd022fb20..5c8c27343201 100644
--- a/sys/cddl/dev/kinst/trampoline.c
+++ b/sys/cddl/dev/kinst/trampoline.c
@@ -28,7 +28,10 @@
#include "kinst.h"
#include "kinst_isa.h"
-#define KINST_TRAMPS_PER_CHUNK (KINST_TRAMPCHUNK_SIZE / KINST_TRAMP_SIZE)
+#define KINST_TRAMP_FILL_PATTERN ((kinst_patchval_t []){KINST_PATCHVAL})
+#define KINST_TRAMP_FILL_SIZE sizeof(kinst_patchval_t)
+
+#define KINST_TRAMPS_PER_CHUNK (KINST_TRAMPCHUNK_SIZE / KINST_TRAMP_SIZE)
struct trampchunk {
TAILQ_ENTRY(trampchunk) next;