xref: /freebsd/sys/arm64/vmm/hyp_genassym.c (revision 35164034e390f56f83efe5bf073d36812b19df23)
1*35164034SKajetan Puchalski /*
2*35164034SKajetan Puchalski  * SPDX-License-Identifier: BSD-2-Clause
3*35164034SKajetan Puchalski  *
4*35164034SKajetan Puchalski  * Copyright (c) 2026 Arm Ltd
5*35164034SKajetan Puchalski  *
6*35164034SKajetan Puchalski  * Redistribution and use in source and binary forms, with or without
7*35164034SKajetan Puchalski  * modification, are permitted provided that the following conditions
8*35164034SKajetan Puchalski  * are met:
9*35164034SKajetan Puchalski  * 1. Redistributions of source code must retain the above copyright
10*35164034SKajetan Puchalski  *    notice, this list of conditions and the following disclaimer.
11*35164034SKajetan Puchalski  * 2. Redistributions in binary form must reproduce the above copyright
12*35164034SKajetan Puchalski  *    notice, this list of conditions and the following disclaimer in the
13*35164034SKajetan Puchalski  *    documentation and/or other materials provided with the distribution.
14*35164034SKajetan Puchalski  *
15*35164034SKajetan Puchalski  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16*35164034SKajetan Puchalski  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*35164034SKajetan Puchalski  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*35164034SKajetan Puchalski  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19*35164034SKajetan Puchalski  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20*35164034SKajetan Puchalski  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21*35164034SKajetan Puchalski  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22*35164034SKajetan Puchalski  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23*35164034SKajetan Puchalski  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*35164034SKajetan Puchalski  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*35164034SKajetan Puchalski  * SUCH DAMAGE.
26*35164034SKajetan Puchalski  */
27*35164034SKajetan Puchalski 
28*35164034SKajetan Puchalski #include <sys/param.h>
29*35164034SKajetan Puchalski #include <sys/assym.h>
30*35164034SKajetan Puchalski #include <sys/proc.h>
31*35164034SKajetan Puchalski 
32*35164034SKajetan Puchalski #include "arm64.h"
33*35164034SKajetan Puchalski 
34*35164034SKajetan Puchalski ASSYM(HYPCTX_GPR_LR, offsetof(struct hypctx, va_regs) + (GPR_LR - VA_REGS_START - 1) * sizeof(uint64_t));
35*35164034SKajetan Puchalski ASSYM(HYPCTX_GPR_X0, offsetof(struct hypctx, va_regs) + (GPR_X0 - VA_REGS_START - 1) * sizeof(uint64_t));
36