blob: a36b77e1705c5839663585d1da910338ae23278c [file] [log] [blame]
Sanjay Lal50c83082012-11-21 18:34:16 -08001/*
Deng-Cheng Zhud116e812014-06-26 12:11:34 -07002 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * commpage, currently used for Virtual COP0 registers.
James Hogan42aa12e2016-06-15 19:29:57 +01007 * Mapped into the guest kernel @ KVM_GUEST_COMMPAGE_ADDR.
Deng-Cheng Zhud116e812014-06-26 12:11:34 -07008 *
9 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
10 * Authors: Sanjay Lal <sanjayl@kymasys.com>
11 */
Sanjay Lal50c83082012-11-21 18:34:16 -080012
13#include <linux/errno.h>
14#include <linux/err.h>
15#include <linux/module.h>
16#include <linux/vmalloc.h>
17#include <linux/fs.h>
18#include <linux/bootmem.h>
19#include <asm/page.h>
20#include <asm/cacheflush.h>
21#include <asm/mmu_context.h>
22
23#include <linux/kvm_host.h>
24
Deng-Cheng Zhud7d5b052014-06-26 12:11:38 -070025#include "commpage.h"
Sanjay Lal50c83082012-11-21 18:34:16 -080026
27void kvm_mips_commpage_init(struct kvm_vcpu *vcpu)
28{
29 struct kvm_mips_commpage *page = vcpu->arch.kseg0_commpage;
Deng-Cheng Zhud116e812014-06-26 12:11:34 -070030
Sanjay Lal50c83082012-11-21 18:34:16 -080031 /* Specific init values for fields */
32 vcpu->arch.cop0 = &page->cop0;
Sanjay Lal50c83082012-11-21 18:34:16 -080033}