Message ID | 20210820114000.166527-3-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: Cleanup and maintenance | expand |
On 20/08/2021 13.39, Janosch Frank wrote: > UV home addresses don't require us to be in home space but we need to > have it set up so hw/fw can use the home asce to translate home > virtual addresses. > > Hence we add a comment why we're setting up the home asce and remove > the address space since it's unneeded. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > --- > s390x/uv-host.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/s390x/uv-host.c b/s390x/uv-host.c > index 426a67f6..28035707 100644 > --- a/s390x/uv-host.c > +++ b/s390x/uv-host.c > @@ -444,13 +444,18 @@ static void test_clear(void) > > static void setup_vmem(void) > { > - uint64_t asce, mask; > + uint64_t asce; > > setup_mmu(get_max_ram_size(), NULL); > + /* > + * setup_mmu() will enable DAT and set the primary address > + * space but we need to have a valid home space since UV calls > + * take home space virtual addresses. > + * > + * Hence we just copy the primary asce into the home space. > + */ > asce = stctg(1); > lctlg(13, asce); > - mask = extract_psw_mask() | 0x0000C00000000000UL; > - load_psw_mask(mask); > } > > int main(void) > Acked-by: Thomas Huth <thuth@redhat.com>
diff --git a/s390x/uv-host.c b/s390x/uv-host.c index 426a67f6..28035707 100644 --- a/s390x/uv-host.c +++ b/s390x/uv-host.c @@ -444,13 +444,18 @@ static void test_clear(void) static void setup_vmem(void) { - uint64_t asce, mask; + uint64_t asce; setup_mmu(get_max_ram_size(), NULL); + /* + * setup_mmu() will enable DAT and set the primary address + * space but we need to have a valid home space since UV calls + * take home space virtual addresses. + * + * Hence we just copy the primary asce into the home space. + */ asce = stctg(1); lctlg(13, asce); - mask = extract_psw_mask() | 0x0000C00000000000UL; - load_psw_mask(mask); } int main(void)