/* Parse and handle PALO table which is published at:  */
static void __init handle_palo(unsigned long palo_phys)
/* Parse and handle PALO table which is published at:  */
static void __init handle_palo(unsigned long palo_phys)
{
	struct palo_table *palo = __va(palo_phys);
	u8  checksum;
	if (strncmp(palo->signature, PALO_SIG, sizeof(PALO_SIG) - 1)) {
		printk(KERN_INFO "PALO signature incorrect.\n");
		return;
	}
	checksum = palo_checksum((u8 *)palo, palo->length);
	if (checksum) {
		printk(KERN_INFO "PALO checksum incorrect.\n");
		return;
	}
	setup_ptcg_sem(palo->max_tlb_purges, NPTCG_FROM_PALO);
}