1221828Sgrehan/*- 2221828Sgrehan * Copyright (c) 2011 NetApp, Inc. 3221828Sgrehan * All rights reserved. 4221828Sgrehan * 5221828Sgrehan * Redistribution and use in source and binary forms, with or without 6221828Sgrehan * modification, are permitted provided that the following conditions 7221828Sgrehan * are met: 8221828Sgrehan * 1. Redistributions of source code must retain the above copyright 9221828Sgrehan * notice, this list of conditions and the following disclaimer. 10221828Sgrehan * 2. Redistributions in binary form must reproduce the above copyright 11221828Sgrehan * notice, this list of conditions and the following disclaimer in the 12221828Sgrehan * documentation and/or other materials provided with the distribution. 13221828Sgrehan * 14221828Sgrehan * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND 15221828Sgrehan * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16221828Sgrehan * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17221828Sgrehan * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE 18221828Sgrehan * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19221828Sgrehan * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20221828Sgrehan * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21221828Sgrehan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22221828Sgrehan * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23221828Sgrehan * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24221828Sgrehan * SUCH DAMAGE. 25221828Sgrehan * 26221828Sgrehan * $FreeBSD$ 27221828Sgrehan */ 28221828Sgrehan 29221828Sgrehan#include <sys/cdefs.h> 30221828Sgrehan__FBSDID("$FreeBSD$"); 31221828Sgrehan 32240912Sneel#include <sys/types.h> 33221828Sgrehan 34221828Sgrehan#include <machine/vmm.h> 35221828Sgrehan#include <vmmapi.h> 36221828Sgrehan 37240912Sneel#include <stdio.h> 38240912Sneel#include <stdlib.h> 39240912Sneel 40221828Sgrehan#include "xmsr.h" 41221828Sgrehan 42221828Sgrehanint 43221828Sgrehanemulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t val) 44221828Sgrehan{ 45221828Sgrehan 46264273Sjhb switch (code) { 47264273Sjhb case 0xd04: /* Sandy Bridge uncore PMC MSRs */ 48264273Sjhb case 0xc24: 49264273Sjhb return (0); 50268953Sjhb case 0x79: 51268953Sjhb return (0); /* IA32_BIOS_UPDT_TRIG MSR */ 52264273Sjhb default: 53264273Sjhb break; 54264273Sjhb } 55264273Sjhb return (-1); 56221828Sgrehan} 57264273Sjhb 58264273Sjhbint 59264273Sjhbemulate_rdmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t *val) 60264273Sjhb{ 61264273Sjhb 62264273Sjhb return (-1); 63264273Sjhb} 64