brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · 9a67dbf Raw
97 lines · plain
1/* SPDX-License-Identifier: GPL-2.0 */2/* n2_asm.S: Hypervisor calls for NCS support.3 *4 * Copyright (C) 2009 David S. Miller <davem@davemloft.net>5 */6 7#include <linux/linkage.h>8#include <asm/hypervisor.h>9#include "n2_core.h"10 11	/* o0: queue type12	 * o1: RA of queue13	 * o2: num entries in queue14	 * o3: address of queue handle return15	 */16ENTRY(sun4v_ncs_qconf)17	mov	HV_FAST_NCS_QCONF, %o518	ta	HV_FAST_TRAP19	stx	%o1, [%o3]20	retl21	 nop22ENDPROC(sun4v_ncs_qconf)23 24	/* %o0: queue handle25	 * %o1: address of queue type return26	 * %o2: address of queue base address return27	 * %o3: address of queue num entries return28	 */29ENTRY(sun4v_ncs_qinfo)30	mov	%o1, %g131	mov	%o2, %g232	mov	%o3, %g333	mov	HV_FAST_NCS_QINFO, %o534	ta	HV_FAST_TRAP35	stx	%o1, [%g1]36	stx	%o2, [%g2]37	stx	%o3, [%g3]38	retl39	 nop40ENDPROC(sun4v_ncs_qinfo)41 42	/* %o0: queue handle43	 * %o1: address of head offset return44	 */45ENTRY(sun4v_ncs_gethead)46	mov	%o1, %o247	mov	HV_FAST_NCS_GETHEAD, %o548	ta	HV_FAST_TRAP49	stx	%o1, [%o2]50	retl51	 nop52ENDPROC(sun4v_ncs_gethead)53 54	/* %o0: queue handle55	 * %o1: address of tail offset return56	 */57ENTRY(sun4v_ncs_gettail)58	mov	%o1, %o259	mov	HV_FAST_NCS_GETTAIL, %o560	ta	HV_FAST_TRAP61	stx	%o1, [%o2]62	retl63	 nop64ENDPROC(sun4v_ncs_gettail)65 66	/* %o0: queue handle67	 * %o1: new tail offset68	 */69ENTRY(sun4v_ncs_settail)70	mov	HV_FAST_NCS_SETTAIL, %o571	ta	HV_FAST_TRAP72	retl73	 nop74ENDPROC(sun4v_ncs_settail)75 76	/* %o0: queue handle77	 * %o1: address of devino return78	 */79ENTRY(sun4v_ncs_qhandle_to_devino)80	mov	%o1, %o281	mov	HV_FAST_NCS_QHANDLE_TO_DEVINO, %o582	ta	HV_FAST_TRAP83	stx	%o1, [%o2]84	retl85	 nop86ENDPROC(sun4v_ncs_qhandle_to_devino)87 88	/* %o0: queue handle89	 * %o1: new head offset90	 */91ENTRY(sun4v_ncs_sethead_marker)92	mov	HV_FAST_NCS_SETHEAD_MARKER, %o593	ta	HV_FAST_TRAP94	retl95	 nop96ENDPROC(sun4v_ncs_sethead_marker)97