Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge tag 'v3_9_90' into hypervisor
[simgrid.git] / src / surf / vm_workstation_private.h
1 /* Copyright (c) 2009, 2013. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef VM_WS_PRIVATE_H_
8 #define VM_WS_PRIVATE_H_
9
10 #define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
11                           // It corresponds to the cost of a VM running no tasks.
12
13 #include "workstation_private.h"
14
15 /* NOTE:
16  * The workstation_VM2013 struct includes the workstation_CLM03 struct in
17  * its first member. The workstation_VM2013_t struct inherites all
18  * characteristics of the workstation_CLM03 struct. So, we can treat a
19  * workstation_VM2013 object as a workstation_CLM03 if necessary.
20  **/
21 typedef struct workstation_VM2013 {
22   s_workstation_CLM03_t ws;    /* a VM is a ''v''host */
23
24   /* The workstation object of the lower layer */
25   workstation_CLM03_t sub_ws;  // Pointer to the ''host'' OS
26
27   e_surf_vm_state_t current_state;
28
29
30   surf_action_t cpu_action;
31
32 } s_workstation_VM2013_t, *workstation_VM2013_t;
33
34
35 void surf_vm_workstation_model_init(void);
36
37 #endif /* VM_WS_PRIVATE_H_ */