Date: Thu, 6 Sep 2018 17:07:21 +0000 (UTC) From: Breno Leitao <leitao@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r338500 - head/sys/powerpc/include Message-ID: <201809061707.w86H7LwT090971@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809061707.w86H7LwT090971>