diff --git a/board_enable.c b/board_enable.c
index 7e18a5d99edad8ad37e1e3ba68eff8c5c842ee05..feee3b84ad53f57549b5c58edc76f8890b86cf5b 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -860,6 +860,25 @@ const struct board_info boards_bad[] = {
 	{},
 };
 
+/* Please keep this list alphabetically ordered by vendor/board. */
+const struct board_info laptops_ok[] = {
+	/* Verified working laptops. */
+	{ "Lenovo",		"3000 V100 TF05Cxx", },
+
+	{},
+};
+
+/* Please keep this list alphabetically ordered by vendor/board. */
+const struct board_info laptops_bad[] = {
+	/* Verified non-working boards (for now). */
+	{ "Acer",		"Aspire One", },
+	{ "Dell",		"Latitude CPi A366XT", },
+	{ "IBM/Lenovo",		"Thinkpad T40p", },
+	{ "IBM/Lenovo",		"240", },
+
+	{},
+};
+
 /**
  * Match boards on coreboot table gathered vendor and part name.
  * Require main PCI IDs to match too as extra safety.
diff --git a/flash.h b/flash.h
index 88dcda24770e2125482844d9b9e711a914f86b35..23c4fe6f80d0f50a47612cd1fafd124f262aa9cd 100644
--- a/flash.h
+++ b/flash.h
@@ -250,6 +250,8 @@ struct board_info {
 
 extern const struct board_info boards_ok[];
 extern const struct board_info boards_bad[];
+extern const struct board_info laptops_ok[];
+extern const struct board_info laptops_bad[];
 
 /* udelay.c */
 void myusec_delay(int usecs);
diff --git a/print.c b/print.c
index 89a7602ec418d1a63a7481e0f1d309139fbc50c1..235c7259802f83e527927fcf05036a872b1a9a76 100644
--- a/print.c
+++ b/print.c
@@ -167,13 +167,15 @@ void print_supported_chipsets(void)
 	}
 }
 
-void print_supported_boards_helper(const struct board_info *b)
+void print_supported_boards_helper(const struct board_info *b, const char *msg)
 {
 	int i, j, boardcount = 0;
 
 	for (i = 0; b[i].vendor != NULL; i++)
 		boardcount++;
 
+	printf("\n%s (total: %d):\n\n", msg, boardcount);
+
 	for (i = 0; b[i].vendor != NULL; i++) {
 		printf("%s", b[i].vendor);
 		for (j = 0; j < 25 - strlen(b[i].vendor); j++)
@@ -210,15 +212,12 @@ void print_supported_boards(void)
 			printf("(none, board is autodetected)\n");
 	}
 
-	for (i = 0, boardcount = 0; boards_ok[i].vendor != NULL; i++)
-		boardcount++;
-	printf("\nSupported boards which don't need write-enable code "
-	       "(total: %d):\n\n", boardcount);
-	print_supported_boards_helper(boards_ok);
-
-	for (i = 0, boardcount = 0; boards_bad[i].vendor != NULL; i++)
-		boardcount++;
-	printf("\nBoards which have been verified to NOT work yet "
-	       "(total: %d):\n\n", boardcount);
-	print_supported_boards_helper(boards_bad);
+	print_supported_boards_helper(boards_ok,
+		"Supported boards which don't need write-enable code");
+	print_supported_boards_helper(boards_bad,
+		"Boards which have been verified to NOT work yet");
+	print_supported_boards_helper(laptops_ok,
+		"Laptops which have been verified to work");
+	print_supported_boards_helper(laptops_bad,
+		"Laptops which have been verified to NOT work yet");
 }