Commit 1ac74d52 authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Ralf Baechle

[MIPS] pg-r4k.c: Dump the generated code

Dump the generated code for clear/copy page calls like it is done for TLB 
fault handlers.  Useful for debugging.
Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent f13558c2
...@@ -347,6 +347,7 @@ void __init build_clear_page(void) ...@@ -347,6 +347,7 @@ void __init build_clear_page(void)
{ {
unsigned int loop_start; unsigned int loop_start;
unsigned long off; unsigned long off;
int i;
epc = (unsigned int *) &clear_page_array; epc = (unsigned int *) &clear_page_array;
instruction_pending = 0; instruction_pending = 0;
...@@ -434,12 +435,22 @@ dest = label(); ...@@ -434,12 +435,22 @@ dest = label();
build_jr_ra(); build_jr_ra();
BUG_ON(epc > clear_page_array + ARRAY_SIZE(clear_page_array)); BUG_ON(epc > clear_page_array + ARRAY_SIZE(clear_page_array));
pr_info("Synthesized clear page handler (%u instructions).\n",
(unsigned int)(epc - clear_page_array));
pr_debug("\t.set push\n");
pr_debug("\t.set noreorder\n");
for (i = 0; i < (epc - clear_page_array); i++)
pr_debug("\t.word 0x%08x\n", clear_page_array[i]);
pr_debug("\t.set pop\n");
} }
void __init build_copy_page(void) void __init build_copy_page(void)
{ {
unsigned int loop_start; unsigned int loop_start;
unsigned long off; unsigned long off;
int i;
epc = (unsigned int *) &copy_page_array; epc = (unsigned int *) &copy_page_array;
store_offset = load_offset = 0; store_offset = load_offset = 0;
...@@ -515,4 +526,13 @@ dest = label(); ...@@ -515,4 +526,13 @@ dest = label();
build_jr_ra(); build_jr_ra();
BUG_ON(epc > copy_page_array + ARRAY_SIZE(copy_page_array)); BUG_ON(epc > copy_page_array + ARRAY_SIZE(copy_page_array));
pr_info("Synthesized copy page handler (%u instructions).\n",
(unsigned int)(epc - copy_page_array));
pr_debug("\t.set push\n");
pr_debug("\t.set noreorder\n");
for (i = 0; i < (epc - copy_page_array); i++)
pr_debug("\t.word 0x%08x\n", copy_page_array[i]);
pr_debug("\t.set pop\n");
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment