diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2010-05-22 02:36:56 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-05-22 02:36:56 -0400 |
commit | cf9b59e9d3e008591d1f54830f570982bb307a0d (patch) | |
tree | 113478ce8fd8c832ba726ffdf59b82cb46356476 /drivers/crypto/n2_asm.S | |
parent | 44504b2bebf8b5823c59484e73096a7d6574471d (diff) | |
parent | f4b87dee923342505e1ddba8d34ce9de33e75050 (diff) |
Merge remote branch 'origin' into secretlab/next-devicetree
Merging in current state of Linus' tree to deal with merge conflicts and
build failures in vio.c after merge.
Conflicts:
drivers/i2c/busses/i2c-cpm.c
drivers/i2c/busses/i2c-mpc.c
drivers/net/gianfar.c
Also fixed up one line in arch/powerpc/kernel/vio.c to use the
correct node pointer.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/crypto/n2_asm.S')
-rw-r--r-- | drivers/crypto/n2_asm.S | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/drivers/crypto/n2_asm.S b/drivers/crypto/n2_asm.S new file mode 100644 index 000000000000..f7c793745a1e --- /dev/null +++ b/drivers/crypto/n2_asm.S | |||
@@ -0,0 +1,95 @@ | |||
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 | */ | ||
15 | ENTRY(sun4v_ncs_qconf) | ||
16 | mov HV_FAST_NCS_QCONF, %o5 | ||
17 | ta HV_FAST_TRAP | ||
18 | stx %o1, [%o3] | ||
19 | retl | ||
20 | nop | ||
21 | ENDPROC(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 | */ | ||
28 | ENTRY(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 | ||
39 | ENDPROC(sun4v_ncs_qinfo) | ||
40 | |||
41 | /* %o0: queue handle | ||
42 | * %o1: address of head offset return | ||
43 | */ | ||
44 | ENTRY(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 | ||
51 | ENDPROC(sun4v_ncs_gethead) | ||
52 | |||
53 | /* %o0: queue handle | ||
54 | * %o1: address of tail offset return | ||
55 | */ | ||
56 | ENTRY(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 | ||
63 | ENDPROC(sun4v_ncs_gettail) | ||
64 | |||
65 | /* %o0: queue handle | ||
66 | * %o1: new tail offset | ||
67 | */ | ||
68 | ENTRY(sun4v_ncs_settail) | ||
69 | mov HV_FAST_NCS_SETTAIL, %o5 | ||
70 | ta HV_FAST_TRAP | ||
71 | retl | ||
72 | nop | ||
73 | ENDPROC(sun4v_ncs_settail) | ||
74 | |||
75 | /* %o0: queue handle | ||
76 | * %o1: address of devino return | ||
77 | */ | ||
78 | ENTRY(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 | ||
85 | ENDPROC(sun4v_ncs_qhandle_to_devino) | ||
86 | |||
87 | /* %o0: queue handle | ||
88 | * %o1: new head offset | ||
89 | */ | ||
90 | ENTRY(sun4v_ncs_sethead_marker) | ||
91 | mov HV_FAST_NCS_SETHEAD_MARKER, %o5 | ||
92 | ta HV_FAST_TRAP | ||
93 | retl | ||
94 | nop | ||
95 | ENDPROC(sun4v_ncs_sethead_marker) | ||