forked from Mirrors/opensbi
		
	include: Move bits related defines and macros to sbi_bitops.h
The right location for all bits related defines and macros is sbi_bitops.h hence this patch. With this patch, the sbi_bits.h is redundant so we remove it. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
This commit is contained in:
		@@ -38,7 +38,6 @@
 | 
			
		||||
#define LGREG		__REG_SEL(3, 2)
 | 
			
		||||
 | 
			
		||||
#if __SIZEOF_POINTER__ == 8
 | 
			
		||||
#define BITS_PER_LONG		64
 | 
			
		||||
#ifdef __ASSEMBLY__
 | 
			
		||||
#define RISCV_PTR		.dword
 | 
			
		||||
#define RISCV_SZPTR		8
 | 
			
		||||
@@ -49,7 +48,6 @@
 | 
			
		||||
#define RISCV_LGPTR		"3"
 | 
			
		||||
#endif
 | 
			
		||||
#elif __SIZEOF_POINTER__ == 4
 | 
			
		||||
#define BITS_PER_LONG		32
 | 
			
		||||
#ifdef __ASSEMBLY__
 | 
			
		||||
#define RISCV_PTR		.word
 | 
			
		||||
#define RISCV_SZPTR		4
 | 
			
		||||
 
 | 
			
		||||
@@ -10,8 +10,23 @@
 | 
			
		||||
#ifndef __SBI_BITOPS_H__
 | 
			
		||||
#define __SBI_BITOPS_H__
 | 
			
		||||
 | 
			
		||||
#include <sbi/sbi_bits.h>
 | 
			
		||||
#include <sbi/riscv_asm.h>
 | 
			
		||||
#include <sbi/sbi_types.h>
 | 
			
		||||
 | 
			
		||||
#if __SIZEOF_POINTER__ == 8
 | 
			
		||||
#define BITS_PER_LONG		64
 | 
			
		||||
#elif __SIZEOF_POINTER__ == 4
 | 
			
		||||
#define BITS_PER_LONG		32
 | 
			
		||||
#else
 | 
			
		||||
#error "Unexpected __SIZEOF_POINTER__"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define EXTRACT_FIELD(val, which) \
 | 
			
		||||
	(((val) & (which)) / ((which) & ~((which)-1)))
 | 
			
		||||
#define INSERT_FIELD(val, which, fieldval) \
 | 
			
		||||
	(((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1))))
 | 
			
		||||
 | 
			
		||||
#define BIT_MASK(nr)		(1UL << ((nr) % BITS_PER_LONG))
 | 
			
		||||
#define BIT_WORD(nr)		((nr) / BITS_PER_LONG)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ffs - Find first bit set
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * SPDX-License-Identifier: BSD-2-Clause
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (c) 2019 Western Digital Corporation or its affiliates.
 | 
			
		||||
 *
 | 
			
		||||
 * Authors:
 | 
			
		||||
 *   Anup Patel <anup.patel@wdc.com>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __SBI_BITS_H__
 | 
			
		||||
#define __SBI_BITS_H__
 | 
			
		||||
 | 
			
		||||
#define EXTRACT_FIELD(val, which) (((val) & (which)) / ((which) & ~((which)-1)))
 | 
			
		||||
#define INSERT_FIELD(val, which, fieldval) \
 | 
			
		||||
	(((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1))))
 | 
			
		||||
 | 
			
		||||
#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
 | 
			
		||||
#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
 | 
			
		||||
#endif
 | 
			
		||||
		Reference in New Issue
	
	Block a user