From 222aa8d6b6f928f0a8e640516db75f275eb8ff41 Mon Sep 17 00:00:00 2001 From: Alessandro Rubini <rubini@gnudd.com> Date: Wed, 20 Jun 2012 13:34:07 +0200 Subject: [PATCH] docs: another small pass, at least it compiles now Signed-off-by: Alessandro Rubini <rubini@gnudd.com> --- docs/specification/proposal.tex | 60 ++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/docs/specification/proposal.tex b/docs/specification/proposal.tex index 6027bc5..3d173de 100644 --- a/docs/specification/proposal.tex +++ b/docs/specification/proposal.tex @@ -208,7 +208,7 @@ the encompassing address space and includes a \textit{product} structure. \item[Interconnect] \hfill \\ -The \textitinterconnect} is a \textitcomponent} representing an address demultiplexer. +The \textit{interconnect} is a \textit{component} representing an address demultiplexer. The associated data structure heads an array of \textit{product} descriptions; its specific fields are magic number, bus type, version and the number of structures in the array. @@ -448,37 +448,49 @@ tools and system calls. \section{SDB Structures} +This section defines the structures that are to be embedded in the +address space of the target bus. The words \textbf{shall}, +\textbf{must}, \textbf{should}, \textbf{may}, \textbf{can} have the +usual normative meaning when used in bold face. -Note: the document has not been updated after this point. -\vfill +\subsection{Definitions} -This section describes the important structures that are a part of the SDB specification. - -\subsection{SDB Table} +\begin{description} +\item[SDB Structure] \hfill \\ +A 64-byte memory area, located within the bus being described +at a known address. The structure \textbf{must} bit 64-byte aligned +and it \textbf{must} be readable with +32-bit I/O transactions. The bus \textbf{may} allow 64-bit, 16-bit +and 8-bit access to the structure. Code reading the structure +\textbf{should} use 32-bit transfers, and \textbf{can} use different +sizes only when aware of the specifics of the bus. + +\item[SDB Record] \hfill \\ +A synonym for \textit{SDB structure}. + +\item[SDB Array or SDB Table] \hfill \\ +An in-memory array of SDB records. The records \textbf{must} +be contiguous with no intervening holes, and the table \textbf{must} +be aligned at a 64-byte boundary. +he first SDB structure in the array \textbf{must} be an \textit{interconnect} +record. + +\item[SDB Product] \hfill \\ +A data structure hosted within some SDB records. All currently defined +record types are \textit{products}. + +\item[SDB Component] \hfill \\ +A data structure hosted within some SDB records. A \textit{component} +includes a \textit{product} structure and defines an address range. -The most important structure that needs to be present in a design to support SDB -based autodiscovery is the SDB table. +\end{description} -The SDB table is a contiguous array of records that provides the needed metadata -about devices. There is no restriction placed on where this table is located in -memory and the higher levels only need to know the location of the top-level table -to recursively discover the descriptions of all the blocks. +The following sections define the details of each structure. -An SDB table is composed of multiple SDB records. There are four different types of -SDB records that can be used to describe different parts of the design. -\begin{enumerate} -\item Interconnect Record -\item Device Record -\item Bridge Record -\item Integrator Record -\end{enumerate} -\subsection{SDB Product Info} +\subsection{SDB Product Structure} -The SDB product info structure is a 40 byte structure that provides information about -the specific product being described. The information provided here is used for device -identification. \begin{center} \begin{savenotes} -- GitLab