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;                                       \
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to