#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/swap.h>

void show_mem(void)
{
#ifndef CONFIG_NEED_MULTIPLE_NODES  /* XXX(hch): later.. */
	int pfn, total = 0, reserved = 0;
	int shared = 0, cached = 0;
	int highmem = 0;
	struct page *page;

	printk("Mem-info:\n");
	show_free_areas();
	pfn = max_mapnr;
	while (pfn-- > 0) {
		if (!pfn_valid(pfn))
			continue;
		page = pfn_to_page(pfn);
		total++;
		if (PageHighMem(page))
			highmem++;
		if (PageReserved(page))
			reserved++;
		else if (PageSwapCache(page))
			cached++;
		else if (page_count(page))
			shared += page_count(page) - 1;
	}
	printk("%d pages of RAM\n", total);
	printk("%d pages of HIGHMEM\n", highmem);
	printk("%d reserved pages\n", reserved);
	printk("%d pages shared\n", shared);
	printk("%d pages swap cached\n", cached);
#endif
}
