Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions herd/libdir/aarch64.cat
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ with IC-after from (all-IC-Imp_Instr_R-enums local-hw-reqs)

(** Explicitly-hazard-ordered-before **)
let Exp-haz-ob =
[Exp & R]; (po & same-loc); [Exp & R]; sca-class?; [Exp & R]; (ca & ext); [Exp & W | HU]; sca-class?; [Exp & W | HU]
[Exp & R]; (po & same-loc); [Exp & R]; sca-class?; [Exp & R]; (ca & ext); [Exp & W | Imp & TTD & W]; sca-class?; [Exp & W | Imp & TTD & W]

(** TLBI-ordered-before **)

Expand Down Expand Up @@ -110,11 +110,11 @@ let Tag-obs =

(* TLBUncacheable-coherence-after *)
let TLBuncacheable-ca =
[range([TLBUncacheable & FAULT]; tr-ib^-1; [Imp & TTD & R])]; ca; [Exp & W | HU]
[range([TLBUncacheable & FAULT]; tr-ib^-1; [Imp & TTD & R])]; ca; [Exp & W | Imp & TTD & W]

(* Hardware-update-coherence-after *)
let HU-ca =
[Exp & R]; ca; [HU]
[Exp & R]; ca; [Imp & TTD & W]

(* TLBI-coherence-after *)
let TLBI-ca =
Expand All @@ -125,7 +125,7 @@ let TTD-obs =
[Imp & TTD]; rf | rf; [Imp & TTD]
| TLBuncacheable-ca
| HU-ca
| [HU]; ca; [W] | [W]; ca; [HU]
| [Imp & TTD & W]; ca; [W] | [W]; ca; [Imp & TTD & W]
| TLBI-ca

(** Instr-observed-by **)
Expand Down
7 changes: 3 additions & 4 deletions herd/libdir/aarch64deps.cat
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ let lrrs =
(* Local memory write successor *)
let lmws =
[Exp & M | Imp & Tag & R]; (po & same-loc); [Exp & W]
| [Imp & TTD & R]; (po & same-loc); [Exp & W | HU]
| [Imp & TTD & R]; (po & same-loc); [Exp & W | Imp & TTD & W]

(* Local memory read successor *)
let lmrs = [W]; ((po & same-loc) & ~(intervening(W,(po & same-loc)))); [R]
Expand All @@ -67,7 +67,7 @@ let rec dtrm =
(** Data, Address and Control dependencies *)

let data = [Exp & R]; dtrm & po; [Rreg]; iico_data & ii_data; [Exp & W]
let addr = [Exp & R]; dtrm & po; [Rreg]; iico_data & ii_addr; [Exp & M | Imp & Tag & R | Imp & TTD & R | HU | TLBI | DC.CVAU | IC.IVAU]
let addr = [Exp & R]; dtrm & po; [Rreg]; iico_data & ii_addr; [Exp & M | Imp & Tag & R | Imp & TTD & M | TLBI | DC.CVAU | IC.IVAU]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know TTD & M has been used elsewhere, but cat2table currently assumes TTD is a subset of M, which is also confirmed by the aarch64assumptions.cat file, ran across the test suite. I'm wondering if we can leave this occurrence as Imp & TTD. Perhaps Imp & TTD & M might still be better in order to keep miaou7 output consistent with Arm ARM proses. What do you think?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps Imp & TTD & M might still be better in order to keep miaou7 output consistent with Arm ARM proses.

Yes.

let ctrl = [Exp & R]; dtrm & po; [Rreg]; iico_data; [BCC]; po

(** Pick dependencies *)
Expand All @@ -80,7 +80,7 @@ let pick-basic-dep =
[Exp & R]; pick-dtrm

