meta-xilinx-standalone: microblaze_dtb fix config gen
The configuration generation had a typo in 'divide-hard'.
Fixed a logic error with '!' table operator.  Before fpu-soft
was effectively always on, even when it shouldn't be.
@@ -12,6 +12,9 @@ import sys
# if is not defined
#
# Otherwise 'condition' and value are evaluated by type.
+#
+# If the condition is = then any value of condition_values will set it
+# If the condition is ! then no value of condition_values will set it
microblaze_tune_features = {
'microblaze' : (None, None, None),
@@ -23,7 +26,7 @@ microblaze_tune_features = {
'frequency-optimized': ('xlnx,area-optimized', '=', 2),
'multiply-low': ('xlnx,use-hw-mul', '=', 1),
'multiply-high': ('xlnx,use-hw-mul', '=', 2),
- 'divide-high': ('xlnx,use-div', '=', 1),
+ 'divide-hard': ('xlnx,use-div', '=', 1),
'fpu-soft': ('xlnx,use-fpu', '!', [1,2]),
'fpu-hard': ('xlnx,use-fpu', '=', 1),
'fpu-hard-extended':('xlnx,use-fpu', '=', 2),
@@ -73,21 +76,14 @@ def processProperties(fdt, node):
else:
raise TypeError('Unknown type %s' % ctype)
- if cop == '!':
- if value != val:
- result = True
- else:
- result = False
- continue
-
- if cop == '=':
if value == val:
result = True
+ break
else:
result = False
- continue
- if result == True:
+ if (cop == '!' and result == False) or \
+ (cop == '=' and result == True):
TUNE_FEATURES.append(feature)
return TUNE_FEATURES
