Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jan 2020 18:49:19 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r357304 - head/sys/arm64/arm64
Message-ID:  <202001301849.00UInJeO062565@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Thu Jan 30 18:49:19 2020
New Revision: 357304
URL: https://svnweb.freebsd.org/changeset/base/357304

Log:
  Shift the ITS processor ID after reading it.
  
  When using the processor ID value we mask off the low and high bits that
  should be zero. Unfortunatly we don't shift the ID value so it won't be
  affected. Add the shift when reading the ID as this will need to align
  with the address based target value.
  
  MFC after:	2 weeks
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/arm64/arm64/gicv3_its.c

Modified: head/sys/arm64/arm64/gicv3_its.c
==============================================================================
--- head/sys/arm64/arm64/gicv3_its.c	Thu Jan 30 18:34:08 2020	(r357303)
+++ head/sys/arm64/arm64/gicv3_its.c	Thu Jan 30 18:49:19 2020	(r357304)
@@ -685,7 +685,8 @@ its_init_cpu(device_t dev, struct gicv3_its_softc *sc)
 		target = vtophys(rman_get_virtual(&rpcpu->res));
 	} else {
 		/* This ITS wants the unique processor number */
-		target = GICR_TYPER_CPUNUM(gic_r_read_8(gicv3, GICR_TYPER));
+		target = GICR_TYPER_CPUNUM(gic_r_read_8(gicv3, GICR_TYPER)) <<
+		    CMD_TARGET_SHIFT;
 	}
 
 	sc->sc_its_cols[cpuid]->col_target = target;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001301849.00UInJeO062565>