[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Remove the CPU feature handling, unimplementable as it stands.
# HG changeset patch # User Ewan Mellor <ewan@xxxxxxxxxxxxx> # Date 1170115805 0 # Node ID 44d5651817098d45a7f0321ce1e71b2530e759f7 # Parent eb7b2a9ce40ca37bded8deb1f9a17a57d0fbb413 Remove the CPU feature handling, unimplementable as it stands. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> --- tools/libxen/include/xen_cpu_feature.h | 387 -------------------- tools/libxen/include/xen_cpu_feature_internal.h | 37 - tools/libxen/src/xen_cpu_feature.c | 143 ------- docs/xen-api/xenapi-datamodel.tex | 445 ------------------------ tools/libxen/include/xen_host_cpu.h | 9 tools/libxen/include/xen_vm.h | 79 ---- tools/libxen/src/xen_host_cpu.c | 23 - tools/libxen/src/xen_vm.c | 182 --------- tools/python/xen/xend/XendAPI.py | 41 -- 9 files changed, 1346 deletions(-) diff -r eb7b2a9ce40c -r 44d565181709 docs/xen-api/xenapi-datamodel.tex --- a/docs/xen-api/xenapi-datamodel.tex Mon Jan 29 19:04:54 2007 +0000 +++ b/docs/xen-api/xenapi-datamodel.tex Tue Jan 30 00:10:05 2007 +0000 @@ -163,78 +163,6 @@ The following enumeration types are used \vspace{1cm} \begin{longtable}{|ll|} \hline -{\tt enum cpu\_feature} & \\ -\hline -\hspace{0.5cm}{\tt FPU} & Onboard FPU \\ -\hspace{0.5cm}{\tt VME} & Virtual Mode Extensions \\ -\hspace{0.5cm}{\tt DE} & Debugging Extensions \\ -\hspace{0.5cm}{\tt PSE} & Page Size Extensions \\ -\hspace{0.5cm}{\tt TSC} & Time Stamp Counter \\ -\hspace{0.5cm}{\tt MSR} & Model-Specific Registers, RDMSR, WRMSR \\ -\hspace{0.5cm}{\tt PAE} & Physical Address Extensions \\ -\hspace{0.5cm}{\tt MCE} & Machine Check Architecture \\ -\hspace{0.5cm}{\tt CX8} & CMPXCHG8 instruction \\ -\hspace{0.5cm}{\tt APIC} & Onboard APIC \\ -\hspace{0.5cm}{\tt SEP} & SYSENTER/SYSEXIT \\ -\hspace{0.5cm}{\tt MTRR} & Memory Type Range Registers \\ -\hspace{0.5cm}{\tt PGE} & Page Global Enable \\ -\hspace{0.5cm}{\tt MCA} & Machine Check Architecture \\ -\hspace{0.5cm}{\tt CMOV} & CMOV instruction (FCMOVCC and FCOMI too if FPU present) \\ -\hspace{0.5cm}{\tt PAT} & Page Attribute Table \\ -\hspace{0.5cm}{\tt PSE36} & 36-bit PSEs \\ -\hspace{0.5cm}{\tt PN} & Processor serial number \\ -\hspace{0.5cm}{\tt CLFLSH} & Supports the CLFLUSH instruction \\ -\hspace{0.5cm}{\tt DTES} & Debug Trace Store \\ -\hspace{0.5cm}{\tt ACPI} & ACPI via MSR \\ -\hspace{0.5cm}{\tt MMX} & Multimedia Extensions \\ -\hspace{0.5cm}{\tt FXSR} & FXSAVE and FXRSTOR instructions (fast save and restore \\ -\hspace{0.5cm}{\tt XMM} & Streaming SIMD Extensions \\ -\hspace{0.5cm}{\tt XMM2} & Streaming SIMD Extensions-2 \\ -\hspace{0.5cm}{\tt SELFSNOOP} & CPU self snoop \\ -\hspace{0.5cm}{\tt HT} & Hyper-Threading \\ -\hspace{0.5cm}{\tt ACC} & Automatic clock control \\ -\hspace{0.5cm}{\tt IA64} & IA-64 processor \\ -\hspace{0.5cm}{\tt SYSCALL} & SYSCALL/SYSRET \\ -\hspace{0.5cm}{\tt MP} & MP Capable. \\ -\hspace{0.5cm}{\tt NX} & Execute Disable \\ -\hspace{0.5cm}{\tt MMXEXT} & AMD MMX extensions \\ -\hspace{0.5cm}{\tt LM} & Long Mode (x86-64) \\ -\hspace{0.5cm}{\tt THREEDNOWEXT} & AMD 3DNow! extensions \\ -\hspace{0.5cm}{\tt THREEDNOW} & 3DNow! \\ -\hspace{0.5cm}{\tt RECOVERY} & CPU in recovery mode \\ -\hspace{0.5cm}{\tt LONGRUN} & Longrun power control \\ -\hspace{0.5cm}{\tt LRTI} & LongRun table interface \\ -\hspace{0.5cm}{\tt CXMMX} & Cyrix MMX extensions \\ -\hspace{0.5cm}{\tt K6\_MTRR} & AMD K6 nonstandard MTRRs \\ -\hspace{0.5cm}{\tt CYRIX\_ARR} & Cyrix ARRs (= MTRRs) \\ -\hspace{0.5cm}{\tt CENTAUR\_MCR} & Centaur MCRs (= MTRRs) \\ -\hspace{0.5cm}{\tt K8} & Opteron, Athlon64 \\ -\hspace{0.5cm}{\tt K7} & Athlon \\ -\hspace{0.5cm}{\tt P3} & P3 \\ -\hspace{0.5cm}{\tt P4} & P4 \\ -\hspace{0.5cm}{\tt CONSTANT\_TSC} & TSC ticks at a constant rate \\ -\hspace{0.5cm}{\tt FXSAVE\_LEAK} & FXSAVE leaks FOP/FIP/FOP \\ -\hspace{0.5cm}{\tt XMM3} & Streaming SIMD Extensions-3 \\ -\hspace{0.5cm}{\tt MWAIT} & Monitor/Mwait support \\ -\hspace{0.5cm}{\tt DSCPL} & CPL Qualified Debug Store \\ -\hspace{0.5cm}{\tt EST} & Enhanced SpeedStep \\ -\hspace{0.5cm}{\tt TM2} & Thermal Monitor 2 \\ -\hspace{0.5cm}{\tt CID} & Context ID \\ -\hspace{0.5cm}{\tt CX16} & CMPXCHG16B \\ -\hspace{0.5cm}{\tt XTPR} & Send Task Priority Messages \\ -\hspace{0.5cm}{\tt XSTORE} & on-CPU RNG present (xstore insn) \\ -\hspace{0.5cm}{\tt XSTORE\_EN} & on-CPU RNG enabled \\ -\hspace{0.5cm}{\tt XCRYPT} & on-CPU crypto (xcrypt insn) \\ -\hspace{0.5cm}{\tt XCRYPT\_EN} & on-CPU crypto enabled \\ -\hspace{0.5cm}{\tt LAHF\_LM} & LAHF/SAHF in long mode \\ -\hspace{0.5cm}{\tt CMP\_LEGACY} & If yes HyperThreading not valid \\ -\hspace{0.5cm}{\tt VMX} & VMX instruction set \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline {\tt enum on\_normal\_exit} & \\ \hline \hspace{0.5cm}{\tt destroy} & destroy the VM state \\ @@ -1104,10 +1032,6 @@ Quals & Field & Type & Description \\ $\mathit{RW}$ & {\tt VCPUs/params} & string & string-encoded parameters passed to selected VCPU policy \\ $\mathit{RW}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\ $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/required} & (cpu\_feature) Set & CPU features the guest demands the host supports \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/can\_use} & (cpu\_feature) Set & CPU features the guest can use if available \\ -$\mathit{RW}$ & {\tt VCPUs/features/force\_on} & (cpu\_feature) Set & CPU features to expose to the guest above the bare minimum \\ -$\mathit{RW}$ & {\tt VCPUs/features/force\_off} & (cpu\_feature) Set & CPU features to hide to the guest \\ $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\ $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\ $\mathit{RW}$ & {\tt actions/after\_suspend} & on\_normal\_exit & action to take after the guest has suspended itself \\ @@ -2402,342 +2326,6 @@ value of the field \vspace{0.3cm} \vspace{0.3cm} \vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_features\_required} - -{\bf Overview:} -Get the VCPUs/features/required field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_required (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 & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_feature) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_features\_can\_use} - -{\bf Overview:} -Get the VCPUs/features/can\_use field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_can_use (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 & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_feature) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_features\_force\_on} - -{\bf Overview:} -Get the VCPUs/features/force\_on field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_on (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 & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_feature) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VCPUs\_features\_force\_on} - -{\bf Overview:} -Set the VCPUs/features/force\_on field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_features_force_on (session_id s, VM ref self, (cpu_feature) Set value)\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 & reference to the object \\ \hline - -{\tt (cpu\_feature) Set } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_VCPUs\_features\_force\_on} - -{\bf Overview:} -Add the given value to the VCPUs/features/force\_on field of the given VM. -If the value is already in that Set, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void add_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\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 & reference to the object \\ \hline - -{\tt cpu\_feature } & value & New value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_on} - -{\bf Overview:} -Remove the given value from the VCPUs/features/force\_on field of the given -VM. If the value is not in that Set, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\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 & reference to the object \\ \hline - -{\tt cpu\_feature } & value & Value to remove \\ \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\_VCPUs\_features\_force\_off} - -{\bf Overview:} -Get the VCPUs/features/force\_off field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_off (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 & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_feature) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VCPUs\_features\_force\_off} - -{\bf Overview:} -Set the VCPUs/features/force\_off field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_features_force_off (session_id s, VM ref self, (cpu_feature) Set value)\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 & reference to the object \\ \hline - -{\tt (cpu\_feature) Set } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_VCPUs\_features\_force\_off} - -{\bf Overview:} -Add the given value to the VCPUs/features/force\_off field of the given VM. - If the value is already in that Set, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void add_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\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 & reference to the object \\ \hline - -{\tt cpu\_feature } & value & New value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_VCPUs\_features\_force\_off} - -{\bf Overview:} -Remove the given value from the VCPUs/features/force\_off field of the -given VM. If the value is not in that Set, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\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 & reference to the object \\ \hline - -{\tt cpu\_feature } & value & Value to remove \\ \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\_actions\_after\_shutdown} {\bf Overview:} @@ -4896,7 +4484,6 @@ Quals & Field & Type & Description \\ $\mathit{RO}_\mathit{ins}$ & {\tt vendor} & string & the vendor of the physical CPU \\ $\mathit{RO}_\mathit{ins}$ & {\tt speed} & int & the speed of the physical CPU \\ $\mathit{RO}_\mathit{ins}$ & {\tt modelname} & string & the model name of the physical CPU \\ -$\mathit{RO}_\mathit{ins}$ & {\tt features} & (cpu\_feature) Set & the features supported by the CPU \\ $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\ \hline \end{longtable} @@ -5086,38 +4673,6 @@ Get the modelname field of the given hos \noindent {\bf Return Type:} {\tt string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_features} - -{\bf Overview:} -Get the features field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_feature) Set) get_features (session_id s, host_cpu 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 host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_feature) Set } diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/include/xen_cpu_feature.h --- a/tools/libxen/include/xen_cpu_feature.h Mon Jan 29 19:04:54 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,387 +0,0 @@ -/* - * Copyright (c) 2006, XenSource Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef XEN_CPU_FEATURE_H -#define XEN_CPU_FEATURE_H - - -#include "xen_common.h" - - -enum xen_cpu_feature -{ - /** - * Onboard FPU - */ - XEN_CPU_FEATURE_FPU, - - /** - * Virtual Mode Extensions - */ - XEN_CPU_FEATURE_VME, - - /** - * Debugging Extensions - */ - XEN_CPU_FEATURE_DE, - - /** - * Page Size Extensions - */ - XEN_CPU_FEATURE_PSE, - - /** - * Time Stamp Counter - */ - XEN_CPU_FEATURE_TSC, - - /** - * Model-Specific Registers, RDMSR, WRMSR - */ - XEN_CPU_FEATURE_MSR, - - /** - * Physical Address Extensions - */ - XEN_CPU_FEATURE_PAE, - - /** - * Machine Check Architecture - */ - XEN_CPU_FEATURE_MCE, - - /** - * CMPXCHG8 instruction - */ - XEN_CPU_FEATURE_CX8, - - /** - * Onboard APIC - */ - XEN_CPU_FEATURE_APIC, - - /** - * SYSENTER/SYSEXIT - */ - XEN_CPU_FEATURE_SEP, - - /** - * Memory Type Range Registers - */ - XEN_CPU_FEATURE_MTRR, - - /** - * Page Global Enable - */ - XEN_CPU_FEATURE_PGE, - - /** - * Machine Check Architecture - */ - XEN_CPU_FEATURE_MCA, - - /** - * CMOV instruction (FCMOVCC and FCOMI too if FPU present) - */ - XEN_CPU_FEATURE_CMOV, - - /** - * Page Attribute Table - */ - XEN_CPU_FEATURE_PAT, - - /** - * 36-bit PSEs - */ - XEN_CPU_FEATURE_PSE36, - - /** - * Processor serial number - */ - XEN_CPU_FEATURE_PN, - - /** - * Supports the CLFLUSH instruction - */ - XEN_CPU_FEATURE_CLFLSH, - - /** - * Debug Trace Store - */ - XEN_CPU_FEATURE_DTES, - - /** - * ACPI via MSR - */ - XEN_CPU_FEATURE_ACPI, - - /** - * Multimedia Extensions - */ - XEN_CPU_FEATURE_MMX, - - /** - * FXSAVE and FXRSTOR instructions (fast save and restore - */ - XEN_CPU_FEATURE_FXSR, - - /** - * Streaming SIMD Extensions - */ - XEN_CPU_FEATURE_XMM, - - /** - * Streaming SIMD Extensions-2 - */ - XEN_CPU_FEATURE_XMM2, - - /** - * CPU self snoop - */ - XEN_CPU_FEATURE_SELFSNOOP, - - /** - * Hyper-Threading - */ - XEN_CPU_FEATURE_HT, - - /** - * Automatic clock control - */ - XEN_CPU_FEATURE_ACC, - - /** - * IA-64 processor - */ - XEN_CPU_FEATURE_IA64, - - /** - * SYSCALL/SYSRET - */ - XEN_CPU_FEATURE_SYSCALL, - - /** - * MP Capable. - */ - XEN_CPU_FEATURE_MP, - - /** - * Execute Disable - */ - XEN_CPU_FEATURE_NX, - - /** - * AMD MMX extensions - */ - XEN_CPU_FEATURE_MMXEXT, - - /** - * Long Mode (x86-64) - */ - XEN_CPU_FEATURE_LM, - - /** - * AMD 3DNow! extensions - */ - XEN_CPU_FEATURE_THREEDNOWEXT, - - /** - * 3DNow! - */ - XEN_CPU_FEATURE_THREEDNOW, - - /** - * CPU in recovery mode - */ - XEN_CPU_FEATURE_RECOVERY, - - /** - * Longrun power control - */ - XEN_CPU_FEATURE_LONGRUN, - - /** - * LongRun table interface - */ - XEN_CPU_FEATURE_LRTI, - - /** - * Cyrix MMX extensions - */ - XEN_CPU_FEATURE_CXMMX, - - /** - * AMD K6 nonstandard MTRRs - */ - XEN_CPU_FEATURE_K6_MTRR, - - /** - * Cyrix ARRs (= MTRRs) - */ - XEN_CPU_FEATURE_CYRIX_ARR, - - /** - * Centaur MCRs (= MTRRs) - */ - XEN_CPU_FEATURE_CENTAUR_MCR, - - /** - * Opteron, Athlon64 - */ - XEN_CPU_FEATURE_K8, - - /** - * Athlon - */ - XEN_CPU_FEATURE_K7, - - /** - * P3 - */ - XEN_CPU_FEATURE_P3, - - /** - * P4 - */ - XEN_CPU_FEATURE_P4, - - /** - * TSC ticks at a constant rate - */ - XEN_CPU_FEATURE_CONSTANT_TSC, - - /** - * FXSAVE leaks FOP/FIP/FOP - */ - XEN_CPU_FEATURE_FXSAVE_LEAK, - - /** - * Streaming SIMD Extensions-3 - */ - XEN_CPU_FEATURE_XMM3, - - /** - * Monitor/Mwait support - */ - XEN_CPU_FEATURE_MWAIT, - - /** - * CPL Qualified Debug Store - */ - XEN_CPU_FEATURE_DSCPL, - - /** - * Enhanced SpeedStep - */ - XEN_CPU_FEATURE_EST, - - /** - * Thermal Monitor 2 - */ - XEN_CPU_FEATURE_TM2, - - /** - * Context ID - */ - XEN_CPU_FEATURE_CID, - - /** - * CMPXCHG16B - */ - XEN_CPU_FEATURE_CX16, - - /** - * Send Task Priority Messages - */ - XEN_CPU_FEATURE_XTPR, - - /** - * on-CPU RNG present (xstore insn) - */ - XEN_CPU_FEATURE_XSTORE, - - /** - * on-CPU RNG enabled - */ - XEN_CPU_FEATURE_XSTORE_EN, - - /** - * on-CPU crypto (xcrypt insn) - */ - XEN_CPU_FEATURE_XCRYPT, - - /** - * on-CPU crypto enabled - */ - XEN_CPU_FEATURE_XCRYPT_EN, - - /** - * LAHF/SAHF in long mode - */ - XEN_CPU_FEATURE_LAHF_LM, - - /** - * If yes HyperThreading not valid - */ - XEN_CPU_FEATURE_CMP_LEGACY, - - /** - * VMX instruction set - */ - XEN_CPU_FEATURE_VMX -}; - - -typedef struct xen_cpu_feature_set -{ - size_t size; - enum xen_cpu_feature contents[]; -} xen_cpu_feature_set; - -/** - * Allocate a xen_cpu_feature_set of the given size. - */ -extern xen_cpu_feature_set * -xen_cpu_feature_set_alloc(size_t size); - -/** - * Free the given xen_cpu_feature_set. The given set must have been - * allocated by this library. - */ -extern void -xen_cpu_feature_set_free(xen_cpu_feature_set *set); - - -/** - * Return the name corresponding to the given code. This string must - * not be modified or freed. - */ -extern const char * -xen_cpu_feature_to_string(enum xen_cpu_feature val); - - -/** - * Return the correct code for the given string, or set the session - * object to failure and return an undefined value if the given string does - * not match a known code. - */ -extern enum xen_cpu_feature -xen_cpu_feature_from_string(xen_session *session, const char *str); - - -#endif diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/include/xen_cpu_feature_internal.h --- a/tools/libxen/include/xen_cpu_feature_internal.h Mon Jan 29 19:04:54 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2006, XenSource Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -/* - * Declarations of the abstract types used during demarshalling of enum - * xen_cpu_feature. Internal to this library -- do not use from outside. - */ - - -#ifndef XEN_CPU_FEATURE_INTERNAL_H -#define XEN_CPU_FEATURE_INTERNAL_H - - -#include "xen_internal.h" - - -extern const abstract_type xen_cpu_feature_abstract_type_; -extern const abstract_type xen_cpu_feature_set_abstract_type_; - - -#endif diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/include/xen_host_cpu.h --- a/tools/libxen/include/xen_host_cpu.h Mon Jan 29 19:04:54 2007 +0000 +++ b/tools/libxen/include/xen_host_cpu.h Tue Jan 30 00:10:05 2007 +0000 @@ -20,7 +20,6 @@ #define XEN_HOST_CPU_H #include "xen_common.h" -#include "xen_cpu_feature.h" #include "xen_host_cpu_decl.h" #include "xen_host_decl.h" @@ -69,7 +68,6 @@ typedef struct xen_host_cpu_record char *vendor; int64_t speed; char *modelname; - struct xen_cpu_feature_set *features; double utilisation; } xen_host_cpu_record; @@ -223,13 +221,6 @@ xen_host_cpu_get_modelname(xen_session * /** - * Get the features field of the given host_cpu. - */ -extern bool -xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu); - - -/** * Get the utilisation field of the given host_cpu. */ extern bool diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/include/xen_vm.h --- a/tools/libxen/include/xen_vm.h Mon Jan 29 19:04:54 2007 +0000 +++ b/tools/libxen/include/xen_vm.h Tue Jan 30 00:10:05 2007 +0000 @@ -21,7 +21,6 @@ #include "xen_common.h" #include "xen_console_decl.h" -#include "xen_cpu_feature.h" #include "xen_host_decl.h" #include "xen_int_float_map.h" #include "xen_on_crash_behaviour.h" @@ -119,10 +118,6 @@ typedef struct xen_vm_record char *vcpus_params; int64_t vcpus_number; xen_int_float_map *vcpus_utilisation; - struct xen_cpu_feature_set *vcpus_features_required; - struct xen_cpu_feature_set *vcpus_features_can_use; - struct xen_cpu_feature_set *vcpus_features_force_on; - struct xen_cpu_feature_set *vcpus_features_force_off; enum xen_on_normal_exit actions_after_shutdown; enum xen_on_normal_exit actions_after_reboot; enum xen_on_normal_exit actions_after_suspend; @@ -383,34 +378,6 @@ xen_vm_get_vcpus_utilisation(xen_session /** - * Get the VCPUs/features/required field of the given VM. - */ -extern bool -xen_vm_get_vcpus_features_required(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); - - -/** - * Get the VCPUs/features/can_use field of the given VM. - */ -extern bool -xen_vm_get_vcpus_features_can_use(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); - - -/** - * Get the VCPUs/features/force_on field of the given VM. - */ -extern bool -xen_vm_get_vcpus_features_force_on(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); - - -/** - * Get the VCPUs/features/force_off field of the given VM. - */ -extern bool -xen_vm_get_vcpus_features_force_off(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm); - - -/** * Get the actions/after_shutdown field of the given VM. */ extern bool @@ -632,52 +599,6 @@ xen_vm_set_vcpus_params(xen_session *ses */ extern bool xen_vm_set_vcpus_number(xen_session *session, xen_vm vm, int64_t number); - - -/** - * Set the VCPUs/features/force_on field of the given VM. - */ -extern bool -xen_vm_set_vcpus_features_force_on(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_on); - - -/** - * Add the given value to the VCPUs/features/force_on field of the - * given VM. If the value is already in that Set, then do nothing. - */ -extern bool -xen_vm_add_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value); - - -/** - * Remove the given value from the VCPUs/features/force_on field of the - * given VM. If the value is not in that Set, then do nothing. - */ -extern bool -xen_vm_remove_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value); - - -/** - * Set the VCPUs/features/force_off field of the given VM. - */ -extern bool -xen_vm_set_vcpus_features_force_off(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_off); - - -/** - * Add the given value to the VCPUs/features/force_off field of the - * given VM. If the value is already in that Set, then do nothing. - */ -extern bool -xen_vm_add_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value); - - -/** - * Remove the given value from the VCPUs/features/force_off field of - * the given VM. If the value is not in that Set, then do nothing. - */ -extern bool -xen_vm_remove_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value); /** diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/src/xen_cpu_feature.c --- a/tools/libxen/src/xen_cpu_feature.c Mon Jan 29 19:04:54 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2006, XenSource Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include <string.h> - -#include "xen_internal.h" -#include "xen_cpu_feature.h" -#include "xen_cpu_feature_internal.h" - - -/* - * Maintain this in the same order as the enum declaration! - */ -static const char *lookup_table[] = -{ - "FPU", - "VME", - "DE", - "PSE", - "TSC", - "MSR", - "PAE", - "MCE", - "CX8", - "APIC", - "SEP", - "MTRR", - "PGE", - "MCA", - "CMOV", - "PAT", - "PSE36", - "PN", - "CLFLSH", - "DTES", - "ACPI", - "MMX", - "FXSR", - "XMM", - "XMM2", - "SELFSNOOP", - "HT", - "ACC", - "IA64", - "SYSCALL", - "MP", - "NX", - "MMXEXT", - "LM", - "THREEDNOWEXT", - "THREEDNOW", - "RECOVERY", - "LONGRUN", - "LRTI", - "CXMMX", - "K6_MTRR", - "CYRIX_ARR", - "CENTAUR_MCR", - "K8", - "K7", - "P3", - "P4", - "CONSTANT_TSC", - "FXSAVE_LEAK", - "XMM3", - "MWAIT", - "DSCPL", - "EST", - "TM2", - "CID", - "CX16", - "XTPR", - "XSTORE", - "XSTORE_EN", - "XCRYPT", - "XCRYPT_EN", - "LAHF_LM", - "CMP_LEGACY", - "VMX" -}; - - -extern xen_cpu_feature_set * -xen_cpu_feature_set_alloc(size_t size) -{ - return calloc(1, sizeof(xen_cpu_feature_set) + - size * sizeof(enum xen_cpu_feature)); -} - - -extern void -xen_cpu_feature_set_free(xen_cpu_feature_set *set) -{ - free(set); -} - - -const char * -xen_cpu_feature_to_string(enum xen_cpu_feature val) -{ - return lookup_table[val]; -} - - -extern enum xen_cpu_feature -xen_cpu_feature_from_string(xen_session *session, const char *str) -{ - return ENUM_LOOKUP(session, str, lookup_table); -} - - -const abstract_type xen_cpu_feature_abstract_type_ = - { - .typename = ENUM, - .enum_marshaller = - (const char *(*)(int))&xen_cpu_feature_to_string, - .enum_demarshaller = - (int (*)(xen_session *, const char *))&xen_cpu_feature_from_string - }; - - -const abstract_type xen_cpu_feature_set_abstract_type_ = - { - .typename = SET, - .child = &xen_cpu_feature_abstract_type_ - }; - - diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/src/xen_host_cpu.c --- a/tools/libxen/src/xen_host_cpu.c Mon Jan 29 19:04:54 2007 +0000 +++ b/tools/libxen/src/xen_host_cpu.c Tue Jan 30 00:10:05 2007 +0000 @@ -21,8 +21,6 @@ #include <stdlib.h> #include "xen_common.h" -#include "xen_cpu_feature.h" -#include "xen_cpu_feature_internal.h" #include "xen_host.h" #include "xen_host_cpu.h" #include "xen_internal.h" @@ -57,9 +55,6 @@ static const struct_member xen_host_cpu_ { .key = "modelname", .type = &abstract_type_string, .offset = offsetof(xen_host_cpu_record, modelname) }, - { .key = "features", - .type = &xen_cpu_feature_set_abstract_type_, - .offset = offsetof(xen_host_cpu_record, features) }, { .key = "utilisation", .type = &abstract_type_float, .offset = offsetof(xen_host_cpu_record, utilisation) } @@ -87,7 +82,6 @@ xen_host_cpu_record_free(xen_host_cpu_re xen_host_record_opt_free(record->host); free(record->vendor); free(record->modelname); - xen_cpu_feature_set_free(record->features); free(record); } @@ -247,23 +241,6 @@ xen_host_cpu_get_modelname(xen_session * bool -xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = host_cpu } - }; - - abstract_type result_type = xen_cpu_feature_set_abstract_type_; - - *result = NULL; - XEN_CALL_("host_cpu.get_features"); - return session->ok; -} - - -bool xen_host_cpu_get_utilisation(xen_session *session, double *result, xen_host_cpu host_cpu) { abstract_value param_values[] = diff -r eb7b2a9ce40c -r 44d565181709 tools/libxen/src/xen_vm.c --- a/tools/libxen/src/xen_vm.c Mon Jan 29 19:04:54 2007 +0000 +++ b/tools/libxen/src/xen_vm.c Tue Jan 30 00:10:05 2007 +0000 @@ -22,8 +22,6 @@ #include "xen_common.h" #include "xen_console.h" -#include "xen_cpu_feature.h" -#include "xen_cpu_feature_internal.h" #include "xen_host.h" #include "xen_int_float_map.h" #include "xen_internal.h" @@ -99,18 +97,6 @@ static const struct_member xen_vm_record { .key = "VCPUs_utilisation", .type = &abstract_type_int_float_map, .offset = offsetof(xen_vm_record, vcpus_utilisation) }, - { .key = "VCPUs_features_required", - .type = &xen_cpu_feature_set_abstract_type_, - .offset = offsetof(xen_vm_record, vcpus_features_required) }, - { .key = "VCPUs_features_can_use", - .type = &xen_cpu_feature_set_abstract_type_, - .offset = offsetof(xen_vm_record, vcpus_features_can_use) }, - { .key = "VCPUs_features_force_on", - .type = &xen_cpu_feature_set_abstract_type_, - .offset = offsetof(xen_vm_record, vcpus_features_force_on) }, - { .key = "VCPUs_features_force_off", - .type = &xen_cpu_feature_set_abstract_type_, - .offset = offsetof(xen_vm_record, vcpus_features_force_off) }, { .key = "actions_after_shutdown", .type = &xen_on_normal_exit_abstract_type_, .offset = offsetof(xen_vm_record, actions_after_shutdown) }, @@ -204,10 +190,6 @@ xen_vm_record_free(xen_vm_record *record free(record->vcpus_policy); free(record->vcpus_params); xen_int_float_map_free(record->vcpus_utilisation); - xen_cpu_feature_set_free(record->vcpus_features_required); - xen_cpu_feature_set_free(record->vcpus_features_can_use); - xen_cpu_feature_set_free(record->vcpus_features_force_on); - xen_cpu_feature_set_free(record->vcpus_features_force_off); xen_console_record_opt_set_free(record->consoles); xen_vif_record_opt_set_free(record->vifs); xen_vbd_record_opt_set_free(record->vbds); @@ -576,74 +558,6 @@ xen_vm_get_vcpus_utilisation(xen_session bool -xen_vm_get_vcpus_features_required(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm } - }; - - abstract_type result_type = xen_cpu_feature_set_abstract_type_; - - *result = NULL; - XEN_CALL_("VM.get_VCPUs_features_required"); - return session->ok; -} - - -bool -xen_vm_get_vcpus_features_can_use(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm } - }; - - abstract_type result_type = xen_cpu_feature_set_abstract_type_; - - *result = NULL; - XEN_CALL_("VM.get_VCPUs_features_can_use"); - return session->ok; -} - - -bool -xen_vm_get_vcpus_features_force_on(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm } - }; - - abstract_type result_type = xen_cpu_feature_set_abstract_type_; - - *result = NULL; - XEN_CALL_("VM.get_VCPUs_features_force_on"); - return session->ok; -} - - -bool -xen_vm_get_vcpus_features_force_off(xen_session *session, struct xen_cpu_feature_set **result, xen_vm vm) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm } - }; - - abstract_type result_type = xen_cpu_feature_set_abstract_type_; - - *result = NULL; - XEN_CALL_("VM.get_VCPUs_features_force_off"); - return session->ok; -} - - -bool xen_vm_get_actions_after_shutdown(xen_session *session, enum xen_on_normal_exit *result, xen_vm vm) { abstract_value param_values[] = @@ -1166,102 +1080,6 @@ xen_vm_set_vcpus_number(xen_session *ses bool -xen_vm_set_vcpus_features_force_on(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_on) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_set_abstract_type_, - .u.set_val = (arbitrary_set *)force_on } - }; - - xen_call_(session, "VM.set_VCPUs_features_force_on", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vm_add_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_abstract_type_, - .u.string_val = xen_cpu_feature_to_string(value) } - }; - - xen_call_(session, "VM.add_VCPUs_features_force_on", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vm_remove_vcpus_features_force_on(xen_session *session, xen_vm vm, enum xen_cpu_feature value) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_abstract_type_, - .u.string_val = xen_cpu_feature_to_string(value) } - }; - - xen_call_(session, "VM.remove_VCPUs_features_force_on", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vm_set_vcpus_features_force_off(xen_session *session, xen_vm vm, struct xen_cpu_feature_set *force_off) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_set_abstract_type_, - .u.set_val = (arbitrary_set *)force_off } - }; - - xen_call_(session, "VM.set_VCPUs_features_force_off", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vm_add_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_abstract_type_, - .u.string_val = xen_cpu_feature_to_string(value) } - }; - - xen_call_(session, "VM.add_VCPUs_features_force_off", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool -xen_vm_remove_vcpus_features_force_off(xen_session *session, xen_vm vm, enum xen_cpu_feature value) -{ - abstract_value param_values[] = - { - { .type = &abstract_type_string, - .u.string_val = vm }, - { .type = &xen_cpu_feature_abstract_type_, - .u.string_val = xen_cpu_feature_to_string(value) } - }; - - xen_call_(session, "VM.remove_VCPUs_features_force_off", param_values, 2, NULL, NULL); - return session->ok; -} - - -bool xen_vm_set_actions_after_shutdown(xen_session *session, xen_vm vm, enum xen_on_normal_exit after_shutdown) { abstract_value param_values[] = diff -r eb7b2a9ce40c -r 44d565181709 tools/python/xen/xend/XendAPI.py --- a/tools/python/xen/xend/XendAPI.py Mon Jan 29 19:04:54 2007 +0000 +++ b/tools/python/xen/xend/XendAPI.py Tue Jan 30 00:10:05 2007 +0000 @@ -652,15 +652,11 @@ class XendAPI(object): host_cpu_attr_ro = ['host', 'number', - 'features', 'utilisation'] # attributes def host_cpu_get_host(self, session, host_cpu_ref): return xen_api_success(XendNode.instance().uuid) - def host_cpu_get_features(self, session, host_cpu_ref): - features = XendNode.instance().get_host_cpu_features(host_cpu_ref) - return xen_api_success(features) def host_cpu_get_utilisation(self, session, host_cpu_ref): util = XendNode.instance().get_host_cpu_load(host_cpu_ref) return xen_api_success(util) @@ -676,7 +672,6 @@ class XendAPI(object): record = {'uuid': host_cpu_ref, 'host': node.uuid, 'number': node.get_host_cpu_number(host_cpu_ref), - 'features': node.get_host_cpu_features(host_cpu_ref), 'utilisation': node.get_host_cpu_load(host_cpu_ref)} return xen_api_success(record) @@ -860,8 +855,6 @@ class XendAPI(object): 'memory_static_min', 'VCPUs_number', 'VCPUs_utilisation', - 'VCPUs_features_required', - 'VCPUs_can_use', 'consoles', 'VIFs', 'VBDs', @@ -879,8 +872,6 @@ class XendAPI(object): 'memory_dynamic_min', 'VCPUs_policy', 'VCPUs_params', - 'VCPUs_features_force_on', - 'VCPUs_features_force_off', 'actions_after_shutdown', 'actions_after_reboot', 'actions_after_suspend', @@ -927,10 +918,6 @@ class XendAPI(object): 'memory_static_min', 'VCPUs_policy', 'VCPUs_params', - 'VCPUs_features_required', - 'VCPUs_features_can_use', - 'VCPUs_features_force_on', - 'VCPUs_features_force_off', 'actions_after_shutdown', 'actions_after_reboot', 'actions_after_suspend', @@ -990,14 +977,6 @@ class XendAPI(object): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) return xen_api_success(dom.get_vcpus_util()) - def VM_get_VCPUs_features_required(self, session, vm_ref): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() # unsupported by xc - - def VM_get_VCPUs_can_use(self, session, vm_ref): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() # unsupported by xc - def VM_get_VIFs(self, session, vm_ref): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) return xen_api_success(dom.get_vifs()) @@ -1055,14 +1034,6 @@ class XendAPI(object): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) return xen_api_todo() # need access to scheduler - def VM_get_VCPUs_features_force_on(self, session, vm_ref): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() - - def VM_get_VCPUs_features_force_off(self, session, vm_ref): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() - def VM_get_actions_after_shutdown(self, session, vm_ref): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) return xen_api_success(dom.get_on_shutdown()) @@ -1154,14 +1125,6 @@ class XendAPI(object): return xen_api_todo() def VM_set_VCPUs_params(self, session, vm_ref, params): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() - - def VM_set_VCPUs_features_force_on(self, session, vm_ref, features): - dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() - - def VM_set_VCPUs_features_force_off(self, session, vm_ref, features): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) return xen_api_todo() @@ -1280,10 +1243,6 @@ class XendAPI(object): 'VCPUs_params': xeninfo.get_vcpus_params(), 'VCPUs_number': xeninfo.getVCpuCount(), 'VCPUs_utilisation': xeninfo.get_vcpus_util(), - 'VCPUs_features_required': [], - 'VCPUs_features_can_use': [], - 'VCPUs_features_force_on': [], - 'VCPUs_features_force_off': [], 'actions_after_shutdown': xeninfo.get_on_shutdown(), 'actions_after_reboot': xeninfo.get_on_reboot(), 'actions_after_suspend': xeninfo.get_on_suspend(), _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |