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
Kirill Smelkov
linux
Commits
40cc76e2
Commit
40cc76e2
authored
Nov 12, 2014
by
Michael Ellerman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/opal-ipmi' into next
parents
e7a7a65e
608b286d
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
0 deletions
+33
-0
arch/powerpc/include/asm/opal.h
arch/powerpc/include/asm/opal.h
+17
-0
arch/powerpc/platforms/powernv/opal-wrappers.S
arch/powerpc/platforms/powernv/opal-wrappers.S
+2
-0
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/powernv/opal.c
+14
-0
No files found.
arch/powerpc/include/asm/opal.h
View file @
40cc76e2
...
@@ -154,6 +154,8 @@ struct opal_sg_list {
...
@@ -154,6 +154,8 @@ struct opal_sg_list {
#define OPAL_HANDLE_HMI 98
#define OPAL_HANDLE_HMI 98
#define OPAL_REGISTER_DUMP_REGION 101
#define OPAL_REGISTER_DUMP_REGION 101
#define OPAL_UNREGISTER_DUMP_REGION 102
#define OPAL_UNREGISTER_DUMP_REGION 102
#define OPAL_IPMI_SEND 107
#define OPAL_IPMI_RECV 108
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
...
@@ -452,6 +454,17 @@ struct opal_msg {
...
@@ -452,6 +454,17 @@ struct opal_msg {
__be64
params
[
8
];
__be64
params
[
8
];
};
};
enum
{
OPAL_IPMI_MSG_FORMAT_VERSION_1
=
1
,
};
struct
opal_ipmi_msg
{
uint8_t
version
;
uint8_t
netfn
;
uint8_t
cmd
;
uint8_t
data
[];
};
struct
opal_machine_check_event
{
struct
opal_machine_check_event
{
enum
OpalMCE_Version
version
:
8
;
/* 0x00 */
enum
OpalMCE_Version
version
:
8
;
/* 0x00 */
uint8_t
in_use
;
/* 0x01 */
uint8_t
in_use
;
/* 0x01 */
...
@@ -963,6 +976,10 @@ int64_t opal_handle_hmi(void);
...
@@ -963,6 +976,10 @@ int64_t opal_handle_hmi(void);
int64_t
opal_register_dump_region
(
uint32_t
id
,
uint64_t
start
,
uint64_t
end
);
int64_t
opal_register_dump_region
(
uint32_t
id
,
uint64_t
start
,
uint64_t
end
);
int64_t
opal_unregister_dump_region
(
uint32_t
id
);
int64_t
opal_unregister_dump_region
(
uint32_t
id
);
int64_t
opal_pci_set_phb_cxl_mode
(
uint64_t
phb_id
,
uint64_t
mode
,
uint64_t
pe_number
);
int64_t
opal_pci_set_phb_cxl_mode
(
uint64_t
phb_id
,
uint64_t
mode
,
uint64_t
pe_number
);
int64_t
opal_ipmi_send
(
uint64_t
interface
,
struct
opal_ipmi_msg
*
msg
,
uint64_t
msg_len
);
int64_t
opal_ipmi_recv
(
uint64_t
interface
,
struct
opal_ipmi_msg
*
msg
,
uint64_t
*
msg_len
);
/* Internal functions */
/* Internal functions */
extern
int
early_init_dt_scan_opal
(
unsigned
long
node
,
const
char
*
uname
,
extern
int
early_init_dt_scan_opal
(
unsigned
long
node
,
const
char
*
uname
,
...
...
arch/powerpc/platforms/powernv/opal-wrappers.S
View file @
40cc76e2
...
@@ -250,3 +250,5 @@ OPAL_CALL(opal_handle_hmi, OPAL_HANDLE_HMI);
...
@@ -250,3 +250,5 @@ OPAL_CALL(opal_handle_hmi, OPAL_HANDLE_HMI);
OPAL_CALL
(
opal_register_dump_region
,
OPAL_REGISTER_DUMP_REGION
)
;
OPAL_CALL
(
opal_register_dump_region
,
OPAL_REGISTER_DUMP_REGION
)
;
OPAL_CALL
(
opal_unregister_dump_region
,
OPAL_UNREGISTER_DUMP_REGION
)
;
OPAL_CALL
(
opal_unregister_dump_region
,
OPAL_UNREGISTER_DUMP_REGION
)
;
OPAL_CALL
(
opal_pci_set_phb_cxl_mode
,
OPAL_PCI_SET_PHB_CXL_MODE
)
;
OPAL_CALL
(
opal_pci_set_phb_cxl_mode
,
OPAL_PCI_SET_PHB_CXL_MODE
)
;
OPAL_CALL
(
opal_ipmi_send
,
OPAL_IPMI_SEND
)
;
OPAL_CALL
(
opal_ipmi_recv
,
OPAL_IPMI_RECV
)
;
arch/powerpc/platforms/powernv/opal.c
View file @
40cc76e2
...
@@ -644,6 +644,16 @@ static void __init opal_dump_region_init(void)
...
@@ -644,6 +644,16 @@ static void __init opal_dump_region_init(void)
pr_warn
(
"DUMP: Failed to register kernel log buffer. "
pr_warn
(
"DUMP: Failed to register kernel log buffer. "
"rc = %d
\n
"
,
rc
);
"rc = %d
\n
"
,
rc
);
}
}
static
void
opal_ipmi_init
(
struct
device_node
*
opal_node
)
{
struct
device_node
*
np
;
for_each_child_of_node
(
opal_node
,
np
)
if
(
of_device_is_compatible
(
np
,
"ibm,opal-ipmi"
))
of_platform_device_create
(
np
,
NULL
,
NULL
);
}
static
int
__init
opal_init
(
void
)
static
int
__init
opal_init
(
void
)
{
{
struct
device_node
*
np
,
*
consoles
;
struct
device_node
*
np
,
*
consoles
;
...
@@ -707,6 +717,8 @@ static int __init opal_init(void)
...
@@ -707,6 +717,8 @@ static int __init opal_init(void)
opal_msglog_init
();
opal_msglog_init
();
}
}
opal_ipmi_init
(
opal_node
);
return
0
;
return
0
;
}
}
machine_subsys_initcall
(
powernv
,
opal_init
);
machine_subsys_initcall
(
powernv
,
opal_init
);
...
@@ -742,6 +754,8 @@ void opal_shutdown(void)
...
@@ -742,6 +754,8 @@ void opal_shutdown(void)
/* Export this so that test modules can use it */
/* Export this so that test modules can use it */
EXPORT_SYMBOL_GPL
(
opal_invalid_call
);
EXPORT_SYMBOL_GPL
(
opal_invalid_call
);
EXPORT_SYMBOL_GPL
(
opal_ipmi_send
);
EXPORT_SYMBOL_GPL
(
opal_ipmi_recv
);
/* Convert a region of vmalloc memory to an opal sg list */
/* Convert a region of vmalloc memory to an opal sg list */
struct
opal_sg_list
*
opal_vmalloc_to_sg_list
(
void
*
vmalloc_addr
,
struct
opal_sg_list
*
opal_vmalloc_to_sg_list
(
void
*
vmalloc_addr
,
...
...
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