1 /* 2 * vlock.h - simple voting lock implementation 3 * 4 * Created by: Dave Martin, 2012-08-16 5 * Copyright: (C) 2012-2013 Linaro Limited 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17 #ifndef __VLOCK_H 18 #define __VLOCK_H 19 20 #include <asm/mcpm.h> 21 22 /* Offsets and sizes are rounded to a word (4 bytes) */ 23 #define VLOCK_OWNER_OFFSET 0 24 #define VLOCK_VOTING_OFFSET 4 25 #define VLOCK_VOTING_SIZE ((MAX_CPUS_PER_CLUSTER + 3) / 4 * 4) 26 #define VLOCK_SIZE (VLOCK_VOTING_OFFSET + VLOCK_VOTING_SIZE) 27 #define VLOCK_OWNER_NONE 0 28 29 #endif /* ! __VLOCK_H */ 30