[dpdk-dev] [PATCH v3] eal_common_cpuflags: Fix %rbx corruption, and simplify the code

Neil Horman nhorman at tuxdriver.com
Mon Mar 24 20:52:06 CET 2014


On Mon, Mar 24, 2014 at 11:09:52AM -0700, H. Peter Anvin wrote:
> On 03/24/2014 10:44 AM, Neil Horman wrote:
> > * Modified cpuid_reg enum to start at 1 rather than zero
> > * Added CPUID_REG macro to drop enum value by 1 during access
> 
> I guess I don't get it... why?
> 
To add an extra sanity check in rte_get_flag_enabled.  If we were moving to the
use of C99 initalizers, I wanted something to catch the possibility that we skip
a flag by accident (i.e. leave a zero initalized hole in the array).  Except 0
from my read is a valid value for all the fields of the array.  So I bumped up
the cpuid register enum by one and wrapped it in a macro.  That way we can test
for !feat->reg as an indicator that we're requesting feature support for a flag
thats not listed in the array.
Neil

> 	-hpa
> 
> 


More information about the dev mailing list