arm/ast2600: Fix SMP booting with -kernel
The ast2600 machines do not have PSCI firmware, so this property should have never been set. Removing this node fixes SMP booting Linux kernels that have PSCI enabled, as Linux fails to find PSCI in the device tree and falls back to the soc-specific method for enabling secondary CPUs. The comment is out of date as Qemu has supported -kernel booting since9bb6d14081("aspeed: Add boot stub for smp booting"), in v5.1. Fixes:f25c0ae107("aspeed/soc: Add AST2600 support") Signed-off-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Cédric Le Goater <clg@kaod.org> Tested-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20210303010505.635621-1-joel@jms.id.au> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
		
				
					committed by
					
						
						Cédric Le Goater
					
				
			
			
				
	
			
			
			
						parent
						
							229a834518
						
					
				
				
					commit
					a4ea92013d
				
			@@ -241,8 +241,6 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
 | 
			
		||||
 | 
			
		||||
    /* CPU */
 | 
			
		||||
    for (i = 0; i < sc->num_cpus; i++) {
 | 
			
		||||
        object_property_set_int(OBJECT(&s->cpu[i]), "psci-conduit",
 | 
			
		||||
                                QEMU_PSCI_CONDUIT_SMC, &error_abort);
 | 
			
		||||
        if (sc->num_cpus > 1) {
 | 
			
		||||
            object_property_set_int(OBJECT(&s->cpu[i]), "reset-cbar",
 | 
			
		||||
                                    ASPEED_A7MPCORE_ADDR, &error_abort);
 | 
			
		||||
@@ -253,11 +251,6 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
 | 
			
		||||
        object_property_set_int(OBJECT(&s->cpu[i]), "cntfrq", 1125000000,
 | 
			
		||||
                                &error_abort);
 | 
			
		||||
 | 
			
		||||
        /*
 | 
			
		||||
         * TODO: the secondary CPUs are started and a boot helper
 | 
			
		||||
         * is needed when using -kernel
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user