forked from mirrors/linux
		
	x86/xen: discard RAM regions above the maximum reservation
During setup, discard RAM regions that are above the maximum reservation (instead of marking them as E820_UNUSABLE). This allows hotplug memory to be placed at these addresses. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
		
							parent
							
								
									f6a6cb1afe
								
							
						
					
					
						commit
						f5775e0b61
					
				
					 1 changed files with 5 additions and 2 deletions
				
			
		|  | @ -829,6 +829,8 @@ char * __init xen_memory_setup(void) | |||
| 	addr = xen_e820_map[0].addr; | ||||
| 	size = xen_e820_map[0].size; | ||||
| 	while (i < xen_e820_map_entries) { | ||||
| 		bool discard = false; | ||||
| 
 | ||||
| 		chunk_size = size; | ||||
| 		type = xen_e820_map[i].type; | ||||
| 
 | ||||
|  | @ -843,9 +845,10 @@ char * __init xen_memory_setup(void) | |||
| 				xen_add_extra_mem(pfn_s, n_pfns); | ||||
| 				xen_max_p2m_pfn = pfn_s + n_pfns; | ||||
| 			} else | ||||
| 				type = E820_UNUSABLE; | ||||
| 				discard = true; | ||||
| 		} | ||||
| 
 | ||||
| 		if (!discard) | ||||
| 			xen_align_and_add_e820_region(addr, chunk_size, type); | ||||
| 
 | ||||
| 		addr += chunk_size; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 David Vrabel
						David Vrabel