xref: /freebsd/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
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
27fc2a8776SEd Maste#include "assym.inc"
28bd50262fSKonstantin Belousov
29*b3a7db3bSKonstantin 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.
36b7bb4816SSepherosa Ziehau */
37b7bb4816SSepherosa Ziehau	.text
38b7bb4816SSepherosa Ziehau	SUPERALIGN_TEXT
39bd50262fSKonstantin Belousov	INTR_HANDLER	vmbus_isr
40b7bb4816SSepherosa Ziehau	movq	%rsp, %rdi
41b7bb4816SSepherosa Ziehau	call	vmbus_handle_intr
42b7bb4816SSepherosa Ziehau	jmp	doreti
43