1273683Sneel/*- 2273683Sneel * Copyright (c) 2014 Neel Natu (neel@freebsd.org) 3273683Sneel * All rights reserved. 4273683Sneel * 5273683Sneel * Redistribution and use in source and binary forms, with or without 6273683Sneel * modification, are permitted provided that the following conditions 7273683Sneel * are met: 8273683Sneel * 1. Redistributions of source code must retain the above copyright 9273683Sneel * notice unmodified, this list of conditions, and the following 10273683Sneel * disclaimer. 11273683Sneel * 2. Redistributions in binary form must reproduce the above copyright 12273683Sneel * notice, this list of conditions and the following disclaimer in the 13273683Sneel * documentation and/or other materials provided with the distribution. 14273683Sneel * 15273683Sneel * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16273683Sneel * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17273683Sneel * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18273683Sneel * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19273683Sneel * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20273683Sneel * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21273683Sneel * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22273683Sneel * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23273683Sneel * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24273683Sneel * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25273683Sneel * 26273683Sneel * $FreeBSD: releng/10.3/sys/amd64/vmm/io/vpmtmr.h 276429 2014-12-30 22:22:46Z neel $ 27273683Sneel */ 28273683Sneel 29273683Sneel#ifndef _VPMTMR_H_ 30273683Sneel#define _VPMTMR_H_ 31273683Sneel 32273683Sneel#define IO_PMTMR 0x408 33273683Sneel 34273683Sneelstruct vpmtmr; 35273683Sneel 36273683Sneelstruct vpmtmr *vpmtmr_init(struct vm *vm); 37273683Sneelvoid vpmtmr_cleanup(struct vpmtmr *pmtmr); 38273683Sneel 39276429Sneelint vpmtmr_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, 40273683Sneel uint32_t *val); 41273683Sneel 42273683Sneel#endif 43