Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/amd64/vmbus_vector.S
Show All 20 Lines | |||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#include "assym.s" | #include "assym.inc" | ||||
#include <machine/asmacros.h> | #include <machine/asmacros.h> | ||||
#include <machine/specialreg.h> | #include <machine/specialreg.h> | ||||
/* | /* | ||||
* This is the Hyper-V vmbus channel direct callback interrupt. | * This is the Hyper-V vmbus channel direct callback interrupt. | ||||
* Only used when it is running on Hyper-V. | * Only used when it is running on Hyper-V. | ||||
*/ | */ | ||||
.text | .text | ||||
SUPERALIGN_TEXT | SUPERALIGN_TEXT | ||||
INTR_HANDLER vmbus_isr | INTR_HANDLER vmbus_isr | ||||
FAKE_MCOUNT(TF_RIP(%rsp)) | FAKE_MCOUNT(TF_RIP(%rsp)) | ||||
movq %rsp, %rdi | movq %rsp, %rdi | ||||
call vmbus_handle_intr | call vmbus_handle_intr | ||||
MEXITCOUNT | MEXITCOUNT | ||||
jmp doreti | jmp doreti |