Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
6c0f402f
Commit
6c0f402f
authored
Feb 13, 2006
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[SPARC64]: Implement rest of generic interrupt hypervisor calls.
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
85dfa19b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
89 additions
and
1 deletion
+89
-1
arch/sparc64/kernel/entry.S
arch/sparc64/kernel/entry.S
+65
-1
include/asm-sparc64/hypervisor.h
include/asm-sparc64/hypervisor.h
+24
-0
No files found.
arch/sparc64/kernel/entry.S
View file @
6c0f402f
...
@@ -1701,9 +1701,73 @@ hard_smp_processor_id:
...
@@ -1701,9 +1701,73 @@ hard_smp_processor_id:
*
*
*
returns
%
o0
:
sysino
*
returns
%
o0
:
sysino
*/
*/
.
globl
pci_
sun4v_devino_to_sysino
.
globl
sun4v_devino_to_sysino
sun4v_devino_to_sysino
:
sun4v_devino_to_sysino
:
mov
HV_FAST_INTR_DEVINO2SYSINO
,
%
o5
mov
HV_FAST_INTR_DEVINO2SYSINO
,
%
o5
ta
HV_FAST_TRAP
ta
HV_FAST_TRAP
retl
retl
mov
%
o1
,
%
o0
mov
%
o1
,
%
o0
/
*
%
o0
:
sysino
*
*
returns
%
o0
:
intr_enabled
(
HV_INTR_
{
DISABLED
,
ENABLED
})
*/
.
globl
sun4v_intr_getenabled
sun4v_intr_getenabled
:
mov
HV_FAST_INTR_GETENABLED
,
%
o5
ta
HV_FAST_TRAP
retl
mov
%
o1
,
%
o0
/
*
%
o0
:
sysino
*
%
o1
:
intr_enabled
(
HV_INTR_
{
DISABLED
,
ENABLED
})
*/
.
globl
sun4v_intr_setenabled
sun4v_intr_setenabled
:
mov
HV_FAST_INTR_SETENABLED
,
%
o5
ta
HV_FAST_TRAP
retl
nop
/
*
%
o0
:
sysino
*
*
returns
%
o0
:
intr_state
(
HV_INTR_STATE_
*)
*/
.
globl
sun4v_intr_getstate
sun4v_intr_getstate
:
mov
HV_FAST_INTR_GETSTATE
,
%
o5
ta
HV_FAST_TRAP
retl
mov
%
o1
,
%
o0
/
*
%
o0
:
sysino
*
%
o1
:
intr_state
(
HV_INTR_STATE_
*)
*/
.
globl
sun4v_intr_setstate
sun4v_intr_setstate
:
mov
HV_FAST_INTR_SETSTATE
,
%
o5
ta
HV_FAST_TRAP
retl
nop
/
*
%
o0
:
sysino
*
*
returns
%
o0
:
cpuid
*/
.
globl
sun4v_intr_gettarget
sun4v_intr_gettarget
:
mov
HV_FAST_INTR_GETTARGET
,
%
o5
ta
HV_FAST_TRAP
retl
mov
%
o1
,
%
o0
/
*
%
o0
:
sysino
*
%
o1
:
cpuid
*/
.
globl
sun4v_intr_settarget
sun4v_intr_settarget
:
mov
HV_FAST_INTR_SETTARGET
,
%
o5
ta
HV_FAST_TRAP
retl
nop
include/asm-sparc64/hypervisor.h
View file @
6c0f402f
...
@@ -1221,6 +1221,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1221,6 +1221,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_GETENABLED 0xa1
#define HV_FAST_INTR_GETENABLED 0xa1
#ifndef __ASSEMBLY__
extern
unsigned
long
sun4v_intr_getenabled
(
unsigned
long
sysino
);
#endif
/* intr_setenabled()
/* intr_setenabled()
* TRAP: HV_FAST_TRAP
* TRAP: HV_FAST_TRAP
* FUNCTION: HV_FAST_INTR_SETENABLED
* FUNCTION: HV_FAST_INTR_SETENABLED
...
@@ -1233,6 +1237,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1233,6 +1237,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_SETENABLED 0xa2
#define HV_FAST_INTR_SETENABLED 0xa2
#ifndef __ASSEMBLY__
extern
void
sun4v_intr_setenabled
(
unsigned
long
sysino
,
unsigned
long
intr_enabled
);
#endif
/* intr_getstate()
/* intr_getstate()
* TRAP: HV_FAST_TRAP
* TRAP: HV_FAST_TRAP
* FUNCTION: HV_FAST_INTR_GETSTATE
* FUNCTION: HV_FAST_INTR_GETSTATE
...
@@ -1245,6 +1253,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1245,6 +1253,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_GETSTATE 0xa3
#define HV_FAST_INTR_GETSTATE 0xa3
#ifndef __ASSEMBLY__
extern
unsigned
long
sun4v_intr_getstate
(
unsigned
long
sysino
);
#endif
/* intr_setstate()
/* intr_setstate()
* TRAP: HV_FAST_TRAP
* TRAP: HV_FAST_TRAP
* FUNCTION: HV_FAST_INTR_SETSTATE
* FUNCTION: HV_FAST_INTR_SETSTATE
...
@@ -1261,6 +1273,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1261,6 +1273,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_SETSTATE 0xa4
#define HV_FAST_INTR_SETSTATE 0xa4
#ifndef __ASSEMBLY__
extern
void
sun4v_intr_setstate
(
unsigned
long
sysino
,
unsigned
long
intr_state
);
#endif
/* intr_gettarget()
/* intr_gettarget()
* TRAP: HV_FAST_TRAP
* TRAP: HV_FAST_TRAP
* FUNCTION: HV_FAST_INTR_GETTARGET
* FUNCTION: HV_FAST_INTR_GETTARGET
...
@@ -1275,6 +1291,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1275,6 +1291,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_GETTARGET 0xa5
#define HV_FAST_INTR_GETTARGET 0xa5
#ifndef __ASSEMBLY__
extern
unsigned
long
sun4v_intr_gettarget
(
unsigned
long
sysino
);
#endif
/* intr_settarget()
/* intr_settarget()
* TRAP: HV_FAST_TRAP
* TRAP: HV_FAST_TRAP
* FUNCTION: HV_FAST_INTR_SETTARGET
* FUNCTION: HV_FAST_INTR_SETTARGET
...
@@ -1288,6 +1308,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
...
@@ -1288,6 +1308,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
*/
*/
#define HV_FAST_INTR_SETTARGET 0xa6
#define HV_FAST_INTR_SETTARGET 0xa6
#ifndef __ASSEMBLY__
extern
void
sun4v_intr_settarget
(
unsigned
long
sysino
,
unsigned
long
cpuid
);
#endif
/* PCI IO services.
/* PCI IO services.
*
*
* See the terminology descriptions in the device interrupt services
* See the terminology descriptions in the device interrupt services
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment