svn commit: r338500 - head/sys/powerpc/include
Breno Leitao
leitao at FreeBSD.org
Thu Sep 6 17:07:22 UTC 2018
Author: leitao
Date: Thu Sep 6 17:07:21 2018
New Revision: 338500
URL: https://svnweb.freebsd.org/changeset/base/338500
Log:
powerpc64: Add initial support for HTM (kABI)
This patch adds the very initial support for HTM that might come at FreeBSD
version 12.1. This basic support defines a new kABI, so, we do not need to change
it later during 12.1 time frame, when the full implementation will come.
Reviewed by: jhibbits
Approved by: re(marius), jhibbits (mentor)
Differential Revision: https://reviews.freebsd.org/D16889
Modified:
head/sys/powerpc/include/pcb.h
head/sys/powerpc/include/pcpu.h
Modified: head/sys/powerpc/include/pcb.h
==============================================================================
--- head/sys/powerpc/include/pcb.h Thu Sep 6 16:17:45 2018 (r338499)
+++ head/sys/powerpc/include/pcb.h Thu Sep 6 17:07:21 2018 (r338500)
@@ -56,6 +56,7 @@ struct pcb {
#define PCB_VEC 0x4 /* Process had Altivec initialized */
#define PCB_VSX 0x8 /* Process had VSX initialized */
#define PCB_CDSCR 0x10 /* Process had Custom DSCR initialized */
+#define PCB_HTM 0x20 /* Process had HTM initialized */
struct fpu {
union {
double fpr;
@@ -73,6 +74,11 @@ struct pcb {
} pcb_vec __aligned(16); /* Vector processor */
unsigned int pcb_veccpu; /* which CPU had our vector
stuff. */
+ struct htm {
+ uint64_t tfhar;
+ uint64_t texasr;
+ uint64_t tfiar;
+ } pcb_htm;
union {
struct {
Modified: head/sys/powerpc/include/pcpu.h
==============================================================================
--- head/sys/powerpc/include/pcpu.h Thu Sep 6 16:17:45 2018 (r338499)
+++ head/sys/powerpc/include/pcpu.h Thu Sep 6 17:07:21 2018 (r338500)
@@ -45,6 +45,7 @@ struct pvo_entry;
struct pmap *pc_curpmap; /* current pmap */ \
struct thread *pc_fputhread; /* current fpu user */ \
struct thread *pc_vecthread; /* current vec user */ \
+ struct thread *pc_htmthread; /* current htm user */ \
uintptr_t pc_hwref; \
int pc_bsp; \
volatile int pc_awake; \
More information about the svn-src-head
mailing list