let pick-addr-dep =
[Exp & R]; pick-dtrm & po; [Rreg]; iico_data & ii_addr; [Exp & M | Imp & Tag & R | Imp & TTD & R | HU | TLBI | DC.CVAU | IC.IVAU]
[Exp & R]; pick-dtrm & po; [Rreg]; iico_data & ii_addr; [Exp & M | Imp & Tag & R | Imp & TTD & M | TLBI | DC.CVAU | IC.IVAU]
let pick-data-dep =
[Exp & R]; pick-dtrm & po; [Rreg]; (iico_data | (iico_data; iico_ctrl)) & ii_data; [Exp & W]
let pick-ctrl-dep =
Expand All @@ -94,4 +94,3 @@ let pick-dep =
) & ~same-instance

include "aarch64show.cat"

16 changes: 8 additions & 8 deletions herd/libdir/aarch64hwreqs.cat
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ let IFB-ob =
let dob =
addr
| data
| ctrl; [Exp & W | HU | TLBI | DC.CVAU | IC]
| addr; [Exp & M]; po; [Exp & W | HU]
| ctrl; [Exp & W | Imp & TTD & W | TLBI | DC.CVAU | IC]
| addr; [Exp & M]; po; [Exp & W | Imp & TTD & W]
| addr; [Exp & M]; lmrs; [Exp & R | Imp & Tag & R]
| data; [Exp & M]; lmrs; [Exp & R | Imp & Tag & R]
| [Imp & TTD & R]; tr-ib; [Exp & M]; po; [Exp & W | HU]
| [Imp & Tag & R]; tc-before; [Exp & M]; po; [Exp & W | HU]
| [Imp & TTD & R]; tr-ib; [Exp & M]; po; [Exp & W | Imp & TTD & W]
| [Imp & Tag & R]; tc-before; [Exp & M]; po; [Exp & W | Imp & TTD & W]

(* Fetch-ordered-before *)
let f-ob =
Expand All @@ -113,16 +113,16 @@ let intr-ob =

(* Pick-ordered-before *)
let pob =
pick-addr-dep; [Exp & W | HU | TLBI | DC.CVAU | IC]
pick-addr-dep; [Exp & W | Imp & TTD & W | TLBI | DC.CVAU | IC]
| pick-data-dep
| pick-ctrl-dep; [Exp & W | HU | TLBI | DC.CVAU | IC]
| pick-addr-dep; [Exp & M]; po; [Exp & W | HU]
| pick-ctrl-dep; [Exp & W | Imp & TTD & W | TLBI | DC.CVAU | IC]
| pick-addr-dep; [Exp & M]; po; [Exp & W | Imp & TTD & W]

(* Atomic-ordered-before *)
let aob =
[Exp & M]; rmw; [Exp & M]
| [Exp & M]; rmw; lmrs; [(Exp & R & A) | (Exp & R & Q)]
| [Imp & TTD & R]; rmw; [HU]
| [Imp & TTD & R]; rmw; [Imp & TTD & W]

(* Barrier-ordered-before *)
let bob =
Expand Down
3 changes: 1 addition & 2 deletions herd/libdir/aarch64util.cat
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,7 @@ let same-translation-context = (Imp & TTD) * (Imp & TTD)


(* HW TTD Updates permitted only for the AF or DB *)
let HU = Imp & TTD & W
assert empty HU \ (AF | DB)
assert empty (Imp & TTD & W) \ (AF | DB)

