Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c79f7677 authored by David S. Miller's avatar David S. Miller Committed by David S. Miller
Browse files

[SPARC64]: Args to SUNW,set-trap-table are 64-bit.



They were getting truncated to 32-bit and this is very bad
when your MMU fault status area is in physical memory above
4GB on SUN4V.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4e74ae80
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -133,12 +133,17 @@ int prom_getprev(void)
/* Install Linux trap table so PROM uses that instead of its own. */
/* Install Linux trap table so PROM uses that instead of its own. */
void prom_set_trap_table(unsigned long tba)
void prom_set_trap_table(unsigned long tba)
{
{
	p1275_cmd("SUNW,set-trap-table", P1275_INOUT(1, 0), tba);
	p1275_cmd("SUNW,set-trap-table",
		  (P1275_ARG(0, P1275_ARG_IN_64B) |
		   P1275_INOUT(1, 0)), tba);
}
}


void prom_set_trap_table_sun4v(unsigned long tba, unsigned long mmfsa)
void prom_set_trap_table_sun4v(unsigned long tba, unsigned long mmfsa)
{
{
	p1275_cmd("SUNW,set-trap-table", P1275_INOUT(2, 0), tba, mmfsa);
	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);
}
}


int prom_get_mmu_ihandle(void)
int prom_get_mmu_ihandle(void)