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

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

[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
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -347,6 +347,7 @@ void __init build_clear_page(void)
{
	unsigned int loop_start;
	unsigned long off;
	int i;

	epc = (unsigned int *) &clear_page_array;
	instruction_pending = 0;
@@ -434,12 +435,22 @@ dest = label();
	build_jr_ra();

	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)
{
	unsigned int loop_start;
	unsigned long off;
	int i;

	epc = (unsigned int *) &copy_page_array;
	store_offset = load_offset = 0;
@@ -515,4 +526,13 @@ dest = label();
	build_jr_ra();

	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");
}