Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/i386/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.inc" | |||||
#include <machine/psl.h> | |||||
#include <machine/asmacros.h> | #include <machine/asmacros.h> | ||||
#include <machine/specialreg.h> | #include <machine/specialreg.h> | ||||
#include "assym.inc" | |||||
/* | /* | ||||
* 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 | ||||
IDTVEC(vmbus_isr_pti) | IDTVEC(vmbus_isr_pti) | ||||
IDTVEC(vmbus_isr) | IDTVEC(vmbus_isr) | ||||
PUSH_FRAME | PUSH_FRAME | ||||
SET_KERNEL_SREGS | SET_KERNEL_SREGS | ||||
cld | cld | ||||
KENTER | |||||
FAKE_MCOUNT(TF_EIP(%esp)) | FAKE_MCOUNT(TF_EIP(%esp)) | ||||
pushl %esp | pushl %esp | ||||
call vmbus_handle_intr | call vmbus_handle_intr | ||||
add $4, %esp | add $4, %esp | ||||
MEXITCOUNT | MEXITCOUNT | ||||
jmp doreti | jmp doreti |