Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[POWERPC] Make default cputable entries reflect selected CPU family

Changes the cputable so that various CPU families that have an exclusive
CONFIG_ option have a more sensible default entry to use if the specific
processor hasn't been identified.

This makes the kernel more generally useful when booted on an unknown
PVR for things like new 4xx variants.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Benjamin Herrenschmidt and committed by
Paul Mackerras
76bc080e 2a5f2e3e

+43 -10
+43 -10
arch/powerpc/kernel/cputable.c
··· 1208 1208 .machine_check = machine_check_4xx, 1209 1209 .platform = "ppc405", 1210 1210 }, 1211 + { /* default match */ 1212 + .pvr_mask = 0x00000000, 1213 + .pvr_value = 0x00000000, 1214 + .cpu_name = "(generic 40x PPC)", 1215 + .cpu_features = CPU_FTRS_40X, 1216 + .cpu_user_features = PPC_FEATURE_32 | 1217 + PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC, 1218 + .icache_bsize = 32, 1219 + .dcache_bsize = 32, 1220 + .machine_check = machine_check_4xx, 1221 + .platform = "ppc405", 1222 + } 1211 1223 1212 1224 #endif /* CONFIG_40x */ 1213 1225 #ifdef CONFIG_44x ··· 1433 1421 .machine_check = machine_check_440A, 1434 1422 .platform = "ppc440", 1435 1423 }, 1424 + { /* default match */ 1425 + .pvr_mask = 0x00000000, 1426 + .pvr_value = 0x00000000, 1427 + .cpu_name = "(generic 44x PPC)", 1428 + .cpu_features = CPU_FTRS_44X, 1429 + .cpu_user_features = COMMON_USER_BOOKE, 1430 + .icache_bsize = 32, 1431 + .dcache_bsize = 32, 1432 + .machine_check = machine_check_4xx, 1433 + .platform = "ppc440", 1434 + } 1436 1435 #endif /* CONFIG_44x */ 1437 - #ifdef CONFIG_FSL_BOOKE 1438 1436 #ifdef CONFIG_E200 1439 1437 { /* e200z5 */ 1440 1438 .pvr_mask = 0xfff00000, ··· 1473 1451 .machine_check = machine_check_e200, 1474 1452 .platform = "ppc5554", 1475 1453 }, 1476 - #elif defined(CONFIG_E500) 1454 + { /* default match */ 1455 + .pvr_mask = 0x00000000, 1456 + .pvr_value = 0x00000000, 1457 + .cpu_name = "(generic E200 PPC)", 1458 + .cpu_features = CPU_FTRS_E200, 1459 + .cpu_user_features = COMMON_USER_BOOKE | 1460 + PPC_FEATURE_HAS_EFP_SINGLE | 1461 + PPC_FEATURE_UNIFIED_CACHE, 1462 + .dcache_bsize = 32, 1463 + .machine_check = machine_check_e200, 1464 + .platform = "ppc5554", 1465 + #endif /* CONFIG_E200 */ 1466 + #ifdef CONFIG_E500 1477 1467 { /* e500 */ 1478 1468 .pvr_mask = 0xffff0000, 1479 1469 .pvr_value = 0x80200000, ··· 1521 1487 .machine_check = machine_check_e500, 1522 1488 .platform = "ppc8548", 1523 1489 }, 1524 - #endif 1525 - #endif 1526 - #if !CLASSIC_PPC 1527 1490 { /* default match */ 1528 1491 .pvr_mask = 0x00000000, 1529 1492 .pvr_value = 0x00000000, 1530 - .cpu_name = "(generic PPC)", 1531 - .cpu_features = CPU_FTRS_GENERIC_32, 1532 - .cpu_user_features = PPC_FEATURE_32, 1493 + .cpu_name = "(generic E500 PPC)", 1494 + .cpu_features = CPU_FTRS_E500, 1495 + .cpu_user_features = COMMON_USER_BOOKE | 1496 + PPC_FEATURE_HAS_SPE_COMP | 1497 + PPC_FEATURE_HAS_EFP_SINGLE_COMP, 1533 1498 .icache_bsize = 32, 1534 1499 .dcache_bsize = 32, 1500 + .machine_check = machine_check_e500, 1535 1501 .platform = "powerpc", 1536 - } 1537 - #endif /* !CLASSIC_PPC */ 1502 + #endif /* CONFIG_E500 */ 1538 1503 #endif /* CONFIG_PPC32 */ 1539 1504 }; 1540 1505