1b7bb4816SSepherosa Ziehau/*- 2b7bb4816SSepherosa Ziehau * Copyright (c) 2016 Microsoft Corp. 3b7bb4816SSepherosa Ziehau * All rights reserved. 4b7bb4816SSepherosa Ziehau * 5b7bb4816SSepherosa Ziehau * Redistribution and use in source and binary forms, with or without 6b7bb4816SSepherosa Ziehau * modification, are permitted provided that the following conditions 7b7bb4816SSepherosa Ziehau * are met: 8b7bb4816SSepherosa Ziehau * 1. Redistributions of source code must retain the above copyright 9b7bb4816SSepherosa Ziehau * notice unmodified, this list of conditions, and the following 10b7bb4816SSepherosa Ziehau * disclaimer. 11b7bb4816SSepherosa Ziehau * 2. Redistributions in binary form must reproduce the above copyright 12b7bb4816SSepherosa Ziehau * notice, this list of conditions and the following disclaimer in the 13b7bb4816SSepherosa Ziehau * documentation and/or other materials provided with the distribution. 14b7bb4816SSepherosa Ziehau * 15b7bb4816SSepherosa Ziehau * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16b7bb4816SSepherosa Ziehau * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17b7bb4816SSepherosa Ziehau * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18b7bb4816SSepherosa Ziehau * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19b7bb4816SSepherosa Ziehau * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20b7bb4816SSepherosa Ziehau * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21b7bb4816SSepherosa Ziehau * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22b7bb4816SSepherosa Ziehau * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23b7bb4816SSepherosa Ziehau * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24b7bb4816SSepherosa Ziehau * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25b7bb4816SSepherosa Ziehau */ 26b7bb4816SSepherosa Ziehau 27d86c1f0dSKonstantin Belousov#include "assym.inc" 28d86c1f0dSKonstantin Belousov 29d86c1f0dSKonstantin Belousov#include <machine/psl.h> 30b7bb4816SSepherosa Ziehau#include <machine/asmacros.h> 31b7bb4816SSepherosa Ziehau#include <machine/specialreg.h> 32b7bb4816SSepherosa Ziehau 33b7bb4816SSepherosa Ziehau/* 34b7bb4816SSepherosa Ziehau * This is the Hyper-V vmbus channel direct callback interrupt. 35b7bb4816SSepherosa Ziehau * Only used when it is running on Hyper-V. 3697993d1eSMark Johnston * 37*b0e54e61SWarner Losh * Note that this file is not assembled directly, it is included into 3897993d1eSMark Johnston * i386/exception.s. 39b7bb4816SSepherosa Ziehau */ 40b7bb4816SSepherosa Ziehau .text 41b7bb4816SSepherosa Ziehau SUPERALIGN_TEXT 42bd50262fSKonstantin BelousovIDTVEC(vmbus_isr_pti) 43b7bb4816SSepherosa ZiehauIDTVEC(vmbus_isr) 44b7bb4816SSepherosa Ziehau PUSH_FRAME 45b7bb4816SSepherosa Ziehau SET_KERNEL_SREGS 46b7bb4816SSepherosa Ziehau cld 47d86c1f0dSKonstantin Belousov KENTER 48b7bb4816SSepherosa Ziehau pushl %esp 4997993d1eSMark Johnston mov $vmbus_handle_intr, %eax 5097993d1eSMark Johnston call *%eax 51b7bb4816SSepherosa Ziehau add $4, %esp 52b7bb4816SSepherosa Ziehau jmp doreti 53