summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-10-18 16:20:04 +0000
committerdfr <dfr@FreeBSD.org>2001-10-18 16:20:04 +0000
commitacb4f4cc337f66f275a29d2ae71ab5c3cc90a80c (patch)
treebcd6bdadee8208c576fffceb54ec823f64132d48 /sys/ia64/include
parent2b9b30364617025e5c2187bdd827adb490cb1a1e (diff)
downloadFreeBSD-src-acb4f4cc337f66f275a29d2ae71ab5c3cc90a80c.zip
FreeBSD-src-acb4f4cc337f66f275a29d2ae71ab5c3cc90a80c.tar.gz
Shift the code which packs and unpacks instruction bundles out of DDB
since it is useful for various emulations duties (e.g. unaligned trap handling).
Diffstat (limited to 'sys/ia64/include')
-rw-r--r--sys/ia64/include/db_machdep.h5
-rw-r--r--sys/ia64/include/inst.h10
2 files changed, 11 insertions, 4 deletions
diff --git a/sys/ia64/include/db_machdep.h b/sys/ia64/include/db_machdep.h
index c419092..caa0c40b 100644
--- a/sys/ia64/include/db_machdep.h
+++ b/sys/ia64/include/db_machdep.h
@@ -41,10 +41,7 @@
#define DB_NO_AOUT
-struct ia64_bundle {
- u_int64_t slot[3];
- int template;
-};
+struct ia64_bundle;
typedef vm_offset_t db_addr_t; /* address - unsigned */
typedef long db_expr_t; /* expression - signed */
diff --git a/sys/ia64/include/inst.h b/sys/ia64/include/inst.h
index 5abea43..60ab22f 100644
--- a/sys/ia64/include/inst.h
+++ b/sys/ia64/include/inst.h
@@ -1165,4 +1165,14 @@ union ia64_instruction {
u_int64_t ins;
};
+struct ia64_bundle {
+ u_int64_t slot[3];
+ int template;
+};
+
+extern void ia64_unpack_bundle(u_int64_t low, u_int64_t high,
+ struct ia64_bundle *bp);
+extern void ia64_pack_bundle(u_int64_t *lowp, u_int64_t *highp,
+ const struct ia64_bundle *bp);
+
#endif /* _MACHINE_INST_H_ */
OpenPOWER on IntegriCloud