mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-24 18:38:38 +00:00
[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: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
f13558c2a4
commit
1ac74d528d
@ -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();
|
|||||||
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 *) ©_page_array;
|
epc = (unsigned int *) ©_page_array;
|
||||||
store_offset = load_offset = 0;
|
store_offset = load_offset = 0;
|
||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user