-/* Copyright (c) 2004-2014. The SimGrid Team.
+/* Copyright (c) 2004-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/* Note (hypervisor): */
lmm_constraint_t *p_constraintCore;
void **p_constraintCoreId;
+
+ // ////
+ // Adrien - Oct 2015. Additional code related to VM energy extensions
+ /* TODO:
+ 1./ create a VirtualCpuModel that inherits from CpuModel or create
+ a VirtualCpuCas01Model that inherist from CpuCas01Model
+ => Question: not sure which one is really usefull :( The objective is to
+ be able to create a VirtualCpu instead of a Cpu (i.e. a CpuCas01 to be exact).
+ 2. create VirtualCpu class that inherits from Cpu or create
+ a VirtualCpuCas01 class that inherits from CpuCas01 (same issue as the one described above).
+ Such modifications would enable us to remove the isVirtual method and
+ actually use the polymorphism feature of C++. It will also enable us
+ to overwrite the cpu_energy hashmap in energyCpuCreateCallBack instead of invoking
+ setVirtual().
+ So to make a long story short, it will be cleaner from the software viewpoint
+ and patches welcome ;) - Adrien October 20 2015
+ */
+ Cpu *physCpu = NULL;
+
+ /**
+ * @brief Set the current Cpu as virtual or physical
+ *
+ * @param isVirtual true to indicate this Cpu is virtual, false otherwise
+ */
+ void setVirtual(Cpu *physCpu);
+
+ /**
+ * @brief Learn if this Cpu is physical or virtual
+ *
+ * @return phys CPU if the current Cpu is a VM, null otherwise
+ */
+ Cpu* isVirtual(void);
+
+ // Adrien - Oct 2015. End of additional code related to VM energy extensions
+ // ////
};
/**********