]>
Commit | Line | Data |
---|---|---|
50c83085 SL |
1 | /* |
2 | * 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. | |
7 | * Mapped into the guest kernel @ 0x0. | |
8 | * | |
9 | * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. | |
10 | * Authors: Sanjay Lal <sanjayl@kymasys.com> | |
11 | */ | |
12 | ||
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 | ||
25 | #include "kvm_mips_comm.h" | |
26 | ||
27 | void kvm_mips_commpage_init(struct kvm_vcpu *vcpu) | |
28 | { | |
29 | struct kvm_mips_commpage *page = vcpu->arch.kseg0_commpage; | |
30 | memset(page, 0, sizeof(struct kvm_mips_commpage)); | |
31 | ||
32 | /* Specific init values for fields */ | |
33 | vcpu->arch.cop0 = &page->cop0; | |
34 | memset(vcpu->arch.cop0, 0, sizeof(struct mips_coproc)); | |
35 | ||
36 | return; | |
37 | } |