vl.c: Check the asked ram_size later.
As a Xen guest can have more than 2GB of RAM on a 32bit host, we move the conditions after than we now if we run one Xen or not. [agraf] separate xen branch from ram_size check Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									8a369e20e7
								
							
						
					
					
						commit
						834e76ea1c
					
				
							
								
								
									
										16
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								vl.c
									
									
									
									
									
								
							| @ -2440,11 +2440,6 @@ int main(int argc, char **argv, char **envp) | |||||||
|                     exit(1); |                     exit(1); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 /* On 32-bit hosts, QEMU is limited by virtual address space */ |  | ||||||
|                 if (value > (2047 << 20) && HOST_LONG_BITS == 32) { |  | ||||||
|                     fprintf(stderr, "qemu: at most 2047 MB RAM can be simulated\n"); |  | ||||||
|                     exit(1); |  | ||||||
|                 } |  | ||||||
|                 if (value != (uint64_t)(ram_addr_t)value) { |                 if (value != (uint64_t)(ram_addr_t)value) { | ||||||
|                     fprintf(stderr, "qemu: ram size too large\n"); |                     fprintf(stderr, "qemu: ram size too large\n"); | ||||||
|                     exit(1); |                     exit(1); | ||||||
| @ -3099,8 +3094,17 @@ int main(int argc, char **argv, char **envp) | |||||||
|         exit(1); |         exit(1); | ||||||
| 
 | 
 | ||||||
|     /* init the memory */ |     /* init the memory */ | ||||||
|     if (ram_size == 0) |     if (ram_size == 0) { | ||||||
|         ram_size = DEFAULT_RAM_SIZE * 1024 * 1024; |         ram_size = DEFAULT_RAM_SIZE * 1024 * 1024; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (!xen_enabled()) { | ||||||
|  |         /* On 32-bit hosts, QEMU is limited by virtual address space */ | ||||||
|  |         if (ram_size > (2047 << 20) && HOST_LONG_BITS == 32) { | ||||||
|  |             fprintf(stderr, "qemu: at most 2047 MB RAM can be simulated\n"); | ||||||
|  |             exit(1); | ||||||
|  |         } | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     /* init the dynamic translator */ |     /* init the dynamic translator */ | ||||||
|     cpu_exec_init_all(tb_size * 1024 * 1024); |     cpu_exec_init_all(tb_size * 1024 * 1024); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anthony PERARD
						Anthony PERARD