-
Notifications
You must be signed in to change notification settings - Fork 48
/
riscv-trace-spec.tex
executable file
·122 lines (96 loc) · 3.04 KB
/
riscv-trace-spec.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
%=======================================================================
% riscv-trace.tex
%-----------------------------------------------------------------------
\documentclass[twoside,11pt]{book}
\usepackage{footnote}
\usepackage{textcomp}
\usepackage{listings}
\usepackage{float}
\makesavenoteenv{tabulary}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\input{preamble}
% All registers are named here. That way when we rename one we'll get errors if
% there are still references to the old name.
\usepackage{makeidx}
\makeindex
\usepackage{alltt}
\usepackage{xspace}
\usepackage{placeins}
\usepackage{algorithm}
\PassOptionsToPackage{noend}{algpseudocode}% comment out if want end's to show
\usepackage{algpseudocode}
\usepackage{hyperref}
\newcommand{\versionnum}{2.0.1}
\input{vc.tex}
\begin{document}
\setcounter{footnote}{0}
\title{
\begin{figure}[H]
\centering
\includegraphics{riscvLogo.png}
\end{figure}
Efficient Trace for RISC-V\\
Version \versionnum\\
\GITHash
}
\author{
Gajinder Panesar, Iain Robertson \\
\textless gajinder.panesar@gmail.com\textgreater, \textless iain.robertson@siemens.com\textgreater \\
Siemens
}
%\begin{figure}[b]
%\begin{center}
% \includegraphics{riscvLogo.png}
% \label{fig:riscvLogo}
%\end{center}
%\end{figure}
%\begin{figure}[H]
%\centering
%\includegraphics[height=1cm, width=5cm]{riscvLogo.png}
%\end{figure}
\maketitle
\markboth{Efficient Trace for RISC-V Version \versionnum}
{Efficient Trace for RISC-V Version \versionnum}
\thispagestyle{empty}
\frontmatter
\chapter{Change History}
\begin{table}[htp]
\centering
\label{tab:change-history}
\begin{tabulary}{\textwidth}{|l|p{145mm}|}
\hline
{\bf Version} & {\bf Changes} \\
\hline
2.0 & Baseline \\
\hline
2.0.1 & Clarifications only - no changes to normative behaviour.\newline
- Control field definitions removed from section \ref{encoderControl}, which now references the
\href{https://github.com/riscv-non-isa/tg-nexus-trace/blob/master/docs/RISC-V-Trace-Control-Interface.adoc}{RISC-V Trace Control Interface Specification} \newline
- Added detail on handling of multi-load/store instructions for data trace to section \ref{sec:DataInterfaceRequirements}. \newline
- Removed references to tail-calls in jump classifications in section \ref{sec:InstructionInterfaceRequirements}. \newline
- Corrected typos where \textbf{lrid} was inadvertently refered to by an earlier name (\textbf{index}) in section \ref{sec:data-loadstore}. \newline
- Corrected reference decoder in section \ref{Decoder} to cover a corner-case related to trap returns. \\
\hline
\end{tabulary}
\end{table}
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\input{introduction}
\input{control.tex}
\input{branchTrace.tex}
\input{ingressPort.tex}
\input{filtering.tex}
\input{timestamping.tex}
\input{payload.tex}
\input{dataTracePayload.tex}
\input{exampleAlgorithm.tex}
\input{discovery.tex}
\input{decoder.tex}
\input{exampleCodeSnippets.tex}
\input{fragmentCodeAndTransport.tex}
\input{future.tex}
\newpage
\end{document}