summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorsephe <sephe@FreeBSD.org>2016-06-21 04:51:55 +0000
committersephe <sephe@FreeBSD.org>2016-06-21 04:51:55 +0000
commit29d5b44ca00671a3ae2ebe3f327addea05dfcf13 (patch)
treed558ee8bdd595a3e3ce8ceb88939100b0d477715 /sys/amd64
parentcd5dbe91134dbf5ceacf682753d1a8cc95430b3b (diff)
downloadFreeBSD-src-29d5b44ca00671a3ae2ebe3f327addea05dfcf13.zip
FreeBSD-src-29d5b44ca00671a3ae2ebe3f327addea05dfcf13.tar.gz
MFC 297931,298022
297931 Expose doreti as a global symbol on amd64 and i386. doreti provides the common code path for returning from interrupt andlers on x86. Exposing doreti as a global symbol allows kernel modules to include low-level interrupt handlers instead of requiring all low-level handlers to be statically compiled into the kernel. Submitted by: Howard Su <howard0su@gmail.com> Reviewed by: kib 298022 hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbus Submitted by: Jun Su <junsu microsoft com> Reviewed by: jhb, kib, sephe Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5910
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/apic_vector.S16
-rw-r--r--sys/amd64/amd64/exception.S1
-rw-r--r--sys/amd64/conf/GENERIC1
3 files changed, 1 insertions, 17 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S
index 69a1043..4b2bef0 100644
--- a/sys/amd64/amd64/apic_vector.S
+++ b/sys/amd64/amd64/apic_vector.S
@@ -150,22 +150,6 @@ IDTVEC(xen_intr_upcall)
jmp doreti
#endif
-#ifdef HYPERV
-/*
- * This is the Hyper-V vmbus channel direct callback interrupt.
- * Only used when it is running on Hyper-V.
- */
- .text
- SUPERALIGN_TEXT
-IDTVEC(hv_vmbus_callback)
- PUSH_FRAME
- FAKE_MCOUNT(TF_RIP(%rsp))
- movq %rsp, %rdi
- call hv_vector_handler
- MEXITCOUNT
- jmp doreti
-#endif
-
#ifdef SMP
/*
* Global address space TLB shootdown.
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index 1331917..a23f674 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -661,6 +661,7 @@ MCOUNT_LABEL(eintr)
.text
SUPERALIGN_TEXT
.type doreti,@function
+ .globl doreti
doreti:
FAKE_MCOUNT($bintr) /* init "from" bintr -> doreti */
/*
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index afc2122..a18be94 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -353,7 +353,6 @@ device virtio_scsi # VirtIO SCSI device
device virtio_balloon # VirtIO Memory Balloon device
# HyperV drivers and enchancement support
-# NOTE: HYPERV depends on hyperv. They must be added or removed together.
options HYPERV # Hyper-V kernel infrastructure
device hyperv # HyperV drivers
OpenPOWER on IntegriCloud