| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 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 */ |