[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Datamodel changes adding some basic vTPM extensions to the API that
# HG changeset patch # User Ewan Mellor <ewan@xxxxxxxxxxxxx> # Node ID 2ec35abfd9a2663d9309bc72169d24a088a06245 # Parent 0bf7d37bcfdbb01daed517f059c2b6df633e7288 Datamodel changes adding some basic vTPM extensions to the API that make its handling similar to that of VBD etc. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> --- docs/xen-api/xenapi-datamodel.tex | 414 ++++++++++++++++++++++++++++++++++---- 1 files changed, 372 insertions(+), 42 deletions(-) diff -r 0bf7d37bcfdb -r 2ec35abfd9a2 docs/xen-api/xenapi-datamodel.tex --- a/docs/xen-api/xenapi-datamodel.tex Wed Oct 25 20:40:49 2006 +0100 +++ b/docs/xen-api/xenapi-datamodel.tex Wed Oct 25 20:44:01 2006 +0100 @@ -32,6 +32,7 @@ Name & Description \\ {\tt SR} & A storage repository \\ {\tt VDI} & A virtual disk image \\ {\tt VBD} & A virtual block device \\ +{\tt VTPM} & A virtual TPM device \\ {\tt user} & A user of the system \\ {\tt debug} & A basic class for testing \\ \hline @@ -49,6 +50,7 @@ VIF.VM & VM.VIFs & one-to-many\\ VIF.VM & VM.VIFs & one-to-many\\ VIF.network & network.VIFs & one-to-many\\ SR.VDIs & VDI.SR & many-to-one\\ +VTPM.VM & VM.VTPMs & one-to-many\\ host.resident\_VMs & VM.resident\_on & many-to-one\\ host.host\_CPUs & host\_cpu.host & many-to-one\\ \hline @@ -1049,8 +1051,7 @@ Quals & Field & Type & Description \\ $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\ $\mathit{RO}_\mathit{ins}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\ $\mathit{RO}_\mathit{ins}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\ -$\mathit{RO}_\mathit{ins}$ & {\tt TPM/instance} & int & included for TPM support \\ -$\mathit{RO}_\mathit{ins}$ & {\tt TPM/backend} & int & included for TPM support \\ +$\mathit{RO}_\mathit{ins}$ & {\tt VTPM} & (VTPM ref) Set & virtual TPMs \\ $\mathit{RW}$ & {\tt bios/boot} & string & device to boot the guest from \\ $\mathit{RW}$ & {\tt platform/std\_VGA} & bool & emulate standard VGA instead of cirrus logic \\ $\mathit{RW}$ & {\tt platform/serial} & string & redirect serial port to pty \\ @@ -2796,13 +2797,13 @@ value of the field \vspace{0.3cm} \vspace{0.3cm} \vspace{0.3cm} -\subsubsection{RPC name:~get\_TPM\_instance} - -{\bf Overview:} -get accessor message derived from field TPM/instance of object VM - - \noindent {\bf Signature:} -\begin{verbatim} int get_TPM_instance (session_id s, VM ref self)\end{verbatim} +\subsubsection{RPC name:~get\_VTPMs} + +{\bf Overview:} +get accessor message derived from field VTPMs of object VM + + \noindent {\bf Signature:} +\begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim} \noindent{\bf Arguments:} @@ -2820,39 +2821,7 @@ get accessor message derived from field \noindent {\bf Return Type:} {\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_TPM\_backend} - -{\bf Overview:} -get accessor message derived from field TPM/backend of object VM - - \noindent {\bf Signature:} -\begin{verbatim} int get_TPM_backend (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & object instance \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int +(VTPM ref) Set } @@ -8759,6 +8728,367 @@ references to all objects \vspace{1cm} \newpage +\section{Class: VTPM} +\subsection{Fields for class: VTPM} +\begin{longtable}{|lllp{0.38\textwidth}|} +\hline +\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VTPM} \\ +\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual TPM device}} \\ +\hline +Quals & Field & Type & Description \\ +\hline +$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ +$\mathit{RO}_\mathit{ins}$ & {\tt type} & driver\_type & the style of driver \\ +$\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\ +$\mathit{RO}_\mathit{ins}$ & {\tt backend} & VM ref & the domain where the backend is located \\ +$\mathit{RO}_\mathit{ins}$ & {\tt instance} & int & the instance number the virtual TPM represents \\ +\hline +\end{longtable} +\subsection{Additional RPCs associated with class: VTPM} +\subsubsection{RPC name:~get\_uuid} + +{\bf Overview:} +get accessor message derived from field uuid of object VTPM + + \noindent {\bf Signature:} +\begin{verbatim} string get_uuid (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +string +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_type} + +{\bf Overview:} +get accessor message derived from field type of object VTPM + + \noindent {\bf Signature:} +\begin{verbatim} (driver_type) get_type (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +driver\_type +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_VM} + +{\bf Overview:} +get accessor message derived from field VM of object VTPM + + \noindent {\bf Signature:} +\begin{verbatim} (VM ref) get_VM (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +VM ref +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_backend} + +{\bf Overview:} +get accessor message derived from field backend of object VTPM + + \noindent {\bf Signature:} +\begin{verbatim} int get_backend (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +int +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_instance} + +{\bf Overview:} +get accessor message derived from field instance of object VTPM + + \noindent {\bf Signature:} +\begin{verbatim} int get_instance (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +int +} + + +value of the field +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~create} + +{\bf Overview:} +constructor for class VTPM + + \noindent {\bf Signature:} +\begin{verbatim} (VTPM ref) create (session_id s, VTPM record args)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM record } & args & All constructor arguments \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +VTPM ref +} + + +reference to the newly created object +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~destroy} + +{\bf Overview:} +destructor for class VTPM + + \noindent {\bf Signature:} +\begin{verbatim} void destroy (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & object instance \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +void +} + + + +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_by\_uuid} + +{\bf Overview:} +returns the VTPM instance with a particular uuid + + \noindent {\bf Signature:} +\begin{verbatim} (VTPM ref) get_by_uuid (session_id s, string uuid)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt string } & uuid & UUID of object to return \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +VTPM ref +} + + +reference to the object +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_record} + +{\bf Overview:} +returns a record containing the state of an instance of class VTPM + + \noindent {\bf Signature:} +\begin{verbatim} (VTPM record) get_record (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & reference to the object \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +VTPM record +} + + +all fields from the object +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_record\_internal} + +{\bf Overview:} +returns a record containing the state of an instance of class VTPM + + \noindent {\bf Signature:} +\begin{verbatim} (VTPM record) get_record_internal (session_id s, VTPM ref self)\end{verbatim} + + +\noindent{\bf Arguments:} + + +\vspace{0.3cm} +\begin{tabular}{|c|c|p{7cm}|} + \hline +{\bf type} & {\bf name} & {\bf description} \\ \hline +{\tt VTPM ref } & self & reference to the object \\ \hline + +\end{tabular} + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +VTPM record +} + + +all fields from the object, including implementation-only ones +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} +\subsubsection{RPC name:~get\_all} + +{\bf Overview:} +returns a set of references to all objects + + \noindent {\bf Signature:} +\begin{verbatim} ((VTPM ref) Set) get_all (session_id s)\end{verbatim} + + +\vspace{0.3cm} + + \noindent {\bf Return Type:} +{\tt +(VTPM ref) Set +} + + +references to all objects +\vspace{0.3cm} +\vspace{0.3cm} +\vspace{0.3cm} + +\vspace{1cm} +\newpage \section{Class: user} \subsection{Fields for class: user} \begin{longtable}{|lllp{0.38\textwidth}|} _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |