Index: tools/config.py
===================================================================
--- tools/config.py	(revision fb48a0e907656015204723ad5eead3719f29242e)
+++ tools/config.py	(revision f7ac3f3d2ad220b0b95c6dd22376d4500ee61835)
@@ -85,4 +85,5 @@
 	if ctype == 'cnf':
 		return True
+	
 	return False
 
@@ -242,5 +243,5 @@
 		
 		default = get_default_rule(rule)
-
+		
 		#
 		# If we don't have a value but we do have
@@ -344,4 +345,20 @@
 	return True
 
+def preprocess_config(config, rules):
+	"Preprocess configuration"
+	
+	varname_mode = 'CONFIG_BFB_MODE'
+	varname_width = 'CONFIG_BFB_WIDTH'
+	varname_height = 'CONFIG_BFB_HEIGHT'
+	
+	if varname_mode in config:
+		mode = config[varname_mode].partition('x')
+		
+		config[varname_width] = mode[0]
+		rules.append((varname_width, 'choice', 'Default framebuffer width', None, None))
+		
+		config[varname_height] = mode[2]
+		rules.append((varname_height, 'choice', 'Default framebuffer height', None, None))
+
 def create_output(mkname, mcname, config, rules):
 	"Create output configuration"
@@ -504,4 +521,5 @@
 	if (len(sys.argv) >= 3) and (sys.argv[2] == 'default'):
 		if (infer_verify_choices(config, rules)):
+			preprocess_config(config, rules)
 			create_output(MAKEFILE, MACROS, config, rules)
 			return 0
@@ -517,4 +535,5 @@
 		
 		if (infer_verify_choices(config, rules)):
+			preprocess_config(config, rules)
 			create_output(MAKEFILE, MACROS, config, rules)
 			return 0
@@ -564,5 +583,5 @@
 				
 				default = get_default_rule(rule)
-
+				
 				#
 				# If we don't have a value but we do have
@@ -626,4 +645,5 @@
 		xtui.screen_done(screen)
 	
+	preprocess_config(config, rules)
 	create_output(MAKEFILE, MACROS, config, rules)
 	return 0
