How to get free RAM size on the Due?

Here's what I use. Seems to work fine:

void ShowMemory(void)
{
	struct mallinfo mi=mallinfo();

	char *heapend=sbrk(0);
	register char * stack_ptr asm("sp");

	pConsole->printf("    arena=%d\n",mi.arena);
	pConsole->printf("  ordblks=%d\n",mi.ordblks);
	pConsole->printf(" uordblks=%d\n",mi.uordblks);
	pConsole->printf(" fordblks=%d\n",mi.fordblks);
	pConsole->printf(" keepcost=%d\n",mi.keepcost);
	
	pConsole->printf("RAM Start %lx\n", (unsigned long)ramstart);
	pConsole->printf("Data/Bss end %lx\n", (unsigned long)&_end);
	pConsole->printf("Heap End %lx\n", (unsigned long)heapend);
	pConsole->printf("Stack Ptr %lx\n",(unsigned long)stack_ptr);
	pConsole->printf("RAM End %lx\n", (unsigned long)ramend);

	pConsole->printf("Heap RAM Used: %d\n",mi.uordblks);
	pConsole->printf("Program RAM Used %d\n",&_end - ramstart);
	pConsole->printf("Stack RAM Used %d\n",ramend - stack_ptr);

	pConsole->printf("Estimated Free RAM: %d\n\n",stack_ptr - heapend + mi.fordblks);
}

Regards,
Ray L.