Root/drivers/crypto/n2_asm.S

1/* n2_asm.S: Hypervisor calls for NCS support.
2 *
3 * Copyright (C) 2009 David S. Miller <davem@davemloft.net>
4 */
5
6#include <linux/linkage.h>
7#include <asm/hypervisor.h>
8#include "n2_core.h"
9
10    /* o0: queue type
11     * o1: RA of queue
12     * o2: num entries in queue
13     * o3: address of queue handle return
14     */
15ENTRY(sun4v_ncs_qconf)
16    mov HV_FAST_NCS_QCONF, %o5
17    ta HV_FAST_TRAP
18    stx %o1, [%o3]
19    retl
20     nop
21ENDPROC(sun4v_ncs_qconf)
22
23    /* %o0: queue handle
24     * %o1: address of queue type return
25     * %o2: address of queue base address return
26     * %o3: address of queue num entries return
27     */
28ENTRY(sun4v_ncs_qinfo)
29    mov %o1, %g1
30    mov %o2, %g2
31    mov %o3, %g3
32    mov HV_FAST_NCS_QINFO, %o5
33    ta HV_FAST_TRAP
34    stx %o1, [%g1]
35    stx %o2, [%g2]
36    stx %o3, [%g3]
37    retl
38     nop
39ENDPROC(sun4v_ncs_qinfo)
40
41    /* %o0: queue handle
42     * %o1: address of head offset return
43     */
44ENTRY(sun4v_ncs_gethead)
45    mov %o1, %o2
46    mov HV_FAST_NCS_GETHEAD, %o5
47    ta HV_FAST_TRAP
48    stx %o1, [%o2]
49    retl
50     nop
51ENDPROC(sun4v_ncs_gethead)
52
53    /* %o0: queue handle
54     * %o1: address of tail offset return
55     */
56ENTRY(sun4v_ncs_gettail)
57    mov %o1, %o2
58    mov HV_FAST_NCS_GETTAIL, %o5
59    ta HV_FAST_TRAP
60    stx %o1, [%o2]
61    retl
62     nop
63ENDPROC(sun4v_ncs_gettail)
64
65    /* %o0: queue handle
66     * %o1: new tail offset
67     */
68ENTRY(sun4v_ncs_settail)
69    mov HV_FAST_NCS_SETTAIL, %o5
70    ta HV_FAST_TRAP
71    retl
72     nop
73ENDPROC(sun4v_ncs_settail)
74
75    /* %o0: queue handle
76     * %o1: address of devino return
77     */
78ENTRY(sun4v_ncs_qhandle_to_devino)
79    mov %o1, %o2
80    mov HV_FAST_NCS_QHANDLE_TO_DEVINO, %o5
81    ta HV_FAST_TRAP
82    stx %o1, [%o2]
83    retl
84     nop
85ENDPROC(sun4v_ncs_qhandle_to_devino)
86
87    /* %o0: queue handle
88     * %o1: new head offset
89     */
90ENTRY(sun4v_ncs_sethead_marker)
91    mov HV_FAST_NCS_SETHEAD_MARKER, %o5
92    ta HV_FAST_TRAP
93    retl
94     nop
95ENDPROC(sun4v_ncs_sethead_marker)
96

Archive Download this file



interactive