99#include <cache.h>
1010#include <config.h>
1111
12- static void vm_master_init (struct vm * vm , const struct vm_config * config , vmid_t vm_id )
12+ static void vm_master_init (struct vm * vm , const struct vm_config * vm_config , vmid_t vm_id )
1313{
1414 vm -> master = cpu ()-> id ;
15- vm -> config = config ;
16- vm -> cpu_num = config -> platform .cpu_num ;
15+ vm -> config = vm_config ;
16+ vm -> cpu_num = vm_config -> platform .cpu_num ;
1717 vm -> id = vm_id ;
1818
1919 cpu_sync_init (& vm -> sync , vm -> cpu_num );
2020
21- vm_mem_prot_init (vm , config );
21+ vm_mem_prot_init (vm , vm_config );
2222}
2323
2424static void vm_cpu_init (struct vm * vm )
@@ -39,7 +39,7 @@ static vcpuid_t vm_calc_vcpu_id(struct vm* vm)
3939 return vcpu_id ;
4040}
4141
42- static void vm_vcpu_init (struct vm * vm , const struct vm_config * config )
42+ static void vm_vcpu_init (struct vm * vm , const struct vm_config * vm_config )
4343{
4444 vcpuid_t vcpu_id = vm_calc_vcpu_id (vm );
4545 struct vcpu * vcpu = vm_get_vcpu (vm , vcpu_id );
@@ -50,7 +50,7 @@ static void vm_vcpu_init(struct vm* vm, const struct vm_config* config)
5050 cpu ()-> vcpu = vcpu ;
5151
5252 vcpu_arch_init (vcpu , vm );
53- vcpu_arch_reset (vcpu , config -> entry );
53+ vcpu_arch_reset (vcpu , vm_config -> entry );
5454}
5555
5656static void vm_map_mem_region (struct vm * vm , struct vm_mem_region * reg )
@@ -73,11 +73,11 @@ static void vm_map_mem_region(struct vm* vm, struct vm_mem_region* reg)
7373 }
7474}
7575
76- static void vm_map_img_rgn_inplace (struct vm * vm , const struct vm_config * config ,
76+ static void vm_map_img_rgn_inplace (struct vm * vm , const struct vm_config * vm_config ,
7777 struct vm_mem_region * reg )
7878{
79- vaddr_t img_base = config -> image .base_addr ;
80- size_t img_size = config -> image .size ;
79+ vaddr_t img_base = vm_config -> image .base_addr ;
80+ size_t img_size = vm_config -> image .size ;
8181 /* mem region pages before the img */
8282 size_t n_before = NUM_PAGES (img_base - reg -> base );
8383 /* pages after the img */
@@ -86,7 +86,7 @@ static void vm_map_img_rgn_inplace(struct vm* vm, const struct vm_config* config
8686 size_t n_img = NUM_PAGES (img_size );
8787
8888 /* map img in place */
89- struct ppages pa_img = mem_ppages_get (config -> image .load_addr , n_img );
89+ struct ppages pa_img = mem_ppages_get (vm_config -> image .load_addr , n_img );
9090
9191 mem_alloc_map (& vm -> as , SEC_VM_ANY , NULL , (vaddr_t )reg -> base , n_before , PTE_VM_FLAGS );
9292 if (all_clrs (vm -> as .colors )) {
@@ -135,36 +135,37 @@ static void vm_install_image(struct vm* vm, struct vm_mem_region* reg)
135135 mem_unmap (& cpu ()-> as , dst_va , img_num_pages , false);
136136}
137137
138- static void vm_map_img_rgn (struct vm * vm , const struct vm_config * config , struct vm_mem_region * reg )
138+ static void vm_map_img_rgn (struct vm * vm , const struct vm_config * vm_config ,
139+ struct vm_mem_region * reg )
139140{
140- if (!reg -> place_phys && config -> image .inplace ) {
141- vm_map_img_rgn_inplace (vm , config , reg );
141+ if (!reg -> place_phys && vm_config -> image .inplace ) {
142+ vm_map_img_rgn_inplace (vm , vm_config , reg );
142143 } else {
143144 vm_map_mem_region (vm , reg );
144145 vm_install_image (vm , reg );
145146 }
146147}
147148
148- static void vm_init_mem_regions (struct vm * vm , const struct vm_config * config )
149+ static void vm_init_mem_regions (struct vm * vm , const struct vm_config * vm_config )
149150{
150- for (size_t i = 0 ; i < config -> platform .region_num ; i ++ ) {
151- struct vm_mem_region * reg = & config -> platform .regions [i ];
151+ for (size_t i = 0 ; i < vm_config -> platform .region_num ; i ++ ) {
152+ struct vm_mem_region * reg = & vm_config -> platform .regions [i ];
152153 bool img_is_in_rgn =
153- range_in_range (config -> image .base_addr , config -> image .size , reg -> base , reg -> size );
154+ range_in_range (vm_config -> image .base_addr , vm_config -> image .size , reg -> base , reg -> size );
154155 if (img_is_in_rgn ) {
155- vm_map_img_rgn (vm , config , reg );
156+ vm_map_img_rgn (vm , vm_config , reg );
156157 } else {
157158 vm_map_mem_region (vm , reg );
158159 }
159160 }
160161}
161162
162- static void vm_init_ipc (struct vm * vm , const struct vm_config * config )
163+ static void vm_init_ipc (struct vm * vm , const struct vm_config * vm_config )
163164{
164- vm -> ipc_num = config -> platform .ipc_num ;
165- vm -> ipcs = config -> platform .ipcs ;
166- for (size_t i = 0 ; i < config -> platform .ipc_num ; i ++ ) {
167- struct ipc * ipc = & config -> platform .ipcs [i ];
165+ vm -> ipc_num = vm_config -> platform .ipc_num ;
166+ vm -> ipcs = vm_config -> platform .ipcs ;
167+ for (size_t i = 0 ; i < vm_config -> platform .ipc_num ; i ++ ) {
168+ struct ipc * ipc = & vm_config -> platform .ipcs [i ];
168169 struct shmem * shmem = ipc_get_shmem (ipc -> shmem_id );
169170 if (shmem == NULL ) {
170171 WARNING ("Invalid shmem id in configuration. Ignored." );
@@ -192,10 +193,10 @@ static void vm_init_ipc(struct vm* vm, const struct vm_config* config)
192193 }
193194}
194195
195- static void vm_init_dev (struct vm * vm , const struct vm_config * config )
196+ static void vm_init_dev (struct vm * vm , const struct vm_config * vm_config )
196197{
197- for (size_t i = 0 ; i < config -> platform .dev_num ; i ++ ) {
198- struct vm_dev_region * dev = & config -> platform .devs [i ];
198+ for (size_t i = 0 ; i < vm_config -> platform .dev_num ; i ++ ) {
199+ struct vm_dev_region * dev = & vm_config -> platform .devs [i ];
199200
200201 size_t n = ALIGN (dev -> size , PAGE_SIZE ) / PAGE_SIZE ;
201202
@@ -210,9 +211,9 @@ static void vm_init_dev(struct vm* vm, const struct vm_config* config)
210211 }
211212 }
212213
213- if (io_vm_init (vm , config )) {
214- for (size_t i = 0 ; i < config -> platform .dev_num ; i ++ ) {
215- struct vm_dev_region * dev = & config -> platform .devs [i ];
214+ if (io_vm_init (vm , vm_config )) {
215+ for (size_t i = 0 ; i < vm_config -> platform .dev_num ; i ++ ) {
216+ struct vm_dev_region * dev = & vm_config -> platform .devs [i ];
216217 if (dev -> id ) {
217218 if (!io_vm_add_device (vm , dev -> id )) {
218219 ERROR ("Failed to add device to iommu" );
@@ -229,7 +230,7 @@ static struct vm* vm_allocation_init(struct vm_allocation* vm_alloc)
229230 return vm ;
230231}
231232
232- struct vm * vm_init (struct vm_allocation * vm_alloc , const struct vm_config * config , bool master ,
233+ struct vm * vm_init (struct vm_allocation * vm_alloc , const struct vm_config * vm_config , bool master ,
233234 vmid_t vm_id )
234235{
235236 struct vm * vm = vm_allocation_init (vm_alloc );
@@ -238,7 +239,7 @@ struct vm* vm_init(struct vm_allocation* vm_alloc, const struct vm_config* confi
238239 * Before anything else, initialize vm structure.
239240 */
240241 if (master ) {
241- vm_master_init (vm , config , vm_id );
242+ vm_master_init (vm , vm_config , vm_id );
242243 }
243244
244245 /*
@@ -251,23 +252,23 @@ struct vm* vm_init(struct vm_allocation* vm_alloc, const struct vm_config* confi
251252 /*
252253 * Initialize each virtual core.
253254 */
254- vm_vcpu_init (vm , config );
255+ vm_vcpu_init (vm , vm_config );
255256
256257 cpu_sync_barrier (& vm -> sync );
257258
258259 /**
259260 * Perform architecture dependent initializations. This includes, for example, setting the page
260261 * table pointer and other virtualization extensions specifics.
261262 */
262- vm_arch_init (vm , config );
263+ vm_arch_init (vm , vm_config );
263264
264265 /**
265266 * Create the VM's address space according to configuration and where its image was loaded.
266267 */
267268 if (master ) {
268- vm_init_mem_regions (vm , config );
269- vm_init_dev (vm , config );
270- vm_init_ipc (vm , config );
269+ vm_init_mem_regions (vm , vm_config );
270+ vm_init_dev (vm , vm_config );
271+ vm_init_ipc (vm , vm_config );
271272 }
272273
273274 cpu_sync_and_clear_msgs (& vm -> sync );
0 commit comments