Commit c79f76777d678ba454aa727800e1386a1fd1f2e8
Committed by
David S. Miller
1 parent
4e74ae800b
Exists in
master
and in
7 other branches
[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: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 7 additions and 2 deletions Side-by-side Diff
arch/sparc64/prom/misc.c
... | ... | @@ -133,12 +133,17 @@ |
133 | 133 | /* Install Linux trap table so PROM uses that instead of its own. */ |
134 | 134 | void prom_set_trap_table(unsigned long tba) |
135 | 135 | { |
136 | - p1275_cmd("SUNW,set-trap-table", P1275_INOUT(1, 0), tba); | |
136 | + p1275_cmd("SUNW,set-trap-table", | |
137 | + (P1275_ARG(0, P1275_ARG_IN_64B) | | |
138 | + P1275_INOUT(1, 0)), tba); | |
137 | 139 | } |
138 | 140 | |
139 | 141 | void prom_set_trap_table_sun4v(unsigned long tba, unsigned long mmfsa) |
140 | 142 | { |
141 | - p1275_cmd("SUNW,set-trap-table", P1275_INOUT(2, 0), tba, mmfsa); | |
143 | + p1275_cmd("SUNW,set-trap-table", | |
144 | + (P1275_ARG(0, P1275_ARG_IN_64B) | | |
145 | + P1275_ARG(1, P1275_ARG_IN_64B) | | |
146 | + P1275_INOUT(2, 0)), tba, mmfsa); | |
142 | 147 | } |
143 | 148 | |
144 | 149 | int prom_get_mmu_ihandle(void) |