Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84749a58 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/rfi-flush: Always enable fallback flush on pseries



This ensures the fallback flush area is always allocated on pseries,
so in case a LPAR is migrated from a patched to an unpatched system,
it is possible to enable the fallback flush in the target system.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Signed-off-by: default avatarMauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent abf110f3
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -468,26 +468,18 @@ static void pseries_setup_rfi_flush(void)

	/* Enable by default */
	enable = true;
	types = L1D_FLUSH_FALLBACK;

	rc = plpar_get_cpu_characteristics(&result);
	if (rc == H_SUCCESS) {
		types = L1D_FLUSH_NONE;

		if (result.character & H_CPU_CHAR_L1D_FLUSH_TRIG2)
			types |= L1D_FLUSH_MTTRIG;
		if (result.character & H_CPU_CHAR_L1D_FLUSH_ORI30)
			types |= L1D_FLUSH_ORI;

		/* Use fallback if nothing set in hcall */
		if (types == L1D_FLUSH_NONE)
			types = L1D_FLUSH_FALLBACK;

		if ((!(result.behaviour & H_CPU_BEHAV_L1D_FLUSH_PR)) ||
		    (!(result.behaviour & H_CPU_BEHAV_FAVOUR_SECURITY)))
			enable = false;
	} else {
		/* Default to fallback if case hcall is not available */
		types = L1D_FLUSH_FALLBACK;
	}

	setup_rfi_flush(types, enable);