ia64/xen-unstable
changeset 13726:44d565181709
Remove the CPU feature handling, unimplementable as it stands.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Signed-off-by: Ewan Mellor <ewan@xensource.com>
author | Ewan Mellor <ewan@xensource.com> |
---|---|
date | Tue Jan 30 00:10:05 2007 +0000 (2007-01-30) |
parents | eb7b2a9ce40c |
children | 9e7b7f9b96a4 |
files | docs/xen-api/xenapi-datamodel.tex tools/libxen/include/xen_cpu_feature.h tools/libxen/include/xen_cpu_feature_internal.h tools/libxen/include/xen_host_cpu.h tools/libxen/include/xen_vm.h tools/libxen/src/xen_cpu_feature.c tools/libxen/src/xen_host_cpu.c tools/libxen/src/xen_vm.c tools/python/xen/xend/XendAPI.py |
line diff
1.1 --- a/docs/xen-api/xenapi-datamodel.tex Mon Jan 29 19:04:54 2007 +0000 1.2 +++ b/docs/xen-api/xenapi-datamodel.tex Tue Jan 30 00:10:05 2007 +0000 1.3 @@ -163,78 +163,6 @@ The following enumeration types are used 1.4 \vspace{1cm} 1.5 \begin{longtable}{|ll|} 1.6 \hline 1.7 -{\tt enum cpu\_feature} & \\ 1.8 -\hline 1.9 -\hspace{0.5cm}{\tt FPU} & Onboard FPU \\ 1.10 -\hspace{0.5cm}{\tt VME} & Virtual Mode Extensions \\ 1.11 -\hspace{0.5cm}{\tt DE} & Debugging Extensions \\ 1.12 -\hspace{0.5cm}{\tt PSE} & Page Size Extensions \\ 1.13 -\hspace{0.5cm}{\tt TSC} & Time Stamp Counter \\ 1.14 -\hspace{0.5cm}{\tt MSR} & Model-Specific Registers, RDMSR, WRMSR \\ 1.15 -\hspace{0.5cm}{\tt PAE} & Physical Address Extensions \\ 1.16 -\hspace{0.5cm}{\tt MCE} & Machine Check Architecture \\ 1.17 -\hspace{0.5cm}{\tt CX8} & CMPXCHG8 instruction \\ 1.18 -\hspace{0.5cm}{\tt APIC} & Onboard APIC \\ 1.19 -\hspace{0.5cm}{\tt SEP} & SYSENTER/SYSEXIT \\ 1.20 -\hspace{0.5cm}{\tt MTRR} & Memory Type Range Registers \\ 1.21 -\hspace{0.5cm}{\tt PGE} & Page Global Enable \\ 1.22 -\hspace{0.5cm}{\tt MCA} & Machine Check Architecture \\ 1.23 -\hspace{0.5cm}{\tt CMOV} & CMOV instruction (FCMOVCC and FCOMI too if FPU present) \\ 1.24 -\hspace{0.5cm}{\tt PAT} & Page Attribute Table \\ 1.25 -\hspace{0.5cm}{\tt PSE36} & 36-bit PSEs \\ 1.26 -\hspace{0.5cm}{\tt PN} & Processor serial number \\ 1.27 -\hspace{0.5cm}{\tt CLFLSH} & Supports the CLFLUSH instruction \\ 1.28 -\hspace{0.5cm}{\tt DTES} & Debug Trace Store \\ 1.29 -\hspace{0.5cm}{\tt ACPI} & ACPI via MSR \\ 1.30 -\hspace{0.5cm}{\tt MMX} & Multimedia Extensions \\ 1.31 -\hspace{0.5cm}{\tt FXSR} & FXSAVE and FXRSTOR instructions (fast save and restore \\ 1.32 -\hspace{0.5cm}{\tt XMM} & Streaming SIMD Extensions \\ 1.33 -\hspace{0.5cm}{\tt XMM2} & Streaming SIMD Extensions-2 \\ 1.34 -\hspace{0.5cm}{\tt SELFSNOOP} & CPU self snoop \\ 1.35 -\hspace{0.5cm}{\tt HT} & Hyper-Threading \\ 1.36 -\hspace{0.5cm}{\tt ACC} & Automatic clock control \\ 1.37 -\hspace{0.5cm}{\tt IA64} & IA-64 processor \\ 1.38 -\hspace{0.5cm}{\tt SYSCALL} & SYSCALL/SYSRET \\ 1.39 -\hspace{0.5cm}{\tt MP} & MP Capable. \\ 1.40 -\hspace{0.5cm}{\tt NX} & Execute Disable \\ 1.41 -\hspace{0.5cm}{\tt MMXEXT} & AMD MMX extensions \\ 1.42 -\hspace{0.5cm}{\tt LM} & Long Mode (x86-64) \\ 1.43 -\hspace{0.5cm}{\tt THREEDNOWEXT} & AMD 3DNow! extensions \\ 1.44 -\hspace{0.5cm}{\tt THREEDNOW} & 3DNow! \\ 1.45 -\hspace{0.5cm}{\tt RECOVERY} & CPU in recovery mode \\ 1.46 -\hspace{0.5cm}{\tt LONGRUN} & Longrun power control \\ 1.47 -\hspace{0.5cm}{\tt LRTI} & LongRun table interface \\ 1.48 -\hspace{0.5cm}{\tt CXMMX} & Cyrix MMX extensions \\ 1.49 -\hspace{0.5cm}{\tt K6\_MTRR} & AMD K6 nonstandard MTRRs \\ 1.50 -\hspace{0.5cm}{\tt CYRIX\_ARR} & Cyrix ARRs (= MTRRs) \\ 1.51 -\hspace{0.5cm}{\tt CENTAUR\_MCR} & Centaur MCRs (= MTRRs) \\ 1.52 -\hspace{0.5cm}{\tt K8} & Opteron, Athlon64 \\ 1.53 -\hspace{0.5cm}{\tt K7} & Athlon \\ 1.54 -\hspace{0.5cm}{\tt P3} & P3 \\ 1.55 -\hspace{0.5cm}{\tt P4} & P4 \\ 1.56 -\hspace{0.5cm}{\tt CONSTANT\_TSC} & TSC ticks at a constant rate \\ 1.57 -\hspace{0.5cm}{\tt FXSAVE\_LEAK} & FXSAVE leaks FOP/FIP/FOP \\ 1.58 -\hspace{0.5cm}{\tt XMM3} & Streaming SIMD Extensions-3 \\ 1.59 -\hspace{0.5cm}{\tt MWAIT} & Monitor/Mwait support \\ 1.60 -\hspace{0.5cm}{\tt DSCPL} & CPL Qualified Debug Store \\ 1.61 -\hspace{0.5cm}{\tt EST} & Enhanced SpeedStep \\ 1.62 -\hspace{0.5cm}{\tt TM2} & Thermal Monitor 2 \\ 1.63 -\hspace{0.5cm}{\tt CID} & Context ID \\ 1.64 -\hspace{0.5cm}{\tt CX16} & CMPXCHG16B \\ 1.65 -\hspace{0.5cm}{\tt XTPR} & Send Task Priority Messages \\ 1.66 -\hspace{0.5cm}{\tt XSTORE} & on-CPU RNG present (xstore insn) \\ 1.67 -\hspace{0.5cm}{\tt XSTORE\_EN} & on-CPU RNG enabled \\ 1.68 -\hspace{0.5cm}{\tt XCRYPT} & on-CPU crypto (xcrypt insn) \\ 1.69 -\hspace{0.5cm}{\tt XCRYPT\_EN} & on-CPU crypto enabled \\ 1.70 -\hspace{0.5cm}{\tt LAHF\_LM} & LAHF/SAHF in long mode \\ 1.71 -\hspace{0.5cm}{\tt CMP\_LEGACY} & If yes HyperThreading not valid \\ 1.72 -\hspace{0.5cm}{\tt VMX} & VMX instruction set \\ 1.73 -\hline 1.74 -\end{longtable} 1.75 - 1.76 -\vspace{1cm} 1.77 -\begin{longtable}{|ll|} 1.78 -\hline 1.79 {\tt enum on\_normal\_exit} & \\ 1.80 \hline 1.81 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\ 1.82 @@ -1104,10 +1032,6 @@ Quals & Field & Type & Description \\ 1.83 $\mathit{RW}$ & {\tt VCPUs/params} & string & string-encoded parameters passed to selected VCPU policy \\ 1.84 $\mathit{RW}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\ 1.85 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\ 1.86 -$\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/required} & (cpu\_feature) Set & CPU features the guest demands the host supports \\ 1.87 -$\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/can\_use} & (cpu\_feature) Set & CPU features the guest can use if available \\ 1.88 -$\mathit{RW}$ & {\tt VCPUs/features/force\_on} & (cpu\_feature) Set & CPU features to expose to the guest above the bare minimum \\ 1.89 -$\mathit{RW}$ & {\tt VCPUs/features/force\_off} & (cpu\_feature) Set & CPU features to hide to the guest \\ 1.90 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\ 1.91 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\ 1.92 $\mathit{RW}$ & {\tt actions/after\_suspend} & on\_normal\_exit & action to take after the guest has suspended itself \\ 1.93 @@ -2402,342 +2326,6 @@ value of the field 1.94 \vspace{0.3cm} 1.95 \vspace{0.3cm} 1.96 \vspace{0.3cm} 1.97 -\subsubsection{RPC name:~get\_VCPUs\_features\_required} 1.98 - 1.99 -{\bf Overview:} 1.100 -Get the VCPUs/features/required field of the given VM. 1.101 - 1.102 - \noindent {\bf Signature:} 1.103 -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_required (session_id s, VM ref self)\end{verbatim} 1.104 - 1.105 - 1.106 -\noindent{\bf Arguments:} 1.107 - 1.108 - 1.109 -\vspace{0.3cm} 1.110 -\begin{tabular}{|c|c|p{7cm}|} 1.111 - \hline 1.112 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.113 -{\tt VM ref } & self & reference to the object \\ \hline 1.114 - 1.115 -\end{tabular} 1.116 - 1.117 -\vspace{0.3cm} 1.118 - 1.119 - \noindent {\bf Return Type:} 1.120 -{\tt 1.121 -(cpu\_feature) Set 1.122 -} 1.123 - 1.124 - 1.125 -value of the field 1.126 -\vspace{0.3cm} 1.127 -\vspace{0.3cm} 1.128 -\vspace{0.3cm} 1.129 -\subsubsection{RPC name:~get\_VCPUs\_features\_can\_use} 1.130 - 1.131 -{\bf Overview:} 1.132 -Get the VCPUs/features/can\_use field of the given VM. 1.133 - 1.134 - \noindent {\bf Signature:} 1.135 -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_can_use (session_id s, VM ref self)\end{verbatim} 1.136 - 1.137 - 1.138 -\noindent{\bf Arguments:} 1.139 - 1.140 - 1.141 -\vspace{0.3cm} 1.142 -\begin{tabular}{|c|c|p{7cm}|} 1.143 - \hline 1.144 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.145 -{\tt VM ref } & self & reference to the object \\ \hline 1.146 - 1.147 -\end{tabular} 1.148 - 1.149 -\vspace{0.3cm} 1.150 - 1.151 - \noindent {\bf Return Type:} 1.152 -{\tt 1.153 -(cpu\_feature) Set 1.154 -} 1.155 - 1.156 - 1.157 -value of the field 1.158 -\vspace{0.3cm} 1.159 -\vspace{0.3cm} 1.160 -\vspace{0.3cm} 1.161 -\subsubsection{RPC name:~get\_VCPUs\_features\_force\_on} 1.162 - 1.163 -{\bf Overview:} 1.164 -Get the VCPUs/features/force\_on field of the given VM. 1.165 - 1.166 - \noindent {\bf Signature:} 1.167 -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_on (session_id s, VM ref self)\end{verbatim} 1.168 - 1.169 - 1.170 -\noindent{\bf Arguments:} 1.171 - 1.172 - 1.173 -\vspace{0.3cm} 1.174 -\begin{tabular}{|c|c|p{7cm}|} 1.175 - \hline 1.176 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.177 -{\tt VM ref } & self & reference to the object \\ \hline 1.178 - 1.179 -\end{tabular} 1.180 - 1.181 -\vspace{0.3cm} 1.182 - 1.183 - \noindent {\bf Return Type:} 1.184 -{\tt 1.185 -(cpu\_feature) Set 1.186 -} 1.187 - 1.188 - 1.189 -value of the field 1.190 -\vspace{0.3cm} 1.191 -\vspace{0.3cm} 1.192 -\vspace{0.3cm} 1.193 -\subsubsection{RPC name:~set\_VCPUs\_features\_force\_on} 1.194 - 1.195 -{\bf Overview:} 1.196 -Set the VCPUs/features/force\_on field of the given VM. 1.197 - 1.198 - \noindent {\bf Signature:} 1.199 -\begin{verbatim} void set_VCPUs_features_force_on (session_id s, VM ref self, (cpu_feature) Set value)\end{verbatim} 1.200 - 1.201 - 1.202 -\noindent{\bf Arguments:} 1.203 - 1.204 - 1.205 -\vspace{0.3cm} 1.206 -\begin{tabular}{|c|c|p{7cm}|} 1.207 - \hline 1.208 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.209 -{\tt VM ref } & self & reference to the object \\ \hline 1.210 - 1.211 -{\tt (cpu\_feature) Set } & value & New value to set \\ \hline 1.212 - 1.213 -\end{tabular} 1.214 - 1.215 -\vspace{0.3cm} 1.216 - 1.217 - \noindent {\bf Return Type:} 1.218 -{\tt 1.219 -void 1.220 -} 1.221 - 1.222 - 1.223 - 1.224 -\vspace{0.3cm} 1.225 -\vspace{0.3cm} 1.226 -\vspace{0.3cm} 1.227 -\subsubsection{RPC name:~add\_VCPUs\_features\_force\_on} 1.228 - 1.229 -{\bf Overview:} 1.230 -Add the given value to the VCPUs/features/force\_on field of the given VM. 1.231 -If the value is already in that Set, then do nothing. 1.232 - 1.233 - \noindent {\bf Signature:} 1.234 -\begin{verbatim} void add_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim} 1.235 - 1.236 - 1.237 -\noindent{\bf Arguments:} 1.238 - 1.239 - 1.240 -\vspace{0.3cm} 1.241 -\begin{tabular}{|c|c|p{7cm}|} 1.242 - \hline 1.243 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.244 -{\tt VM ref } & self & reference to the object \\ \hline 1.245 - 1.246 -{\tt cpu\_feature } & value & New value to add \\ \hline 1.247 - 1.248 -\end{tabular} 1.249 - 1.250 -\vspace{0.3cm} 1.251 - 1.252 - \noindent {\bf Return Type:} 1.253 -{\tt 1.254 -void 1.255 -} 1.256 - 1.257 - 1.258 - 1.259 -\vspace{0.3cm} 1.260 -\vspace{0.3cm} 1.261 -\vspace{0.3cm} 1.262 -\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_on} 1.263 - 1.264 -{\bf Overview:} 1.265 -Remove the given value from the VCPUs/features/force\_on field of the given 1.266 -VM. If the value is not in that Set, then do nothing. 1.267 - 1.268 - \noindent {\bf Signature:} 1.269 -\begin{verbatim} void remove_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim} 1.270 - 1.271 - 1.272 -\noindent{\bf Arguments:} 1.273 - 1.274 - 1.275 -\vspace{0.3cm} 1.276 -\begin{tabular}{|c|c|p{7cm}|} 1.277 - \hline 1.278 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.279 -{\tt VM ref } & self & reference to the object \\ \hline 1.280 - 1.281 -{\tt cpu\_feature } & value & Value to remove \\ \hline 1.282 - 1.283 -\end{tabular} 1.284 - 1.285 -\vspace{0.3cm} 1.286 - 1.287 - \noindent {\bf Return Type:} 1.288 -{\tt 1.289 -void 1.290 -} 1.291 - 1.292 - 1.293 - 1.294 -\vspace{0.3cm} 1.295 -\vspace{0.3cm} 1.296 -\vspace{0.3cm} 1.297 -\subsubsection{RPC name:~get\_VCPUs\_features\_force\_off} 1.298 - 1.299 -{\bf Overview:} 1.300 -Get the VCPUs/features/force\_off field of the given VM. 1.301 - 1.302 - \noindent {\bf Signature:} 1.303 -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_off (session_id s, VM ref self)\end{verbatim} 1.304 - 1.305 - 1.306 -\noindent{\bf Arguments:} 1.307 - 1.308 - 1.309 -\vspace{0.3cm} 1.310 -\begin{tabular}{|c|c|p{7cm}|} 1.311 - \hline 1.312 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.313 -{\tt VM ref } & self & reference to the object \\ \hline 1.314 - 1.315 -\end{tabular} 1.316 - 1.317 -\vspace{0.3cm} 1.318 - 1.319 - \noindent {\bf Return Type:} 1.320 -{\tt 1.321 -(cpu\_feature) Set 1.322 -} 1.323 - 1.324 - 1.325 -value of the field 1.326 -\vspace{0.3cm} 1.327 -\vspace{0.3cm} 1.328 -\vspace{0.3cm} 1.329 -\subsubsection{RPC name:~set\_VCPUs\_features\_force\_off} 1.330 - 1.331 -{\bf Overview:} 1.332 -Set the VCPUs/features/force\_off field of the given VM. 1.333 - 1.334 - \noindent {\bf Signature:} 1.335 -\begin{verbatim} void set_VCPUs_features_force_off (session_id s, VM ref self, (cpu_feature) Set value)\end{verbatim} 1.336 - 1.337 - 1.338 -\noindent{\bf Arguments:} 1.339 - 1.340 - 1.341 -\vspace{0.3cm} 1.342 -\begin{tabular}{|c|c|p{7cm}|} 1.343 - \hline 1.344 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.345 -{\tt VM ref } & self & reference to the object \\ \hline 1.346 - 1.347 -{\tt (cpu\_feature) Set } & value & New value to set \\ \hline 1.348 - 1.349 -\end{tabular} 1.350 - 1.351 -\vspace{0.3cm} 1.352 - 1.353 - \noindent {\bf Return Type:} 1.354 -{\tt 1.355 -void 1.356 -} 1.357 - 1.358 - 1.359 - 1.360 -\vspace{0.3cm} 1.361 -\vspace{0.3cm} 1.362 -\vspace{0.3cm} 1.363 -\subsubsection{RPC name:~add\_VCPUs\_features\_force\_off} 1.364 - 1.365 -{\bf Overview:} 1.366 -Add the given value to the VCPUs/features/force\_off field of the given VM. 1.367 - If the value is already in that Set, then do nothing. 1.368 - 1.369 - \noindent {\bf Signature:} 1.370 -\begin{verbatim} void add_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim} 1.371 - 1.372 - 1.373 -\noindent{\bf Arguments:} 1.374 - 1.375 - 1.376 -\vspace{0.3cm} 1.377 -\begin{tabular}{|c|c|p{7cm}|} 1.378 - \hline 1.379 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.380 -{\tt VM ref } & self & reference to the object \\ \hline 1.381 - 1.382 -{\tt cpu\_feature } & value & New value to add \\ \hline 1.383 - 1.384 -\end{tabular} 1.385 - 1.386 -\vspace{0.3cm} 1.387 - 1.388 - \noindent {\bf Return Type:} 1.389 -{\tt 1.390 -void 1.391 -} 1.392 - 1.393 - 1.394 - 1.395 -\vspace{0.3cm} 1.396 -\vspace{0.3cm} 1.397 -\vspace{0.3cm} 1.398 -\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_off} 1.399 - 1.400 -{\bf Overview:} 1.401 -Remove the given value from the VCPUs/features/force\_off field of the 1.402 -given VM. If the value is not in that Set, then do nothing. 1.403 - 1.404 - \noindent {\bf Signature:} 1.405 -\begin{verbatim} void remove_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim} 1.406 - 1.407 - 1.408 -\noindent{\bf Arguments:} 1.409 - 1.410 - 1.411 -\vspace{0.3cm} 1.412 -\begin{tabular}{|c|c|p{7cm}|} 1.413 - \hline 1.414 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.415 -{\tt VM ref } & self & reference to the object \\ \hline 1.416 - 1.417 -{\tt cpu\_feature } & value & Value to remove \\ \hline 1.418 - 1.419 -\end{tabular} 1.420 - 1.421 -\vspace{0.3cm} 1.422 - 1.423 - \noindent {\bf Return Type:} 1.424 -{\tt 1.425 -void 1.426 -} 1.427 - 1.428 - 1.429 - 1.430 -\vspace{0.3cm} 1.431 -\vspace{0.3cm} 1.432 -\vspace{0.3cm} 1.433 \subsubsection{RPC name:~get\_actions\_after\_shutdown} 1.434 1.435 {\bf Overview:} 1.436 @@ -4896,7 +4484,6 @@ Quals & Field & Type & Description \\ 1.437 $\mathit{RO}_\mathit{ins}$ & {\tt vendor} & string & the vendor of the physical CPU \\ 1.438 $\mathit{RO}_\mathit{ins}$ & {\tt speed} & int & the speed of the physical CPU \\ 1.439 $\mathit{RO}_\mathit{ins}$ & {\tt modelname} & string & the model name of the physical CPU \\ 1.440 -$\mathit{RO}_\mathit{ins}$ & {\tt features} & (cpu\_feature) Set & the features supported by the CPU \\ 1.441 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\ 1.442 \hline 1.443 \end{longtable} 1.444 @@ -5093,38 +4680,6 @@ value of the field 1.445 \vspace{0.3cm} 1.446 \vspace{0.3cm} 1.447 \vspace{0.3cm} 1.448 -\subsubsection{RPC name:~get\_features} 1.449 - 1.450 -{\bf Overview:} 1.451 -Get the features field of the given host\_cpu. 1.452 - 1.453 - \noindent {\bf Signature:} 1.454 -\begin{verbatim} ((cpu_feature) Set) get_features (session_id s, host_cpu ref self)\end{verbatim} 1.455 - 1.456 - 1.457 -\noindent{\bf Arguments:} 1.458 - 1.459 - 1.460 -\vspace{0.3cm} 1.461 -\begin{tabular}{|c|c|p{7cm}|} 1.462 - \hline 1.463 -{\bf type} & {\bf name} & {\bf description} \\ \hline 1.464 -{\tt host\_cpu ref } & self & reference to the object \\ \hline 1.465 - 1.466 -\end{tabular} 1.467 - 1.468 -\vspace{0.3cm} 1.469 - 1.470 - \noindent {\bf Return Type:} 1.471 -{\tt 1.472 -(cpu\_feature) Set 1.473 -} 1.474 - 1.475 - 1.476 -value of the field 1.477 -\vspace{0.3cm} 1.478 -\vspace{0.3cm} 1.479 -\vspace{0.3cm} 1.480 \subsubsection{RPC name:~get\_utilisation} 1.481 1.482 {\bf Overview:}
2.1 --- a/tools/libxen/include/xen_cpu_feature.h Mon Jan 29 19:04:54 2007 +0000 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,387 +0,0 @@ 2.4 -/* 2.5 - * Copyright (c) 2006, XenSource Inc. 2.6 - * 2.7 - * This library is free software; you can redistribute it and/or 2.8 - * modify it under the terms of the GNU Lesser General Public 2.9 - * License as published by the Free Software Foundation; either 2.10 - * version 2.1 of the License, or (at your option) any later version. 2.11 - * 2.12 - * This library is distributed in the hope that it will be useful, 2.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 2.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2.15 - * Lesser General Public License for more details. 2.16 - * 2.17 - * You should have received a copy of the GNU Lesser General Public 2.18 - * License along with this library; if not, write to the Free Software 2.19 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 2.20 - */ 2.21 - 2.22 -#ifndef XEN_CPU_FEATURE_H 2.23 -#define XEN_CPU_FEATURE_H 2.24 - 2.25 - 2.26 -#include "xen_common.h" 2.27 - 2.28 - 2.29 -enum xen_cpu_feature 2.30 -{ 2.31 - /** 2.32 - * Onboard FPU 2.33 - */ 2.34 - XEN_CPU_FEATURE_FPU, 2.35 - 2.36 - /** 2.37 - * Virtual Mode Extensions 2.38 - */ 2.39 - XEN_CPU_FEATURE_VME, 2.40 - 2.41 - /** 2.42 - * Debugging Extensions 2.43 - */ 2.44 - XEN_CPU_FEATURE_DE, 2.45 - 2.46 - /** 2.47 - * Page Size Extensions 2.48 - */ 2.49 - XEN_CPU_FEATURE_PSE, 2.50 - 2.51 - /** 2.52 - * Time Stamp Counter 2.53 - */ 2.54 - XEN_CPU_FEATURE_TSC, 2.55 - 2.56 - /** 2.57 - * Model-Specific Registers, RDMSR, WRMSR 2.58 - */ 2.59 - XEN_CPU_FEATURE_MSR, 2.60 - 2.61 - /** 2.62 - * Physical Address Extensions 2.63 - */ 2.64 - XEN_CPU_FEATURE_PAE, 2.65 - 2.66 - /** 2.67 - * Machine Check Architecture 2.68 - */ 2.69 - XEN_CPU_FEATURE_MCE, 2.70 - 2.71 - /** 2.72 - * CMPXCHG8 instruction 2.73 - */ 2.74 - XEN_CPU_FEATURE_CX8, 2.75 - 2.76 - /** 2.77 - * Onboard APIC 2.78 - */ 2.79 - XEN_CPU_FEATURE_APIC, 2.80 - 2.81 - /** 2.82 - * SYSENTER/SYSEXIT 2.83 - */ 2.84 - XEN_CPU_FEATURE_SEP, 2.85 - 2.86 - /** 2.87 - * Memory Type Range Registers 2.88 - */ 2.89 - XEN_CPU_FEATURE_MTRR, 2.90 - 2.91 - /** 2.92 - * Page Global Enable 2.93 - */ 2.94 - XEN_CPU_FEATURE_PGE, 2.95 - 2.96 - /** 2.97 - * Machine Check Architecture 2.98 - */ 2.99 - XEN_CPU_FEATURE_MCA, 2.100 - 2.101 - /** 2.102 - * CMOV instruction (FCMOVCC and FCOMI too if FPU present) 2.103 - */ 2.104 - XEN_CPU_FEATURE_CMOV, 2.105 - 2.106 - /** 2.107 - * Page Attribute Table 2.108 - */ 2.109 - XEN_CPU_FEATURE_PAT, 2.110 - 2.111 - /** 2.112 - * 36-bit PSEs 2.113 - */ 2.114 - XEN_CPU_FEATURE_PSE36, 2.115 - 2.116 - /** 2.117 - * Processor serial number 2.118 - */ 2.119 - XEN_CPU_FEATURE_PN, 2.120 - 2.121 - /** 2.122 - * Supports the CLFLUSH instruction 2.123 - */ 2.124 - XEN_CPU_FEATURE_CLFLSH, 2.125 - 2.126 - /** 2.127 - * Debug Trace Store 2.128 - */ 2.129 - XEN_CPU_FEATURE_DTES, 2.130 - 2.131 - /** 2.132 - * ACPI via MSR 2.133 - */ 2.134 - XEN_CPU_FEATURE_ACPI, 2.135 - 2.136 - /** 2.137 - * Multimedia Extensions 2.138 - */ 2.139 - XEN_CPU_FEATURE_MMX, 2.140 - 2.141 - /** 2.142 - * FXSAVE and FXRSTOR instructions (fast save and restore 2.143 - */ 2.144 - XEN_CPU_FEATURE_FXSR, 2.145 - 2.146 - /** 2.147 - * Streaming SIMD Extensions 2.148 - */ 2.149 - XEN_CPU_FEATURE_XMM, 2.150 - 2.151 - /** 2.152 - * Streaming SIMD Extensions-2 2.153 - */ 2.154 - XEN_CPU_FEATURE_XMM2, 2.155 - 2.156 - /** 2.157 - * CPU self snoop 2.158 - */ 2.159 - XEN_CPU_FEATURE_SELFSNOOP, 2.160 - 2.161 - /** 2.162 - * Hyper-Threading 2.163 - */ 2.164 - XEN_CPU_FEATURE_HT, 2.165 - 2.166 - /** 2.167 - * Automatic clock control 2.168 - */ 2.169 - XEN_CPU_FEATURE_ACC, 2.170 - 2.171 - /** 2.172 - * IA-64 processor 2.173 - */ 2.174 - XEN_CPU_FEATURE_IA64, 2.175 - 2.176 - /** 2.177 - * SYSCALL/SYSRET 2.178 - */ 2.179 - XEN_CPU_FEATURE_SYSCALL, 2.180 - 2.181 - /** 2.182 - * MP Capable. 2.183 - */ 2.184 - XEN_CPU_FEATURE_MP, 2.185 - 2.186 - /** 2.187 - * Execute Disable 2.188 - */ 2.189 - XEN_CPU_FEATURE_NX, 2.190 - 2.191 - /** 2.192 - * AMD MMX extensions 2.193 - */ 2.194 - XEN_CPU_FEATURE_MMXEXT, 2.195 - 2.196 - /** 2.197 - * Long Mode (x86-64) 2.198 - */ 2.199 - XEN_CPU_FEATURE_LM, 2.200 - 2.201 - /** 2.202 - * AMD 3DNow! extensions 2.203 - */ 2.204 - XEN_CPU_FEATURE_THREEDNOWEXT, 2.205 - 2.206 - /** 2.207 - * 3DNow! 2.208 - */ 2.209 - XEN_CPU_FEATURE_THREEDNOW, 2.210 - 2.211 - /** 2.212 - * CPU in recovery mode 2.213 - */ 2.214 - XEN_CPU_FEATURE_RECOVERY, 2.215 - 2.216 - /** 2.217 - * Longrun power control 2.218 - */ 2.219 - XEN_CPU_FEATURE_LONGRUN, 2.220 - 2.221 - /** 2.222 - * LongRun table interface 2.223 - */ 2.224 - XEN_CPU_FEATURE_LRTI, 2.225 - 2.226 - /** 2.227 - * Cyrix MMX extensions 2.228 - */ 2.229 - XEN_CPU_FEATURE_CXMMX, 2.230 - 2.231 - /** 2.232 - * AMD K6 nonstandard MTRRs 2.233 - */ 2.234 - XEN_CPU_FEATURE_K6_MTRR, 2.235 - 2.236 - /** 2.237 - * Cyrix ARRs (= MTRRs) 2.238 - */ 2.239 - XEN_CPU_FEATURE_CYRIX_ARR, 2.240 - 2.241 - /** 2.242 - * Centaur MCRs (= MTRRs) 2.243 - */ 2.244 - XEN_CPU_FEATURE_CENTAUR_MCR, 2.245 - 2.246 - /** 2.247 - * Opteron, Athlon64 2.248 - */ 2.249 - XEN_CPU_FEATURE_K8, 2.250 - 2.251 - /** 2.252 - * Athlon 2.253 - */ 2.254 - XEN_CPU_FEATURE_K7, 2.255 - 2.256 - /** 2.257 - * P3 2.258 - */ 2.259 - XEN_CPU_FEATURE_P3, 2.260 - 2.261 - /** 2.262 - * P4 2.263 - */ 2.264 - XEN_CPU_FEATURE_P4, 2.265 - 2.266 - /** 2.267 - * TSC ticks at a constant rate 2.268 - */ 2.269 - XEN_CPU_FEATURE_CONSTANT_TSC, 2.270 - 2.271 - /** 2.272 - * FXSAVE leaks FOP/FIP/FOP 2.273 - */ 2.274 - XEN_CPU_FEATURE_FXSAVE_LEAK, 2.275 - 2.276 - /** 2.277 - * Streaming SIMD Extensions-3 2.278 - */ 2.279 - XEN_CPU_FEATURE_XMM3, 2.280 - 2.281 - /** 2.282 - * Monitor/Mwait support 2.283 - */ 2.284 - XEN_CPU_FEATURE_MWAIT, 2.285 - 2.286 - /** 2.287 - * CPL Qualified Debug Store 2.288 - */ 2.289 - XEN_CPU_FEATURE_DSCPL, 2.290 - 2.291 - /** 2.292 - * Enhanced SpeedStep 2.293 - */ 2.294 - XEN_CPU_FEATURE_EST, 2.295 - 2.296 - /** 2.297 - * Thermal Monitor 2 2.298 - */ 2.299 - XEN_CPU_FEATURE_TM2, 2.300 - 2.301 - /** 2.302 - * Context ID 2.303 - */ 2.304 - XEN_CPU_FEATURE_CID, 2.305 - 2.306 - /** 2.307 - * CMPXCHG16B 2.308 - */ 2.309 - XEN_CPU_FEATURE_CX16, 2.310 - 2.311 - /** 2.312 - * Send Task Priority Messages 2.313 - */ 2.314 - XEN_CPU_FEATURE_XTPR, 2.315 - 2.316 - /** 2.317 - * on-CPU RNG present (xstore insn) 2.318 - */ 2.319 - XEN_CPU_FEATURE_XSTORE, 2.320 - 2.321 - /** 2.322 - * on-CPU RNG enabled 2.323 - */ 2.324 - XEN_CPU_FEATURE_XSTORE_EN, 2.325 - 2.326 - /** 2.327 - * on-CPU crypto (xcrypt insn) 2.328 - */ 2.329 - XEN_CPU_FEATURE_XCRYPT, 2.330 - 2.331 - /** 2.332 - * on-CPU crypto enabled 2.333 - */ 2.334 - XEN_CPU_FEATURE_XCRYPT_EN, 2.335 - 2.336 - /** 2.337 - * LAHF/SAHF in long mode 2.338 - */ 2.339 - XEN_CPU_FEATURE_LAHF_LM, 2.340 - 2.341 - /** 2.342 - * If yes HyperThreading not valid 2.343 - */ 2.344 - XEN_CPU_FEATURE_CMP_LEGACY, 2.345 - 2.346 - /** 2.347 - * VMX instruction set 2.348 - */ 2.349 - XEN_CPU_FEATURE_VMX 2.350 -}; 2.351 - 2.352 - 2.353 -typedef struct xen_cpu_feature_set 2.354 -{ 2.355 - size_t size; 2.356 - enum xen_cpu_feature contents[]; 2.357 -} xen_cpu_feature_set; 2.358 - 2.359 -/** 2.360 - * Allocate a xen_cpu_feature_set of the given size. 2.361 - */ 2.362 -extern xen_cpu_feature_set * 2.363 -xen_cpu_feature_set_alloc(size_t size); 2.364 - 2.365 -/** 2.366 - * Free the given xen_cpu_feature_set. The given set must have been 2.367 - * allocated by this library. 2.368 - */ 2.369 -extern void 2.370 -xen_cpu_feature_set_free(xen_cpu_feature_set *set); 2.371 - 2.372 - 2.373 -/** 2.374 - * Return the name corresponding to the given code. This string must 2.375 - * not be modified or freed. 2.376 - */ 2.377 -extern const char * 2.378 -xen_cpu_feature_to_string(enum xen_cpu_feature val); 2.379 - 2.380 - 2.381 -/** 2.382 - * Return the correct code for the given string, or set the session 2.383 - * object to failure and return an undefined value if the given string does 2.384 - * not match a known code. 2.385 - */ 2.386 -extern enum xen_cpu_feature 2.387 -xen_cpu_feature_from_string(xen_session *session, const char *str); 2.388 - 2.389 - 2.390 -#endif
3.1 --- a/tools/libxen/include/xen_cpu_feature_internal.h Mon Jan 29 19:04:54 2007 +0000 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,37 +0,0 @@ 3.4 -/* 3.5 - * Copyright (c) 2006, XenSource Inc. 3.6 - * 3.7 - * This library is free software; you can redistribute it and/or 3.8 - * modify it under the terms of the GNU Lesser General Public 3.9 - * License as published by the Free Software Foundation; either 3.10 - * version 2.1 of the License, or (at your option) any later version. 3.11 - * 3.12 - * This library is distributed in the hope that it will be useful, 3.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 3.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3.15 - * Lesser General Public License for more details. 3.16 - * 3.17 - * You should have received a copy of the GNU Lesser General Public 3.18 - * License along with this library; if not, write to the Free Software 3.19 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 3.20 - */ 3.21 - 3.22 - 3.23 -/* 3.24 - * Declarations of the abstract types used during demarshalling of enum 3.25 - * xen_cpu_feature. Internal to this library -- do not use from outside. 3.26 - */ 3.27 - 3.28 - 3.29 -#ifndef XEN_CPU_FEATURE_INTERNAL_H 3.30 -#define XEN_CPU_FEATURE_INTERNAL_H 3.31 - 3.32 - 3.33 -#include "xen_internal.h" 3.34 - 3.35 - 3.36 -extern const abstract_type xen_cpu_feature_abstract_type_; 3.37 -extern const abstract_type xen_cpu_feature_set_abstract_type_; 3.38 - 3.39 - 3.40 -#endif
4.1 --- a/tools/libxen/include/xen_host_cpu.h Mon Jan 29 19:04:54 2007 +0000 4.2 +++ b/tools/libxen/include/xen_host_cpu.h Tue Jan 30 00:10:05 2007 +0000 4.3 @@ -20,7 +20,6 @@ 4.4 #define XEN_HOST_CPU_H 4.5 4.6 #include "xen_common.h" 4.7 -#include "xen_cpu_feature.h" 4.8 #include "xen_host_cpu_decl.h" 4.9 #include "xen_host_decl.h" 4.10 4.11 @@ -69,7 +68,6 @@ typedef struct xen_host_cpu_record 4.12 char *vendor; 4.13 int64_t speed; 4.14 char *modelname; 4.15 - struct xen_cpu_feature_set *features; 4.16 double utilisation; 4.17 } xen_host_cpu_record; 4.18 4.19 @@ -223,13 +221,6 @@ xen_host_cpu_get_modelname(xen_session * 4.20 4.21 4.22 /** 4.23 - * Get the features field of the given host_cpu. 4.24 - */ 4.25 -extern bool 4.26 -xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu); 4.27 - 4.28 - 4.29 -/** 4.30 * Get the utilisation field of the given host_cpu. 4.31 */ 4.32 extern bool
5.1 --- a/tools/libxen/include/xen_vm.h Mon Jan 29 19:04:54 2007 +0000 5.2 +++ b/tools/libxen/include/xen_vm.h Tue Jan 30 00:10:05 2007 +0000 5.3 @@ -21,7 +21,6 @@ 5.4 5.5 #include "xen_common.h" 5.6 #include "xen_console_decl.h" 5.7 -#include "xen_cpu_feature.h" 5.8 #include "xen_host_decl.h" 5.9 #include "xen_int_float_map.h" 5.10 #include "xen_on_crash_behaviour.h" 5.11 @@ -119,10 +118,6 @@ typedef struct xen_vm_record 5.12 char *vcpus_params; 5.13 int64_t vcpus_number; 5.14 xen_int_float_map *vcpus_utilisation; 5.15 - struct xen_cpu_feature_set *vcpus_features_required; 5.16 - struct xen_cpu_feature_set *vcpus_features_can_use; 5.17 - struct xen_cpu_feature_set *vcpus_features_force_on; 5.18 - struct xen_cpu_feature_set *vcpus_features_force_off; 5.19 enum xen_on_normal_exit actions_after_shutdown; 5.20 enum xen_on_normal_exit actions_after_reboot; 5.21 enum xen_on_normal_exit actions_after_suspend; 5.22 @@ -383,34 +378,6 @@ xen_vm_get_vcpus_utilisation(xen_session 5.23 5.24 5.25 /** 5.26 - * Get the VCPUs/features/required field of the given VM. 5.27 - */ 5.28 -extern bool 5.29 -xen_vm_get_vcpus_features_required(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); 5.30 - 5.31 - 5.32 -/** 5.33 - * Get the VCPUs/features/can_use field of the given VM. 5.34 - */ 5.35 -extern bool 5.36 -xen_vm_get_vcpus_features_can_use(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); 5.37 - 5.38 - 5.39 -/** 5.40 - * Get the VCPUs/features/force_on field of the given VM. 5.41 - */ 5.42 -extern bool 5.43 -xen_vm_get_vcpus_features_force_on(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); 5.44 - 5.45 - 5.46 -/** 5.47 - * Get the VCPUs/features/force_off field of the given VM. 5.48 - */ 5.49 -extern bool 5.50 -xen_vm_get_vcpus_features_force_off(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); 5.51 - 5.52 - 5.53 -/** 5.54 * Get the actions/after_shutdown field of the given VM. 5.55 */ 5.56 extern bool 5.57 @@ -635,52 +602,6 @@ xen_vm_set_vcpus_number(xen_session *ses 5.58 5.59 5.60 /** 5.61 - * Set the VCPUs/features/force_on field of the given VM. 5.62 - */ 5.63 -extern bool 5.64 -xen_vm_set_vcpus_features_force_on(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_on); 5.65 - 5.66 - 5.67 -/** 5.68 - * Add the given value to the VCPUs/features/force_on field of the 5.69 - * given VM. If the value is already in that Set, then do nothing. 5.70 - */ 5.71 -extern bool 5.72 -xen_vm_add_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value); 5.73 - 5.74 - 5.75 -/** 5.76 - * Remove the given value from the VCPUs/features/force_on field of the 5.77 - * given VM. If the value is not in that Set, then do nothing. 5.78 - */ 5.79 -extern bool 5.80 -xen_vm_remove_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value); 5.81 - 5.82 - 5.83 -/** 5.84 - * Set the VCPUs/features/force_off field of the given VM. 5.85 - */ 5.86 -extern bool 5.87 -xen_vm_set_vcpus_features_force_off(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_off); 5.88 - 5.89 - 5.90 -/** 5.91 - * Add the given value to the VCPUs/features/force_off field of the 5.92 - * given VM. If the value is already in that Set, then do nothing. 5.93 - */ 5.94 -extern bool 5.95 -xen_vm_add_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value); 5.96 - 5.97 - 5.98 -/** 5.99 - * Remove the given value from the VCPUs/features/force_off field of 5.100 - * the given VM. If the value is not in that Set, then do nothing. 5.101 - */ 5.102 -extern bool 5.103 -xen_vm_remove_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value); 5.104 - 5.105 - 5.106 -/** 5.107 * Set the actions/after_shutdown field of the given VM. 5.108 */ 5.109 extern bool
6.1 --- a/tools/libxen/src/xen_cpu_feature.c Mon Jan 29 19:04:54 2007 +0000 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,143 +0,0 @@ 6.4 -/* 6.5 - * Copyright (c) 2006, XenSource Inc. 6.6 - * 6.7 - * This library is free software; you can redistribute it and/or 6.8 - * modify it under the terms of the GNU Lesser General Public 6.9 - * License as published by the Free Software Foundation; either 6.10 - * version 2.1 of the License, or (at your option) any later version. 6.11 - * 6.12 - * This library is distributed in the hope that it will be useful, 6.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 6.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 6.15 - * Lesser General Public License for more details. 6.16 - * 6.17 - * You should have received a copy of the GNU Lesser General Public 6.18 - * License along with this library; if not, write to the Free Software 6.19 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 6.20 - */ 6.21 - 6.22 -#include <string.h> 6.23 - 6.24 -#include "xen_internal.h" 6.25 -#include "xen_cpu_feature.h" 6.26 -#include "xen_cpu_feature_internal.h" 6.27 - 6.28 - 6.29 -/* 6.30 - * Maintain this in the same order as the enum declaration! 6.31 - */ 6.32 -static const char *lookup_table[] = 6.33 -{ 6.34 - "FPU", 6.35 - "VME", 6.36 - "DE", 6.37 - "PSE", 6.38 - "TSC", 6.39 - "MSR", 6.40 - "PAE", 6.41 - "MCE", 6.42 - "CX8", 6.43 - "APIC", 6.44 - "SEP", 6.45 - "MTRR", 6.46 - "PGE", 6.47 - "MCA", 6.48 - "CMOV", 6.49 - "PAT", 6.50 - "PSE36", 6.51 - "PN", 6.52 - "CLFLSH", 6.53 - "DTES", 6.54 - "ACPI", 6.55 - "MMX", 6.56 - "FXSR", 6.57 - "XMM", 6.58 - "XMM2", 6.59 - "SELFSNOOP", 6.60 - "HT", 6.61 - "ACC", 6.62 - "IA64", 6.63 - "SYSCALL", 6.64 - "MP", 6.65 - "NX", 6.66 - "MMXEXT", 6.67 - "LM", 6.68 - "THREEDNOWEXT", 6.69 - "THREEDNOW", 6.70 - "RECOVERY", 6.71 - "LONGRUN", 6.72 - "LRTI", 6.73 - "CXMMX", 6.74 - "K6_MTRR", 6.75 - "CYRIX_ARR", 6.76 - "CENTAUR_MCR", 6.77 - "K8", 6.78 - "K7", 6.79 - "P3", 6.80 - "P4", 6.81 - "CONSTANT_TSC", 6.82 - "FXSAVE_LEAK", 6.83 - "XMM3", 6.84 - "MWAIT", 6.85 - "DSCPL", 6.86 - "EST", 6.87 - "TM2", 6.88 - "CID", 6.89 - "CX16", 6.90 - "XTPR", 6.91 - "XSTORE", 6.92 - "XSTORE_EN", 6.93 - "XCRYPT", 6.94 - "XCRYPT_EN", 6.95 - "LAHF_LM", 6.96 - "CMP_LEGACY", 6.97 - "VMX" 6.98 -}; 6.99 - 6.100 - 6.101 -extern xen_cpu_feature_set * 6.102 -xen_cpu_feature_set_alloc(size_t size) 6.103 -{ 6.104 - return calloc(1, sizeof(xen_cpu_feature_set) + 6.105 - size * sizeof(enum xen_cpu_feature)); 6.106 -} 6.107 - 6.108 - 6.109 -extern void 6.110 -xen_cpu_feature_set_free(xen_cpu_feature_set *set) 6.111 -{ 6.112 - free(set); 6.113 -} 6.114 - 6.115 - 6.116 -const char * 6.117 -xen_cpu_feature_to_string(enum xen_cpu_feature val) 6.118 -{ 6.119 - return lookup_table[val]; 6.120 -} 6.121 - 6.122 - 6.123 -extern enum xen_cpu_feature 6.124 -xen_cpu_feature_from_string(xen_session *session, const char *str) 6.125 -{ 6.126 - return ENUM_LOOKUP(session, str, lookup_table); 6.127 -} 6.128 - 6.129 - 6.130 -const abstract_type xen_cpu_feature_abstract_type_ = 6.131 - { 6.132 - .typename = ENUM, 6.133 - .enum_marshaller = 6.134 - (const char *(*)(int))&xen_cpu_feature_to_string, 6.135 - .enum_demarshaller = 6.136 - (int (*)(xen_session *, const char *))&xen_cpu_feature_from_string 6.137 - }; 6.138 - 6.139 - 6.140 -const abstract_type xen_cpu_feature_set_abstract_type_ = 6.141 - { 6.142 - .typename = SET, 6.143 - .child = &xen_cpu_feature_abstract_type_ 6.144 - }; 6.145 - 6.146 -
7.1 --- a/tools/libxen/src/xen_host_cpu.c Mon Jan 29 19:04:54 2007 +0000 7.2 +++ b/tools/libxen/src/xen_host_cpu.c Tue Jan 30 00:10:05 2007 +0000 7.3 @@ -21,8 +21,6 @@ 7.4 #include <stdlib.h> 7.5 7.6 #include "xen_common.h" 7.7 -#include "xen_cpu_feature.h" 7.8 -#include "xen_cpu_feature_internal.h" 7.9 #include "xen_host.h" 7.10 #include "xen_host_cpu.h" 7.11 #include "xen_internal.h" 7.12 @@ -57,9 +55,6 @@ static const struct_member xen_host_cpu_ 7.13 { .key = "modelname", 7.14 .type = &abstract_type_string, 7.15 .offset = offsetof(xen_host_cpu_record, modelname) }, 7.16 - { .key = "features", 7.17 - .type = &xen_cpu_feature_set_abstract_type_, 7.18 - .offset = offsetof(xen_host_cpu_record, features) }, 7.19 { .key = "utilisation", 7.20 .type = &abstract_type_float, 7.21 .offset = offsetof(xen_host_cpu_record, utilisation) } 7.22 @@ -87,7 +82,6 @@ xen_host_cpu_record_free(xen_host_cpu_re 7.23 xen_host_record_opt_free(record->host); 7.24 free(record->vendor); 7.25 free(record->modelname); 7.26 - xen_cpu_feature_set_free(record->features); 7.27 free(record); 7.28 } 7.29 7.30 @@ -247,23 +241,6 @@ xen_host_cpu_get_modelname(xen_session * 7.31 7.32 7.33 bool 7.34 -xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu) 7.35 -{ 7.36 - abstract_value param_values[] = 7.37 - { 7.38 - { .type = &abstract_type_string, 7.39 - .u.string_val = host_cpu } 7.40 - }; 7.41 - 7.42 - abstract_type result_type = xen_cpu_feature_set_abstract_type_; 7.43 - 7.44 - *result = NULL; 7.45 - XEN_CALL_("host_cpu.get_features"); 7.46 - return session->ok; 7.47 -} 7.48 - 7.49 - 7.50 -bool 7.51 xen_host_cpu_get_utilisation(xen_session *session, double *result, xen_host_cpu host_cpu) 7.52 { 7.53 abstract_value param_values[] =
8.1 --- a/tools/libxen/src/xen_vm.c Mon Jan 29 19:04:54 2007 +0000 8.2 +++ b/tools/libxen/src/xen_vm.c Tue Jan 30 00:10:05 2007 +0000 8.3 @@ -22,8 +22,6 @@ 8.4 8.5 #include "xen_common.h" 8.6 #include "xen_console.h" 8.7 -#include "xen_cpu_feature.h" 8.8 -#include "xen_cpu_feature_internal.h" 8.9 #include "xen_host.h" 8.10 #include "xen_int_float_map.h" 8.11 #include "xen_internal.h" 8.12 @@ -99,18 +97,6 @@ static const struct_member xen_vm_record 8.13 { .key = "VCPUs_utilisation", 8.14 .type = &abstract_type_int_float_map, 8.15 .offset = offsetof(xen_vm_record, vcpus_utilisation) }, 8.16 - { .key = "VCPUs_features_required", 8.17 - .type = &xen_cpu_feature_set_abstract_type_, 8.18 - .offset = offsetof(xen_vm_record, vcpus_features_required) }, 8.19 - { .key = "VCPUs_features_can_use", 8.20 - .type = &xen_cpu_feature_set_abstract_type_, 8.21 - .offset = offsetof(xen_vm_record, vcpus_features_can_use) }, 8.22 - { .key = "VCPUs_features_force_on", 8.23 - .type = &xen_cpu_feature_set_abstract_type_, 8.24 - .offset = offsetof(xen_vm_record, vcpus_features_force_on) }, 8.25 - { .key = "VCPUs_features_force_off", 8.26 - .type = &xen_cpu_feature_set_abstract_type_, 8.27 - .offset = offsetof(xen_vm_record, vcpus_features_force_off) }, 8.28 { .key = "actions_after_shutdown", 8.29 .type = &xen_on_normal_exit_abstract_type_, 8.30 .offset = offsetof(xen_vm_record, actions_after_shutdown) }, 8.31 @@ -204,10 +190,6 @@ xen_vm_record_free(xen_vm_record *record 8.32 free(record->vcpus_policy); 8.33 free(record->vcpus_params); 8.34 xen_int_float_map_free(record->vcpus_utilisation); 8.35 - xen_cpu_feature_set_free(record->vcpus_features_required); 8.36 - xen_cpu_feature_set_free(record->vcpus_features_can_use); 8.37 - xen_cpu_feature_set_free(record->vcpus_features_force_on); 8.38 - xen_cpu_feature_set_free(record->vcpus_features_force_off); 8.39 xen_console_record_opt_set_free(record->consoles); 8.40 xen_vif_record_opt_set_free(record->vifs); 8.41 xen_vbd_record_opt_set_free(record->vbds); 8.42 @@ -576,74 +558,6 @@ xen_vm_get_vcpus_utilisation(xen_session 8.43 8.44 8.45 bool 8.46 -xen_vm_get_vcpus_features_required(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) 8.47 -{ 8.48 - abstract_value param_values[] = 8.49 - { 8.50 - { .type = &abstract_type_string, 8.51 - .u.string_val = vm } 8.52 - }; 8.53 - 8.54 - abstract_type result_type = xen_cpu_feature_set_abstract_type_; 8.55 - 8.56 - *result = NULL; 8.57 - XEN_CALL_("VM.get_VCPUs_features_required"); 8.58 - return session->ok; 8.59 -} 8.60 - 8.61 - 8.62 -bool 8.63 -xen_vm_get_vcpus_features_can_use(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) 8.64 -{ 8.65 - abstract_value param_values[] = 8.66 - { 8.67 - { .type = &abstract_type_string, 8.68 - .u.string_val = vm } 8.69 - }; 8.70 - 8.71 - abstract_type result_type = xen_cpu_feature_set_abstract_type_; 8.72 - 8.73 - *result = NULL; 8.74 - XEN_CALL_("VM.get_VCPUs_features_can_use"); 8.75 - return session->ok; 8.76 -} 8.77 - 8.78 - 8.79 -bool 8.80 -xen_vm_get_vcpus_features_force_on(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) 8.81 -{ 8.82 - abstract_value param_values[] = 8.83 - { 8.84 - { .type = &abstract_type_string, 8.85 - .u.string_val = vm } 8.86 - }; 8.87 - 8.88 - abstract_type result_type = xen_cpu_feature_set_abstract_type_; 8.89 - 8.90 - *result = NULL; 8.91 - XEN_CALL_("VM.get_VCPUs_features_force_on"); 8.92 - return session->ok; 8.93 -} 8.94 - 8.95 - 8.96 -bool 8.97 -xen_vm_get_vcpus_features_force_off(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) 8.98 -{ 8.99 - abstract_value param_values[] = 8.100 - { 8.101 - { .type = &abstract_type_string, 8.102 - .u.string_val = vm } 8.103 - }; 8.104 - 8.105 - abstract_type result_type = xen_cpu_feature_set_abstract_type_; 8.106 - 8.107 - *result = NULL; 8.108 - XEN_CALL_("VM.get_VCPUs_features_force_off"); 8.109 - return session->ok; 8.110 -} 8.111 - 8.112 - 8.113 -bool 8.114 xen_vm_get_actions_after_shutdown(xen_session *session, enum xen_on_normal_exit *result, xen_vm vm) 8.115 { 8.116 abstract_value param_values[] = 8.117 @@ -1166,102 +1080,6 @@ xen_vm_set_vcpus_number(xen_session *ses 8.118 8.119 8.120 bool 8.121 -xen_vm_set_vcpus_features_force_on(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_on) 8.122 -{ 8.123 - abstract_value param_values[] = 8.124 - { 8.125 - { .type = &abstract_type_string, 8.126 - .u.string_val = vm }, 8.127 - { .type = &xen_cpu_feature_set_abstract_type_, 8.128 - .u.set_val = (arbitrary_set *)force_on } 8.129 - }; 8.130 - 8.131 - xen_call_(session, "VM.set_VCPUs_features_force_on", param_values, 2, NULL, NULL); 8.132 - return session->ok; 8.133 -} 8.134 - 8.135 - 8.136 -bool 8.137 -xen_vm_add_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value) 8.138 -{ 8.139 - abstract_value param_values[] = 8.140 - { 8.141 - { .type = &abstract_type_string, 8.142 - .u.string_val = vm }, 8.143 - { .type = &xen_cpu_feature_abstract_type_, 8.144 - .u.string_val = xen_cpu_feature_to_string(value) } 8.145 - }; 8.146 - 8.147 - xen_call_(session, "VM.add_VCPUs_features_force_on", param_values, 2, NULL, NULL); 8.148 - return session->ok; 8.149 -} 8.150 - 8.151 - 8.152 -bool 8.153 -xen_vm_remove_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value) 8.154 -{ 8.155 - abstract_value param_values[] = 8.156 - { 8.157 - { .type = &abstract_type_string, 8.158 - .u.string_val = vm }, 8.159 - { .type = &xen_cpu_feature_abstract_type_, 8.160 - .u.string_val = xen_cpu_feature_to_string(value) } 8.161 - }; 8.162 - 8.163 - xen_call_(session, "VM.remove_VCPUs_features_force_on", param_values, 2, NULL, NULL); 8.164 - return session->ok; 8.165 -} 8.166 - 8.167 - 8.168 -bool 8.169 -xen_vm_set_vcpus_features_force_off(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_off) 8.170 -{ 8.171 - abstract_value param_values[] = 8.172 - { 8.173 - { .type = &abstract_type_string, 8.174 - .u.string_val = vm }, 8.175 - { .type = &xen_cpu_feature_set_abstract_type_, 8.176 - .u.set_val = (arbitrary_set *)force_off } 8.177 - }; 8.178 - 8.179 - xen_call_(session, "VM.set_VCPUs_features_force_off", param_values, 2, NULL, NULL); 8.180 - return session->ok; 8.181 -} 8.182 - 8.183 - 8.184 -bool 8.185 -xen_vm_add_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value) 8.186 -{ 8.187 - abstract_value param_values[] = 8.188 - { 8.189 - { .type = &abstract_type_string, 8.190 - .u.string_val = vm }, 8.191 - { .type = &xen_cpu_feature_abstract_type_, 8.192 - .u.string_val = xen_cpu_feature_to_string(value) } 8.193 - }; 8.194 - 8.195 - xen_call_(session, "VM.add_VCPUs_features_force_off", param_values, 2, NULL, NULL); 8.196 - return session->ok; 8.197 -} 8.198 - 8.199 - 8.200 -bool 8.201 -xen_vm_remove_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value) 8.202 -{ 8.203 - abstract_value param_values[] = 8.204 - { 8.205 - { .type = &abstract_type_string, 8.206 - .u.string_val = vm }, 8.207 - { .type = &xen_cpu_feature_abstract_type_, 8.208 - .u.string_val = xen_cpu_feature_to_string(value) } 8.209 - }; 8.210 - 8.211 - xen_call_(session, "VM.remove_VCPUs_features_force_off", param_values, 2, NULL, NULL); 8.212 - return session->ok; 8.213 -} 8.214 - 8.215 - 8.216 -bool 8.217 xen_vm_set_actions_after_shutdown(xen_session *session, xen_vm vm, enum xen_on_normal_exit after_shutdown) 8.218 { 8.219 abstract_value param_values[] =
9.1 --- a/tools/python/xen/xend/XendAPI.py Mon Jan 29 19:04:54 2007 +0000 9.2 +++ b/tools/python/xen/xend/XendAPI.py Tue Jan 30 00:10:05 2007 +0000 9.3 @@ -652,15 +652,11 @@ class XendAPI(object): 9.4 9.5 host_cpu_attr_ro = ['host', 9.6 'number', 9.7 - 'features', 9.8 'utilisation'] 9.9 9.10 # attributes 9.11 def host_cpu_get_host(self, session, host_cpu_ref): 9.12 return xen_api_success(XendNode.instance().uuid) 9.13 - def host_cpu_get_features(self, session, host_cpu_ref): 9.14 - features = XendNode.instance().get_host_cpu_features(host_cpu_ref) 9.15 - return xen_api_success(features) 9.16 def host_cpu_get_utilisation(self, session, host_cpu_ref): 9.17 util = XendNode.instance().get_host_cpu_load(host_cpu_ref) 9.18 return xen_api_success(util) 9.19 @@ -676,7 +672,6 @@ class XendAPI(object): 9.20 record = {'uuid': host_cpu_ref, 9.21 'host': node.uuid, 9.22 'number': node.get_host_cpu_number(host_cpu_ref), 9.23 - 'features': node.get_host_cpu_features(host_cpu_ref), 9.24 'utilisation': node.get_host_cpu_load(host_cpu_ref)} 9.25 return xen_api_success(record) 9.26 9.27 @@ -860,8 +855,6 @@ class XendAPI(object): 9.28 'memory_static_min', 9.29 'VCPUs_number', 9.30 'VCPUs_utilisation', 9.31 - 'VCPUs_features_required', 9.32 - 'VCPUs_can_use', 9.33 'consoles', 9.34 'VIFs', 9.35 'VBDs', 9.36 @@ -879,8 +872,6 @@ class XendAPI(object): 9.37 'memory_dynamic_min', 9.38 'VCPUs_policy', 9.39 'VCPUs_params', 9.40 - 'VCPUs_features_force_on', 9.41 - 'VCPUs_features_force_off', 9.42 'actions_after_shutdown', 9.43 'actions_after_reboot', 9.44 'actions_after_suspend', 9.45 @@ -927,10 +918,6 @@ class XendAPI(object): 9.46 'memory_static_min', 9.47 'VCPUs_policy', 9.48 'VCPUs_params', 9.49 - 'VCPUs_features_required', 9.50 - 'VCPUs_features_can_use', 9.51 - 'VCPUs_features_force_on', 9.52 - 'VCPUs_features_force_off', 9.53 'actions_after_shutdown', 9.54 'actions_after_reboot', 9.55 'actions_after_suspend', 9.56 @@ -990,14 +977,6 @@ class XendAPI(object): 9.57 dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.58 return xen_api_success(dom.get_vcpus_util()) 9.59 9.60 - def VM_get_VCPUs_features_required(self, session, vm_ref): 9.61 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.62 - return xen_api_todo() # unsupported by xc 9.63 - 9.64 - def VM_get_VCPUs_can_use(self, session, vm_ref): 9.65 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.66 - return xen_api_todo() # unsupported by xc 9.67 - 9.68 def VM_get_VIFs(self, session, vm_ref): 9.69 dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.70 return xen_api_success(dom.get_vifs()) 9.71 @@ -1055,14 +1034,6 @@ class XendAPI(object): 9.72 dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.73 return xen_api_todo() # need access to scheduler 9.74 9.75 - def VM_get_VCPUs_features_force_on(self, session, vm_ref): 9.76 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.77 - return xen_api_todo() 9.78 - 9.79 - def VM_get_VCPUs_features_force_off(self, session, vm_ref): 9.80 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.81 - return xen_api_todo() 9.82 - 9.83 def VM_get_actions_after_shutdown(self, session, vm_ref): 9.84 dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.85 return xen_api_success(dom.get_on_shutdown()) 9.86 @@ -1157,14 +1128,6 @@ class XendAPI(object): 9.87 dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.88 return xen_api_todo() 9.89 9.90 - def VM_set_VCPUs_features_force_on(self, session, vm_ref, features): 9.91 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.92 - return xen_api_todo() 9.93 - 9.94 - def VM_set_VCPUs_features_force_off(self, session, vm_ref, features): 9.95 - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) 9.96 - return xen_api_todo() 9.97 - 9.98 def VM_set_actions_after_shutdown(self, session, vm_ref, action): 9.99 if action not in XEN_API_ON_NORMAL_EXIST: 9.100 return xen_api_error(['VM_ON_NORMAL_EXIT_INVALID', vm_ref]) 9.101 @@ -1280,10 +1243,6 @@ class XendAPI(object): 9.102 'VCPUs_params': xeninfo.get_vcpus_params(), 9.103 'VCPUs_number': xeninfo.getVCpuCount(), 9.104 'VCPUs_utilisation': xeninfo.get_vcpus_util(), 9.105 - 'VCPUs_features_required': [], 9.106 - 'VCPUs_features_can_use': [], 9.107 - 'VCPUs_features_force_on': [], 9.108 - 'VCPUs_features_force_off': [], 9.109 'actions_after_shutdown': xeninfo.get_on_shutdown(), 9.110 'actions_after_reboot': xeninfo.get_on_reboot(), 9.111 'actions_after_suspend': xeninfo.get_on_suspend(),