mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 20:16:42 +07:00
powerpc: Move plpar_wrappers.h into arch/powerpc/platforms/pseries
Move plpar_wrappers.h into arch/powerpc/platforms/pseries, fixup white space, and update callers. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
This commit is contained in:
parent
cab0af98df
commit
a121872032
@ -42,13 +42,14 @@
|
|||||||
#include <asm/pci-bridge.h>
|
#include <asm/pci-bridge.h>
|
||||||
#include <asm/machdep.h>
|
#include <asm/machdep.h>
|
||||||
#include <asm/abs_addr.h>
|
#include <asm/abs_addr.h>
|
||||||
#include <asm/plpar_wrappers.h>
|
|
||||||
#include <asm/pSeries_reconfig.h>
|
#include <asm/pSeries_reconfig.h>
|
||||||
#include <asm/systemcfg.h>
|
#include <asm/systemcfg.h>
|
||||||
#include <asm/firmware.h>
|
#include <asm/firmware.h>
|
||||||
#include <asm/tce.h>
|
#include <asm/tce.h>
|
||||||
#include <asm/ppc-pci.h>
|
#include <asm/ppc-pci.h>
|
||||||
|
|
||||||
|
#include "plpar_wrappers.h"
|
||||||
|
|
||||||
#define DBG(fmt...)
|
#define DBG(fmt...)
|
||||||
|
|
||||||
extern int is_python(struct device_node *);
|
extern int is_python(struct device_node *);
|
||||||
|
@ -38,7 +38,8 @@
|
|||||||
#include <asm/prom.h>
|
#include <asm/prom.h>
|
||||||
#include <asm/abs_addr.h>
|
#include <asm/abs_addr.h>
|
||||||
#include <asm/cputable.h>
|
#include <asm/cputable.h>
|
||||||
#include <asm/plpar_wrappers.h>
|
|
||||||
|
#include "plpar_wrappers.h"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DBG(fmt...) udbg_printf(fmt)
|
#define DBG(fmt...) udbg_printf(fmt)
|
||||||
|
107
arch/powerpc/platforms/pseries/plpar_wrappers.h
Normal file
107
arch/powerpc/platforms/pseries/plpar_wrappers.h
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#ifndef _PSERIES_PLPAR_WRAPPERS_H
|
||||||
|
#define _PSERIES_PLPAR_WRAPPERS_H
|
||||||
|
|
||||||
|
#include <asm/hvcall.h>
|
||||||
|
|
||||||
|
static inline long poll_pending(void)
|
||||||
|
{
|
||||||
|
unsigned long dummy;
|
||||||
|
return plpar_hcall(H_POLL_PENDING, 0, 0, 0, 0, &dummy, &dummy, &dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long prod_processor(void)
|
||||||
|
{
|
||||||
|
plpar_hcall_norets(H_PROD);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long cede_processor(void)
|
||||||
|
{
|
||||||
|
plpar_hcall_norets(H_CEDE);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long register_vpa(unsigned long flags, unsigned long proc,
|
||||||
|
unsigned long vpa)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_REGISTER_VPA, flags, proc, vpa);
|
||||||
|
}
|
||||||
|
|
||||||
|
void vpa_init(int cpu);
|
||||||
|
|
||||||
|
static inline long plpar_pte_remove(unsigned long flags, unsigned long ptex,
|
||||||
|
unsigned long avpn, unsigned long *old_pteh_ret,
|
||||||
|
unsigned long *old_ptel_ret)
|
||||||
|
{
|
||||||
|
unsigned long dummy;
|
||||||
|
return plpar_hcall(H_REMOVE, flags, ptex, avpn, 0, old_pteh_ret,
|
||||||
|
old_ptel_ret, &dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_pte_read(unsigned long flags, unsigned long ptex,
|
||||||
|
unsigned long *old_pteh_ret, unsigned long *old_ptel_ret)
|
||||||
|
{
|
||||||
|
unsigned long dummy;
|
||||||
|
return plpar_hcall(H_READ, flags, ptex, 0, 0, old_pteh_ret,
|
||||||
|
old_ptel_ret, &dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex,
|
||||||
|
unsigned long avpn)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_PROTECT, flags, ptex, avpn);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_tce_get(unsigned long liobn, unsigned long ioba,
|
||||||
|
unsigned long *tce_ret)
|
||||||
|
{
|
||||||
|
unsigned long dummy;
|
||||||
|
return plpar_hcall(H_GET_TCE, liobn, ioba, 0, 0, tce_ret, &dummy,
|
||||||
|
&dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_tce_put(unsigned long liobn, unsigned long ioba,
|
||||||
|
unsigned long tceval)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_PUT_TCE, liobn, ioba, tceval);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_tce_put_indirect(unsigned long liobn,
|
||||||
|
unsigned long ioba, unsigned long page, unsigned long count)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_PUT_TCE_INDIRECT, liobn, ioba, page, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_tce_stuff(unsigned long liobn, unsigned long ioba,
|
||||||
|
unsigned long tceval, unsigned long count)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_STUFF_TCE, liobn, ioba, tceval, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_get_term_char(unsigned long termno,
|
||||||
|
unsigned long *len_ret, char *buf_ret)
|
||||||
|
{
|
||||||
|
unsigned long *lbuf = (unsigned long *)buf_ret; /* TODO: alignment? */
|
||||||
|
return plpar_hcall(H_GET_TERM_CHAR, termno, 0, 0, 0, len_ret,
|
||||||
|
lbuf + 0, lbuf + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_put_term_char(unsigned long termno, unsigned long len,
|
||||||
|
const char *buffer)
|
||||||
|
{
|
||||||
|
unsigned long *lbuf = (unsigned long *)buffer; /* TODO: alignment? */
|
||||||
|
return plpar_hcall_norets(H_PUT_TERM_CHAR, termno, len, lbuf[0],
|
||||||
|
lbuf[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_set_xdabr(unsigned long address, unsigned long flags)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_SET_XDABR, address, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline long plpar_set_dabr(unsigned long val)
|
||||||
|
{
|
||||||
|
return plpar_hcall_norets(H_SET_DABR, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _PSERIES_PLPAR_WRAPPERS_H */
|
@ -58,7 +58,6 @@
|
|||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
#include <asm/nvram.h>
|
#include <asm/nvram.h>
|
||||||
#include <asm/plpar_wrappers.h>
|
|
||||||
#include "xics.h"
|
#include "xics.h"
|
||||||
#include <asm/firmware.h>
|
#include <asm/firmware.h>
|
||||||
#include <asm/pmc.h>
|
#include <asm/pmc.h>
|
||||||
@ -67,6 +66,8 @@
|
|||||||
#include <asm/i8259.h>
|
#include <asm/i8259.h>
|
||||||
#include <asm/udbg.h>
|
#include <asm/udbg.h>
|
||||||
|
|
||||||
|
#include "plpar_wrappers.h"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DBG(fmt...) udbg_printf(fmt)
|
#define DBG(fmt...) udbg_printf(fmt)
|
||||||
#else
|
#else
|
||||||
|
@ -44,10 +44,11 @@
|
|||||||
#include <asm/firmware.h>
|
#include <asm/firmware.h>
|
||||||
#include <asm/system.h>
|
#include <asm/system.h>
|
||||||
#include <asm/rtas.h>
|
#include <asm/rtas.h>
|
||||||
#include <asm/plpar_wrappers.h>
|
|
||||||
#include <asm/pSeries_reconfig.h>
|
#include <asm/pSeries_reconfig.h>
|
||||||
#include <asm/mpic.h>
|
#include <asm/mpic.h>
|
||||||
|
|
||||||
|
#include "plpar_wrappers.h"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DBG(fmt...) udbg_printf(fmt)
|
#define DBG(fmt...) udbg_printf(fmt)
|
||||||
#else
|
#else
|
||||||
|
@ -1,120 +0,0 @@
|
|||||||
#ifndef _PPC64_PLPAR_WRAPPERS_H
|
|
||||||
#define _PPC64_PLPAR_WRAPPERS_H
|
|
||||||
|
|
||||||
#include <asm/hvcall.h>
|
|
||||||
|
|
||||||
static inline long poll_pending(void)
|
|
||||||
{
|
|
||||||
unsigned long dummy;
|
|
||||||
return plpar_hcall(H_POLL_PENDING, 0, 0, 0, 0,
|
|
||||||
&dummy, &dummy, &dummy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long prod_processor(void)
|
|
||||||
{
|
|
||||||
plpar_hcall_norets(H_PROD);
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long cede_processor(void)
|
|
||||||
{
|
|
||||||
plpar_hcall_norets(H_CEDE);
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long register_vpa(unsigned long flags, unsigned long proc,
|
|
||||||
unsigned long vpa)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_REGISTER_VPA, flags, proc, vpa);
|
|
||||||
}
|
|
||||||
|
|
||||||
void vpa_init(int cpu);
|
|
||||||
|
|
||||||
static inline long plpar_pte_remove(unsigned long flags,
|
|
||||||
unsigned long ptex,
|
|
||||||
unsigned long avpn,
|
|
||||||
unsigned long *old_pteh_ret,
|
|
||||||
unsigned long *old_ptel_ret)
|
|
||||||
{
|
|
||||||
unsigned long dummy;
|
|
||||||
return plpar_hcall(H_REMOVE, flags, ptex, avpn, 0,
|
|
||||||
old_pteh_ret, old_ptel_ret, &dummy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_pte_read(unsigned long flags,
|
|
||||||
unsigned long ptex,
|
|
||||||
unsigned long *old_pteh_ret, unsigned long *old_ptel_ret)
|
|
||||||
{
|
|
||||||
unsigned long dummy;
|
|
||||||
return plpar_hcall(H_READ, flags, ptex, 0, 0,
|
|
||||||
old_pteh_ret, old_ptel_ret, &dummy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_pte_protect(unsigned long flags,
|
|
||||||
unsigned long ptex,
|
|
||||||
unsigned long avpn)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_PROTECT, flags, ptex, avpn);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_tce_get(unsigned long liobn,
|
|
||||||
unsigned long ioba,
|
|
||||||
unsigned long *tce_ret)
|
|
||||||
{
|
|
||||||
unsigned long dummy;
|
|
||||||
return plpar_hcall(H_GET_TCE, liobn, ioba, 0, 0,
|
|
||||||
tce_ret, &dummy, &dummy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_tce_put(unsigned long liobn,
|
|
||||||
unsigned long ioba,
|
|
||||||
unsigned long tceval)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_PUT_TCE, liobn, ioba, tceval);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_tce_put_indirect(unsigned long liobn,
|
|
||||||
unsigned long ioba,
|
|
||||||
unsigned long page,
|
|
||||||
unsigned long count)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_PUT_TCE_INDIRECT, liobn, ioba, page, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_tce_stuff(unsigned long liobn,
|
|
||||||
unsigned long ioba,
|
|
||||||
unsigned long tceval,
|
|
||||||
unsigned long count)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_STUFF_TCE, liobn, ioba, tceval, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_get_term_char(unsigned long termno,
|
|
||||||
unsigned long *len_ret,
|
|
||||||
char *buf_ret)
|
|
||||||
{
|
|
||||||
unsigned long *lbuf = (unsigned long *)buf_ret; /* ToDo: alignment? */
|
|
||||||
return plpar_hcall(H_GET_TERM_CHAR, termno, 0, 0, 0,
|
|
||||||
len_ret, lbuf+0, lbuf+1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_put_term_char(unsigned long termno,
|
|
||||||
unsigned long len,
|
|
||||||
const char *buffer)
|
|
||||||
{
|
|
||||||
unsigned long *lbuf = (unsigned long *)buffer; /* ToDo: alignment? */
|
|
||||||
return plpar_hcall_norets(H_PUT_TERM_CHAR, termno, len, lbuf[0],
|
|
||||||
lbuf[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_set_xdabr(unsigned long address, unsigned long flags)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_SET_XDABR, address, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline long plpar_set_dabr(unsigned long val)
|
|
||||||
{
|
|
||||||
return plpar_hcall_norets(H_SET_DABR, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* _PPC64_PLPAR_WRAPPERS_H */
|
|
Loading…
Reference in New Issue
Block a user