/* find the Hot Plug Resource Table in the specified region of memory.  */
static void __iomem* detect_HRT_floating_pointer(void __iomem *begin, void __iomem *end)
/* find the Hot Plug Resource Table in the specified region of memory.  */
static void __iomem* detect_HRT_floating_pointer(void __iomem *begin, void __iomem *end)
{
	void __iomem *fp;
	void __iomem *endp;
	u8 temp1, temp2, temp3, temp4;
	int status = 0;
	endp = (end - sizeof(struct hrt) + 1);
	for (fp = begin; fp <= endp; fp += 16) {
		temp1 = readb(fp + SIG0);
		temp2 = readb(fp + SIG1);
		temp3 = readb(fp + SIG2);
		temp4 = readb(fp + SIG3);
		if (temp1 == '$' &&
		    temp2 == 'H' &&
		    temp3 == 'R' &&
		    temp4 == 'T') {
			status = 1;
			break;
		}
	}
	if (!status)
		fp = NULL;
	dbg("Discovered Hotplug Resource Table at %p\n", fp);
	return fp;
}