\item \verb|KernelCmd_Get_platform|: Get architecture platform.
\end{itemize}
+\subsection{Kernel Control Block}
+A kernel control block capability captures all the state for a single CPU
+driver. This allows us to do interesting operations such as rebooting a core
+at runtime~\cite{Coreboot:Zellweger2014}.
+A kernel control block is structured according to the \verb|struct kcb|
+defined in the CPU driver code.
+
+\begin{description}
+\item[Origin] Retyping from RAM type capabilities
+
+\item[Retypability] No
+
+\item[Mint parameters] No
+
+\item[Interpretation of rights] \note{Explain rights and rights mask.
+ Capability rights and rights masks are currently not implemented.
+ This means that every user domain holding a capability has full
+ rights to it.}
+
+\item[Transferability to another core] Yes, between cores that share memory.
+ When transferred to another core, can be scheduled on that core.
+
+\item[Last copy deleted] \note{NYI}
+
+\item[Concrete representations] The in-memory representation is as follows:
+
+ \begin{lstlisting}[language=Mackerel]
+ datatype KernelControlBlock "Represents a CPU driver's state" {
+ kcb 64 "Kernel address of the KCB represented by this capability"
+ };
+ \end{lstlisting}
+\end{description}
+
+\note{Need to discuss invocations on KCB}
month = may,
url = {http://www.barrelfish.org/publications/nevill-master-capabilities.pdf}
}
+
+@inproceedings{Coreboot:Zellweger2014,
+ author = {Zellweger, Gerd and Gerber, Simon and Kourtis, Kornilios and Roscoe, Timothy},
+ title = {Decoupling Cores, Kernels, and Operating Systems},
+ booktitle = {Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation},
+ series = {OSDI'14},
+ year = {2014},
+ isbn = {978-1-931971-16-4},
+ location = {Broomfield, CO},
+ pages = {17--31},
+ numpages = {15},
+ url = {http://dl.acm.org/citation.cfm?id=2685048.2685051},
+ acmid = {2685051},
+ publisher = {USENIX Association},
+ address = {Berkeley, CA, USA},
+}