1*548b1122SMark Johnston /*- 2*548b1122SMark Johnston * SPDX-License-Identifier: BSD-2-Clause 3*548b1122SMark Johnston * 4*548b1122SMark Johnston * Copyright (c) 2011 NetApp, Inc. 5*548b1122SMark Johnston * All rights reserved. 6*548b1122SMark Johnston * 7*548b1122SMark Johnston * Redistribution and use in source and binary forms, with or without 8*548b1122SMark Johnston * modification, are permitted provided that the following conditions 9*548b1122SMark Johnston * are met: 10*548b1122SMark Johnston * 1. Redistributions of source code must retain the above copyright 11*548b1122SMark Johnston * notice, this list of conditions and the following disclaimer. 12*548b1122SMark Johnston * 2. Redistributions in binary form must reproduce the above copyright 13*548b1122SMark Johnston * notice, this list of conditions and the following disclaimer in the 14*548b1122SMark Johnston * documentation and/or other materials provided with the distribution. 15*548b1122SMark Johnston * 16*548b1122SMark Johnston * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND 17*548b1122SMark Johnston * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18*548b1122SMark Johnston * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19*548b1122SMark Johnston * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE 20*548b1122SMark Johnston * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21*548b1122SMark Johnston * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22*548b1122SMark Johnston * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23*548b1122SMark Johnston * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24*548b1122SMark Johnston * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25*548b1122SMark Johnston * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26*548b1122SMark Johnston * SUCH DAMAGE. 27*548b1122SMark Johnston */ 28*548b1122SMark Johnston 29*548b1122SMark Johnston #ifndef _XMSR_H_ 30*548b1122SMark Johnston #define _XMSR_H_ 31*548b1122SMark Johnston 32*548b1122SMark Johnston int init_msr(void); 33*548b1122SMark Johnston int emulate_wrmsr(struct vcpu *vcpu, uint32_t code, uint64_t val); 34*548b1122SMark Johnston int emulate_rdmsr(struct vcpu *vcpu, uint32_t code, uint64_t *val); 35*548b1122SMark Johnston 36*548b1122SMark Johnston #endif 37