X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fsparc64%2Fprom%2Fmisc.c;h=87f5cfce23bbccdd48f0fdc90e724c2abd224834;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=577bde8b664766703bd7fab1ff7f93a4a645d169;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/arch/sparc64/prom/misc.c b/arch/sparc64/prom/misc.c index 577bde8b6..87f5cfce2 100644 --- a/arch/sparc64/prom/misc.c +++ b/arch/sparc64/prom/misc.c @@ -112,20 +112,28 @@ unsigned char prom_get_idprom(char *idbuf, int num_bytes) return 0xff; } -/* Install Linux trap table so PROM uses that instead of its own. */ -void prom_set_trap_table(unsigned long tba) +/* Get the major prom version number. */ +int prom_version(void) +{ + return PROM_P1275; +} + +/* Get the prom plugin-revision. */ +int prom_getrev(void) +{ + return prom_rev; +} + +/* Get the prom firmware print revision. */ +int prom_getprev(void) { - p1275_cmd("SUNW,set-trap-table", - (P1275_ARG(0, P1275_ARG_IN_64B) | - P1275_INOUT(1, 0)), tba); + return prom_prev; } -void prom_set_trap_table_sun4v(unsigned long tba, unsigned long mmfsa) +/* Install Linux trap table so PROM uses that instead of its own. */ +void prom_set_trap_table(unsigned long tba) { - p1275_cmd("SUNW,set-trap-table", - (P1275_ARG(0, P1275_ARG_IN_64B) | - P1275_ARG(1, P1275_ARG_IN_64B) | - P1275_INOUT(2, 0)), tba, mmfsa); + p1275_cmd("SUNW,set-trap-table", P1275_INOUT(1, 0), tba); } int prom_get_mmu_ihandle(void) @@ -295,21 +303,9 @@ int prom_wakeupsystem(void) } #ifdef CONFIG_SMP -void prom_startcpu(int cpunode, unsigned long pc, unsigned long arg) -{ - p1275_cmd("SUNW,start-cpu", P1275_INOUT(3, 0), cpunode, pc, arg); -} - -void prom_startcpu_cpuid(int cpuid, unsigned long pc, unsigned long arg) -{ - p1275_cmd("SUNW,start-cpu-by-cpuid", P1275_INOUT(3, 0), - cpuid, pc, arg); -} - -void prom_stopcpu_cpuid(int cpuid) +void prom_startcpu(int cpunode, unsigned long pc, unsigned long o0) { - p1275_cmd("SUNW,stop-cpu-by-cpuid", P1275_INOUT(1, 0), - cpuid); + p1275_cmd("SUNW,start-cpu", P1275_INOUT(3, 0), cpunode, pc, o0); } void prom_stopself(void)