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