HPTE *hptep; Hpte_dword0 dw0;
hpte_t *hptep;
static long native_hpte_remove(unsigned long hpte_group){	HPTE *hptep;	Hpte_dword0 dw0;	int i;	int slot_offset;	/* pick a random entry to start at */	slot_offset = mftb() & 0x7;	for (i = 0; i < HPTES_PER_GROUP; i++) {		hptep = htab_address + hpte_group + slot_offset;		dw0 = hptep->dw0.dw0;		if (dw0.v && !dw0.bolted) {			/* retry with lock held */			native_lock_hpte(hptep);			dw0 = hptep->dw0.dw0;			if (dw0.v && !dw0.bolted)				break;			native_unlock_hpte(hptep);		}		slot_offset++;		slot_offset &= 0x7;	}	if (i == HPTES_PER_GROUP)		return -1;	/* Invalidate the hpte. NOTE: this also unlocks it */	hptep->dw0.dword0 = 0;	return i;}