u32 vexpress_get_hbi(int site) { u32 id; switch (site) { case VEXPRESS_SITE_MB: id = readl(vexpress_sysreg_base + SYS_ID); return (id >> SYS_ID_HBI_SHIFT) & SYS_HBI_MASK; case VEXPRESS_SITE_MASTER: case VEXPRESS_SITE_DB1: case VEXPRESS_SITE_DB2: id = vexpress_get_procid(site); return (id >> SYS_PROCIDx_HBI_SHIFT) & SYS_HBI_MASK; } return ~0; }
static void __init v2m_populate_ct_desc(void) { int i; u32 current_tile_id; ct_desc = NULL; current_tile_id = vexpress_get_procid(VEXPRESS_SITE_MASTER) & V2M_CT_ID_MASK; for (i = 0; i < ARRAY_SIZE(ct_descs) && !ct_desc; ++i) if (ct_descs[i]->id == current_tile_id) ct_desc = ct_descs[i]; if (!ct_desc) panic("vexpress: this kernel does not support core tile ID 0x%08x when booting via ATAGs.\n" "You may need a device tree blob or a different kernel to boot on this board.\n", current_tile_id); }