1 /* 2 * xen/arch/arm/arm32/proc-caxx.c 3 * 4 * arm V7 Cortex A15 and A7 initialisation 5 * 6 * Julien Grall <julien.grall@linaro.org> 7 * Copyright (c) 2014 Linaro Limited. 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 */ 19 #include <asm/procinfo.h> 20 #include <asm/processor.h> 21 22 #define ACTLR_SMP (1 << 6) 23 caxx_vcpu_initialise(struct vcpu * v)24static void caxx_vcpu_initialise(struct vcpu *v) 25 { 26 /* If the guest has more 1 VCPU, enable the SMP bit in ACTLR */ 27 if ( v->domain->max_vcpus > 1 ) 28 v->arch.actlr |= ACTLR_SMP; 29 else 30 v->arch.actlr &= ~ACTLR_SMP; 31 } 32 33 const struct processor caxx_processor = { 34 .vcpu_initialise = caxx_vcpu_initialise, 35 }; 36