pc_piix: document gigabyte_align
Document the logic behind the below/above 4G split. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									bb43d3839c
								
							
						
					
					
						commit
						ecdbfceb0f
					
				| @ -61,6 +61,10 @@ static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; | ||||
| static bool has_pci_info; | ||||
| static bool has_acpi_build = true; | ||||
| static bool smbios_type1_defaults = true; | ||||
| /* Make sure that guest addresses aligned at 1Gbyte boundaries get mapped to
 | ||||
|  * host addresses aligned at 1Gbyte boundaries.  This way we can use 1GByte | ||||
|  * pages in the host. | ||||
|  */ | ||||
| static bool gigabyte_align = true; | ||||
| 
 | ||||
| /* PC hardware initialisation */ | ||||
| @ -107,6 +111,13 @@ static void pc_init1(QEMUMachineInitArgs *args, | ||||
|         kvmclock_create(); | ||||
|     } | ||||
| 
 | ||||
|     /* Check whether RAM fits below 4G (leaving 1/2 GByte for IO memory).
 | ||||
|      * If it doesn't, we need to split it in chunks below and above 4G. | ||||
|      * In any case, try to make sure that guest addresses aligned at | ||||
|      * 1G boundaries get mapped to host addresses aligned at 1G boundaries. | ||||
|      * For old machine types, use whatever split we used historically to avoid | ||||
|      * breaking migration. | ||||
|      */ | ||||
|     if (args->ram_size >= 0xe0000000) { | ||||
|         ram_addr_t lowmem = gigabyte_align ? 0xc0000000 : 0xe0000000; | ||||
|         above_4g_mem_size = args->ram_size - lowmem; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael S. Tsirkin
						Michael S. Tsirkin