(*
* Include aarch64fences.cat to define barriers.
Expand Down
1 change: 0 additions & 1 deletion herd/libdir/catdefinitions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@

\newcommand{\ImpTTDM}[1]{#1 is an Implicit TTD Memory Effect}
\newcommand{\ImpTTDW}[1]{#1 is an Implicit TTD Memory Write Effect}
\newcommand{\HU}[1]{#1 is a Hardware Update Effect}
\newcommand{\ImpTTDR}[1]{#1 is an Implicit TTD Memory Read Effect}

\newcommand{\ImpInstrM}[1]{#1 is an Implicit Instruction Memory Effect}
Expand Down
36 changes: 17 additions & 19 deletions tools/tests/miaou.t
Original file line number Diff line number Diff line change
Expand Up @@ -334,15 +334,15 @@
\item \expandafter{\MakeUppercase\HUca{E\textsubscript{1}}{E\textsubscript{2}}}.
\item All of the following apply:
\begin{itemize}
\item \HU{E\textsubscript{1}}.
\item \ImpTTDW{E\textsubscript{1}}.
\item \expandafter{\MakeUppercase\ca{E\textsubscript{1}}{E\textsubscript{2}}}.
\item \W{E\textsubscript{2}}.
\end{itemize}
\item All of the following apply:
\begin{itemize}
\item \W{E\textsubscript{1}}.
\item \expandafter{\MakeUppercase\ca{E\textsubscript{1}}{E\textsubscript{2}}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\item \expandafter{\MakeUppercase\TLBIca{E\textsubscript{1}}{E\textsubscript{2}}}.
\end{itemize}
Expand Down Expand Up @@ -396,8 +396,7 @@
\begin{itemize}
\item \ExpM{E\textsubscript{2}}.
\item \ImpTagR{E\textsubscript{2}}.
\item \ImpTTDR{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDM{E\textsubscript{2}}.
\item \TLBI{E\textsubscript{2}}.
\item \DCCVAU{E\textsubscript{2}}.
\item \ICIVAU{E\textsubscript{2}}.
Expand Down Expand Up @@ -428,7 +427,7 @@
\begin{itemize}
\item \ImpTTDR{E\textsubscript{1}}.
\item \expandafter{\MakeUppercase\rmw{E\textsubscript{1}}{E\textsubscript{2}}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}

Expand Down Expand Up @@ -591,7 +590,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\item \TLBI{E\textsubscript{2}}.
\item \DCCVAU{E\textsubscript{2}}.
\item \IC{E\textsubscript{2}}.
Expand All @@ -605,7 +604,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}
\item All of the following apply:
Expand Down Expand Up @@ -639,7 +638,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}
\item All of the following apply:
Expand All @@ -651,7 +650,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}
\end{itemize}
Expand Down Expand Up @@ -691,7 +690,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{5}}.
\item \HU{E\textsubscript{5}}.
\item \ImpTTDW{E\textsubscript{5}}.
\end{itemize}
\item One of the following applies:
\begin{itemize}
Expand All @@ -701,7 +700,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}

Expand Down Expand Up @@ -809,8 +808,7 @@
\begin{itemize}
\item \ExpM{E\textsubscript{2}}.
\item \ImpTagR{E\textsubscript{2}}.
\item \ImpTTDR{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDM{E\textsubscript{2}}.
\item \TLBI{E\textsubscript{2}}.
\item \DCCVAU{E\textsubscript{2}}.
\item \ICIVAU{E\textsubscript{2}}.
Expand Down Expand Up @@ -924,7 +922,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\item \TLBI{E\textsubscript{2}}.
\item \DCCVAU{E\textsubscript{2}}.
\item \IC{E\textsubscript{2}}.
Expand All @@ -937,7 +935,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\item \TLBI{E\textsubscript{2}}.
\item \DCCVAU{E\textsubscript{2}}.
\item \IC{E\textsubscript{2}}.
Expand All @@ -951,7 +949,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}
\end{itemize}
Expand Down Expand Up @@ -1087,7 +1085,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}
\end{itemize}
Expand Down Expand Up @@ -1121,7 +1119,7 @@
\item One of the following applies:
\begin{itemize}
\item \ExpW{E\textsubscript{2}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
\end{itemize}

Expand All @@ -1130,5 +1128,5 @@
\begin{itemize}
\item \ExpR{E\textsubscript{1}}.
\item \expandafter{\MakeUppercase\ca{E\textsubscript{1}}{E\textsubscript{2}}}.
\item \HU{E\textsubscript{2}}.
\item \ImpTTDW{E\textsubscript{2}}.
\end{itemize}
Loading