| 
									
										
										
										
											2012-11-21 18:34:16 -08:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2014-06-26 12:11:34 -07:00
										 |  |  |  * This file is subject to the terms and conditions of the GNU General Public | 
					
						
							|  |  |  |  * License.  See the file "COPYING" in the main directory of this archive | 
					
						
							|  |  |  |  * for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * commpage, currently used for Virtual COP0 registers. | 
					
						
							|  |  |  |  * Mapped into the guest kernel @ 0x0. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2012  MIPS Technologies, Inc.  All rights reserved. | 
					
						
							|  |  |  |  * Authors: Sanjay Lal <sanjayl@kymasys.com> | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2012-11-21 18:34:16 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <linux/errno.h>
 | 
					
						
							|  |  |  | #include <linux/err.h>
 | 
					
						
							|  |  |  | #include <linux/module.h>
 | 
					
						
							|  |  |  | #include <linux/vmalloc.h>
 | 
					
						
							|  |  |  | #include <linux/fs.h>
 | 
					
						
							|  |  |  | #include <linux/bootmem.h>
 | 
					
						
							|  |  |  | #include <asm/page.h>
 | 
					
						
							|  |  |  | #include <asm/cacheflush.h>
 | 
					
						
							|  |  |  | #include <asm/mmu_context.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/kvm_host.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-26 12:11:38 -07:00
										 |  |  | #include "commpage.h"
 | 
					
						
							| 
									
										
										
										
											2012-11-21 18:34:16 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | void kvm_mips_commpage_init(struct kvm_vcpu *vcpu) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	struct kvm_mips_commpage *page = vcpu->arch.kseg0_commpage; | 
					
						
							| 
									
										
										
										
											2014-06-26 12:11:34 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-21 18:34:16 -08:00
										 |  |  | 	/* Specific init values for fields */ | 
					
						
							|  |  |  | 	vcpu->arch.cop0 = &page->cop0; | 
					
						
							|  |  |  | } |